From fbe2d6b277ca0a593ad0704f2b20afd0b9095507 Mon Sep 17 00:00:00 2001
From: Michael Fürmann <michael@spicyweb.de>
Date: Tue, 03 Mar 2015 13:35:12 -0500
Subject: [PATCH] Added XMPP to updater

---
 install/lib/installer_base.lib.php |   55 +++++++++++++++++++++++++++++++------------------------
 1 files changed, 31 insertions(+), 24 deletions(-)

diff --git a/install/lib/installer_base.lib.php b/install/lib/installer_base.lib.php
index 8fd1862..9a1104c 100644
--- a/install/lib/installer_base.lib.php
+++ b/install/lib/installer_base.lib.php
@@ -1309,7 +1309,7 @@
 	}
 
 
-    public function configure_xmpp() {
+    public function configure_xmpp($options = '') {
         global $conf;
 
         if($conf['xmpp']['installed'] == false) return;
@@ -1349,30 +1349,37 @@
         $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__);

--
Gitblit v1.9.1