From 28cd07d1a75c4e9dcaecac49efee0091f2fc62fa Mon Sep 17 00:00:00 2001
From: A. Täffner <darkalex@firesplash.de>
Date: Thu, 07 Apr 2016 05:30:49 -0400
Subject: [PATCH] Implemented a checkbox "enable DNSSEC" in DNS-Wizard. This Checkbox can be enabled or disabled by template.
---
install/dist/lib/fedora.lib.php | 82 ++++++++++++++++++++++-------------------
1 files changed, 44 insertions(+), 38 deletions(-)
diff --git a/install/dist/lib/fedora.lib.php b/install/dist/lib/fedora.lib.php
index cbc39de..d65ac80 100644
--- a/install/dist/lib/fedora.lib.php
+++ b/install/dist/lib/fedora.lib.php
@@ -349,27 +349,24 @@
}
}
- $config_dir = $conf['dovecot']['config_dir'];
-
- //* Use /etc/dovecot as config dir if exists
- if(is_dir('/etc/dovecot')) $config_dir = '/etc/dovecot';
+ $config_dir = $conf['postfix']['config_dir'];
//* Configure master.cf and add a line for deliver
- if(is_file($config_dir.'/master.cf')){
- copy($config_dir.'/master.cf', $config_dir.'/master.cf~2');
- }
- if(is_file($config_dir.'/master.cf~')){
- exec('chmod 400 '.$config_dir.'/master.cf~2');
- }
- $content = rf($conf["postfix"]["config_dir"].'/master.cf');
- // Only add the content if we had not addded it before
- if(!stristr($content, "dovecot/deliver")) {
- $deliver_content = 'dovecot unix - n n - - pipe'."\n".' flags=DROhu user=vmail:vmail argv=/usr/libexec/dovecot/deliver -f ${sender} -d ${user}@${nexthop}';
+ if(!$this->get_postfix_service('dovecot', 'unix')) {
+ //* backup
+ if(is_file($config_dir.'/master.cf')){
+ copy($config_dir.'/master.cf', $config_dir.'/master.cf~2');
+ }
+ if(is_file($config_dir.'/master.cf~')){
+ chmod($config_dir.'/master.cf~2', 0400);
+ }
+ //* Configure master.cf and add a line for deliver
+ $content = rf($conf["postfix"]["config_dir"].'/master.cf');
+ $deliver_content = 'dovecot unix - n n - - pipe'."\n".' flags=DRhu user=vmail:vmail argv=/usr/libexec/dovecot/deliver -f ${sender} -d ${user}@${nexthop}'."\n";
af($conf["postfix"]["config_dir"].'/master.cf', $deliver_content);
+ unset($content);
+ unset($deliver_content);
}
- unset($content);
- unset($deliver_content);
-
//* Reconfigure postfix to use dovecot authentication
// Adding the amavisd commands to the postfix configuration
@@ -388,6 +385,10 @@
$command = "postconf -e '$cmd'";
caselog($command." &> /dev/null", __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
}
+
+ //* Use /etc/dovecot as config dir if exists
+// if(is_dir('/etc/dovecot')) $config_dir = '/etc/dovecot';
+ $config_dir = $conf['dovecot']['config_dir'];
//* backup dovecot.conf
$configfile = 'dovecot.conf';
@@ -482,28 +483,33 @@
caselog($command." &> /dev/null", __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
}
- // Append the configuration for amavisd to the master.cf file
- if(is_file($conf['postfix']['config_dir'].'/master.cf')) copy($conf['postfix']['config_dir'].'/master.cf', $conf['postfix']['config_dir'].'/master.cf~');
- $content = rf($conf['postfix']['config_dir'].'/master.cf');
- // Only add the content if we had not addded it before
- if(!preg_match('/^amavis\s+unix\s+/m', $content)) {
- unset($content);
- $content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/master_cf_amavis.master', 'tpl/master_cf_amavis.master');
- af($conf['postfix']['config_dir'].'/master.cf', $content);
- $content = rf($conf['postfix']['config_dir'].'/master.cf');
+ $config_dir = $conf['postfix']['config_dir'];
+
+ // Adding amavis-services to the master.cf file if the service does not already exists
+ $add_amavis = !$this->get_postfix_service('amavis','unix');
+ $add_amavis_10025 = !$this->get_postfix_service('127.0.0.1:10025','inet');
+ $add_amavis_10027 = !$this->get_postfix_service('127.0.0.1:10027','inet');
+
+ if ($add_amavis || $add_amavis_10025 || $add_amavis_10027) {
+ //* backup master.cf
+ if(is_file($config_dir.'/master.cf')) copy($config_dir.'/master.cf', $config_dir.'/master.cf~');
+ // adjust amavis-config
+ if($add_amavis) {
+ $content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/master_cf_amavis.master', 'tpl/master_cf_amavis.master');
+ af($config_dir.'/master.cf', $content);
+ unset($content);
+ }
+ if ($add_amavis_10025) {
+ $content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/master_cf_amavis10025.master', 'tpl/master_cf_amavis10025.master');
+ af($config_dir.'/master.cf', $content);
+ unset($content);
+ }
+ if ($add_amavis_10027) {
+ $content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/master_cf_amavis10027.master', 'tpl/master_cf_amavis10027.master');
+ af($config_dir.'/master.cf', $content);
+ unset($content);
+ }
}
- if(!preg_match('/^127.0.0.1:10025\s+/m', $content)) {
- unset($content);
- $content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/master_cf_amavis10025.master', 'tpl/master_cf_amavis10025.master');
- af($conf['postfix']['config_dir'].'/master.cf', $content);
- $content = rf($conf['postfix']['config_dir'].'/master.cf');
- }
- if(!preg_match('/^127.0.0.1:10027\s+/m', $content)) {
- unset($content);
- $content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/master_cf_amavis10027.master', 'tpl/master_cf_amavis10027.master');
- af($conf['postfix']['config_dir'].'/master.cf', $content);
- }
- unset($content);
removeLine('/etc/sysconfig/freshclam', 'FRESHCLAM_DELAY=disabled-warn # REMOVE ME', 1);
replaceLine('/etc/freshclam.conf', 'Example', '# Example', 1);
--
Gitblit v1.9.1