From 3bb9ef8a12ee71a16887ca73a86b6fc8eaa183fe Mon Sep 17 00:00:00 2001
From: Dominik <info@profi-webdesign.com>
Date: Tue, 14 Apr 2015 18:08:05 -0400
Subject: [PATCH] changed sql-syntax

---
 install/lib/installer_base.lib.php |   69 +++++++++++++++++++++-------------
 1 files changed, 43 insertions(+), 26 deletions(-)

diff --git a/install/lib/installer_base.lib.php b/install/lib/installer_base.lib.php
index 8fd1862..cf9b519 100644
--- a/install/lib/installer_base.lib.php
+++ b/install/lib/installer_base.lib.php
@@ -694,6 +694,9 @@
 		//* mysql-virtual_sender.cf
 		$this->process_postfix_config('mysql-virtual_sender.cf');
 
+		//* mysql-virtual_sender_login_maps.cf
+		$this->process_postfix_config('mysql-virtual_sender_login_maps.cf');
+
 		//* mysql-virtual_client.cf
 		$this->process_postfix_config('mysql-virtual_client.cf');
 
@@ -745,13 +748,18 @@
 			}
 		}
 		unset($rbl_hosts);
-		unset($server_ini_array);
 
 		//* If Postgrey is installed, configure it
 		$greylisting = '';
 		if($conf['postgrey']['installed'] == true) {
-			$greylisting = 'check_recipient_access mysql:/etc/postfix/mysql-virtual_policy_greylist.cf';
+			$greylisting = ', check_recipient_access mysql:/etc/postfix/mysql-virtual_policy_greylist.cf';
 		}
+		
+		$reject_sender_login_mismatch = '';
+		if(isset($server_ini_array['mail']['reject_sender_login_mismatch']) && ($server_ini_array['mail']['reject_sender_login_mismatch'] == 'y')) {
+			$reject_sender_login_mismatch = ', reject_authenticated_sender_login_mismatch';
+		}
+		unset($server_ini_array);
 		
 		$postconf_placeholders = array('{config_dir}' => $config_dir,
 			'{vmail_mailbox_base}' => $cf['vmail_mailbox_base'],
@@ -759,6 +767,7 @@
 			'{vmail_groupid}' => $cf['vmail_groupid'],
 			'{rbl_list}' => $rbl_list,
 			'{greylisting}' => $greylisting,
+			'{reject_slm}' => $reject_sender_login_mismatch,
 		);
 
 		$postconf_tpl = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/debian_postfix.conf.master', 'tpl/debian_postfix.conf.master');
@@ -1309,7 +1318,7 @@
 	}
 
 
-    public function configure_xmpp() {
+    public function configure_xmpp($options = '') {
         global $conf;
 
         if($conf['xmpp']['installed'] == false) return;
@@ -1349,34 +1358,42 @@
         $content = str_replace('{server_id}', $conf['server_id'], $content);
         wf($full_file_name, $content);
 
-        // Create SSL Certificate for localhost
-        echo "writing new private key to 'localhost.key'\n-----\n";
-        $ssl_country = $this->free_query('Country Name (2 letter code)', 'AU');
-        $ssl_locality = $this->free_query('Locality Name (eg, city)', '');
-        $ssl_organisation = $this->free_query('Organization Name (eg, company)', 'Internet Widgits Pty Ltd');
-        $ssl_organisation_unit = $this->free_query('Organizational Unit Name (eg, section)', '');
-        $ssl_domain = $this->free_query('Common Name (e.g. server FQDN or YOUR name)', $conf['hostname']);
-        $ssl_email = $this->free_query('Email Address', '');
+        if(!stristr($options, 'dont-create-certs')){
+            // Create SSL Certificate for localhost
+            echo "writing new private key to 'localhost.key'\n-----\n";
+            $ssl_country = $this->free_query('Country Name (2 letter code)', 'AU');
+            $ssl_locality = $this->free_query('Locality Name (eg, city)', '');
+            $ssl_organisation = $this->free_query('Organization Name (eg, company)', 'Internet Widgits Pty Ltd');
+            $ssl_organisation_unit = $this->free_query('Organizational Unit Name (eg, section)', '');
+            $ssl_domain = $this->free_query('Common Name (e.g. server FQDN or YOUR name)', $conf['hostname']);
+            $ssl_email = $this->free_query('Email Address', '');
 
-        $tpl = new tpl('metronome_conf_ssl.master');
-        $tpl->setVar('ssl_country',$ssl_country);
-        $tpl->setVar('ssl_locality',$ssl_locality);
-        $tpl->setVar('ssl_organisation',$ssl_organisation);
-        $tpl->setVar('ssl_organisation_unit',$ssl_organisation_unit);
-        $tpl->setVar('domain',$ssl_domain);
-        $tpl->setVar('ssl_email',$ssl_email);
-        wf('/etc/metronome/certs/localhost.cnf', $tpl->grab());
-        unset($tpl);
-        // Generate new key, csr and cert
-        exec("(cd /etc/metronome/certs && make localhost.key)");
-        exec("(cd /etc/metronome/certs && make localhost.csr)");
-        exec("(cd /etc/metronome/certs && make localhost.cert)");
-        exec('chmod 0400 /etc/metronome/certs/localhost.key');
-        exec('chown metronome /etc/metronome/certs/localhost.key');
+            $tpl = new tpl('metronome_conf_ssl.master');
+            $tpl->setVar('ssl_country',$ssl_country);
+            $tpl->setVar('ssl_locality',$ssl_locality);
+            $tpl->setVar('ssl_organisation',$ssl_organisation);
+            $tpl->setVar('ssl_organisation_unit',$ssl_organisation_unit);
+            $tpl->setVar('domain',$ssl_domain);
+            $tpl->setVar('ssl_email',$ssl_email);
+            wf('/etc/metronome/certs/localhost.cnf', $tpl->grab());
+            unset($tpl);
+            // Generate new key, csr and cert
+            exec("(cd /etc/metronome/certs && make localhost.key)");
+            exec("(cd /etc/metronome/certs && make localhost.csr)");
+            exec("(cd /etc/metronome/certs && make localhost.cert)");
+            exec('chmod 0400 /etc/metronome/certs/localhost.key');
+            exec('chown metronome /etc/metronome/certs/localhost.key');
+        }else{
+            echo "-----\n";
+            echo "Metronome XMPP SSL server certificate is not renewed. Run the following command manual as root to recreate it:\n";
+            echo "# (cd /etc/metronome/certs && make localhost.key && make localhost.csr && make localhost.cert && chmod 0400 localhost.key && chown metronome localhost.key)\n";
+            echo "-----\n";
+        }
 
         // Copy init script
         caselog('cp -f apps/metronome-init /etc/init.d/metronome', __FILE__, __LINE__);
         caselog('chmod u+x /etc/init.d/metronome', __FILE__, __LINE__);
+        caselog('update-rc.d metronome defaults', __FILE__, __LINE__);
 
         exec($this->getinitcommand('xmpp', 'restart'));
 

--
Gitblit v1.9.1