From 31671f61943f46a969db979193e0c2bc1a0f1c15 Mon Sep 17 00:00:00 2001
From: Bob Mottram <bob@freedombone.net>
Date: Sun, 7 May 2017 10:52:00 +0100
Subject: [PATCH] Avoid copying xmpp certs

---
 src/freedombone-app-xmpp  | 22 ++++++++++++++--------
 src/freedombone-utils-web | 21 +++++----------------
 2 files changed, 19 insertions(+), 24 deletions(-)

diff --git a/src/freedombone-app-xmpp b/src/freedombone-app-xmpp
index 733a24d42..07697af8f 100755
--- a/src/freedombone-app-xmpp
+++ b/src/freedombone-app-xmpp
@@ -307,6 +307,9 @@ function update_prosody_modules {
 }
 
 function upgrade_xmpp_server {
+    if [ -d /etc/letsencrypt ]; then
+        usermod -a -G ssl-cert prosody
+    fi
     function_check update_prosody_modules
     update_prosody_modules
 
@@ -665,29 +668,29 @@ function xmpp_create_config {
     echo 'https_interfaces = { "*" }' >> /etc/prosody/prosody.cfg.lua
     echo 'https_ssl = {' >> /etc/prosody/prosody.cfg.lua
     if [ -f /etc/prosody/certs/${DEFAULT_DOMAIN_NAME}.pem ]; then
-        echo "    certificate = \"/etc/prosody/certs/${DEFAULT_DOMAIN_NAME}.pem\";" >> /etc/prosody/prosody.cfg.lua
+        echo "    certificate = \"/etc/ssl/certs/${DEFAULT_DOMAIN_NAME}.pem\";" >> /etc/prosody/prosody.cfg.lua
     else
-        echo "    certificate = \"/etc/prosody/certs/${DEFAULT_DOMAIN_NAME}.crt\";" >> /etc/prosody/prosody.cfg.lua
+        echo "    certificate = \"/etc/ssl/certs/${DEFAULT_DOMAIN_NAME}.crt\";" >> /etc/prosody/prosody.cfg.lua
     fi
-    echo "    key = \"/etc/prosody/certs/${DEFAULT_DOMAIN_NAME}.key\";" >> /etc/prosody/prosody.cfg.lua
+    echo "    key = \"/etc/ssl/private/${DEFAULT_DOMAIN_NAME}.key\";" >> /etc/prosody/prosody.cfg.lua
     echo "    curve = $XMPP_ECC_CURVE;" >> /etc/prosody/prosody.cfg.lua
     echo "    ciphers = $XMPP_CIPHERS;" >> /etc/prosody/prosody.cfg.lua
     echo '    options = {"no_sslv2", "no_sslv3" };' >> /etc/prosody/prosody.cfg.lua
-    echo "    dhparam = \"/etc/prosody/certs/${DEFAULT_DOMAIN_NAME}.dhparam\";" >> /etc/prosody/prosody.cfg.lua
+    echo "    dhparam = \"/etc/ssl/certs/${DEFAULT_DOMAIN_NAME}.dhparam\";" >> /etc/prosody/prosody.cfg.lua
     echo "}" >> /etc/prosody/prosody.cfg.lua
     echo '' >> /etc/prosody/prosody.cfg.lua
     echo 'ssl = {' >> /etc/prosody/prosody.cfg.lua
-    echo "    key = \"/etc/prosody/certs/${DEFAULT_DOMAIN_NAME}.key\";" >> /etc/prosody/prosody.cfg.lua
+    echo "    key = \"/etc/ssl/private/${DEFAULT_DOMAIN_NAME}.key\";" >> /etc/prosody/prosody.cfg.lua
     if [ -f /etc/prosody/certs/${DEFAULT_DOMAIN_NAME}.pem ]; then
-        echo "    certificate = \"/etc/prosody/certs/${DEFAULT_DOMAIN_NAME}.pem\";" >> /etc/prosody/prosody.cfg.lua
+        echo "    certificate = \"/etc/ssl/certs/${DEFAULT_DOMAIN_NAME}.pem\";" >> /etc/prosody/prosody.cfg.lua
     else
-        echo "    certificate = \"/etc/prosody/certs/${DEFAULT_DOMAIN_NAME}.crt\";" >> /etc/prosody/prosody.cfg.lua
+        echo "    certificate = \"/etc/ssl/certs/${DEFAULT_DOMAIN_NAME}.crt\";" >> /etc/prosody/prosody.cfg.lua
     fi
     echo "    curve = $XMPP_ECC_CURVE;" >> /etc/prosody/prosody.cfg.lua
     echo '    depth = "1";' >> /etc/prosody/prosody.cfg.lua
     echo "    ciphers = $XMPP_CIPHERS;" >> /etc/prosody/prosody.cfg.lua
     echo '    options = {"no_sslv2", "no_sslv3" };' >> /etc/prosody/prosody.cfg.lua
-    echo "    dhparam = \"/etc/prosody/certs/${DEFAULT_DOMAIN_NAME}.dhparam\";" >> /etc/prosody/prosody.cfg.lua
+    echo "    dhparam = \"/etc/ssl/certs/${DEFAULT_DOMAIN_NAME}.dhparam\";" >> /etc/prosody/prosody.cfg.lua
     echo '}' >> /etc/prosody/prosody.cfg.lua
     echo '' >> /etc/prosody/prosody.cfg.lua
     echo 'c2s_require_encryption = true' >> /etc/prosody/prosody.cfg.lua
@@ -977,6 +980,9 @@ function install_xmpp_main {
     chown -R prosody /usr/lib/prosody
     chmod -R 700 /etc/prosody/conf.d
 
+    if [ -d /etc/letsencrypt ]; then
+        usermod -a -G ssl-cert prosody
+    fi
     systemctl restart prosody
 
     if [[ $ONION_ONLY != 'no' ]]; then
diff --git a/src/freedombone-utils-web b/src/freedombone-utils-web
index 3babfdc52..f1be96562 100755
--- a/src/freedombone-utils-web
+++ b/src/freedombone-utils-web
@@ -711,24 +711,13 @@ function update_default_domain {
             fi
 
             cp /etc/ssl/private/xmpp* /etc/prosody/certs
-            cp /etc/ssl/private/${DEFAULT_DOMAIN_NAME}* /etc/prosody/certs
             cp /etc/ssl/certs/xmpp* /etc/prosody/certs
-            cp /etc/ssl/certs/${DEFAULT_DOMAIN_NAME}* /etc/prosody/certs
-            if [ ! -f /etc/prosody/certs/${DEFAULT_DOMAIN_NAME}.dhparam ]; then
-                if [ -f /etc/ssl/certs/${DEFAULT_DOMAIN_NAME}.dhparam ]; then
-                    cp /etc/ssl/certs/${DEFAULT_DOMAIN_NAME}.dhparam /etc/prosody/certs/${DEFAULT_DOMAIN_NAME}.dhparam
-                fi
-            fi
-            if [ ! /etc/prosody/certs/${DEFAULT_DOMAIN_NAME}.pem ]; then
-                if [ ! /etc/prosody/certs/${DEFAULT_DOMAIN_NAME}.crt ]; then
-                    mv /etc/prosody/certs/${DEFAULT_DOMAIN_NAME}.crt /etc/prosody/certs/${DEFAULT_DOMAIN_NAME}.pem
-                fi
-            else
-                sed -i "s|/etc/prosody/certs/xmpp.key|/etc/prosody/certs/${DEFAULT_DOMAIN_NAME}.key|g" /etc/prosody/conf.avail/xmpp.cfg.lua
-                sed -i "s|/etc/prosody/certs/xmpp.crt|/etc/prosody/certs/${DEFAULT_DOMAIN_NAME}.pem|g" /etc/prosody/conf.avail/xmpp.cfg.lua
+            if [ /etc/ssl/certs/${DEFAULT_DOMAIN_NAME}.pem ]; then
+                sed -i "s|/etc/prosody/certs/xmpp.key|/etc/ssl/private/${DEFAULT_DOMAIN_NAME}.key|g" /etc/prosody/conf.avail/xmpp.cfg.lua
+                sed -i "s|/etc/prosody/certs/xmpp.crt|/etc/ssl/certs/${DEFAULT_DOMAIN_NAME}.pem|g" /etc/prosody/conf.avail/xmpp.cfg.lua
 
-                sed -i "s|/etc/prosody/certs/xmpp.key|/etc/prosody/certs/${DEFAULT_DOMAIN_NAME}.key|g" /etc/prosody/prosody.cfg.lua
-                sed -i "s|/etc/prosody/certs/xmpp.crt|/etc/prosody/certs/${DEFAULT_DOMAIN_NAME}.pem|g" /etc/prosody/prosody.cfg.lua
+                sed -i "s|/etc/prosody/certs/xmpp.key|/etc/ssl/private/${DEFAULT_DOMAIN_NAME}.key|g" /etc/prosody/prosody.cfg.lua
+                sed -i "s|/etc/prosody/certs/xmpp.crt|/etc/ssl/certs/${DEFAULT_DOMAIN_NAME}.pem|g" /etc/prosody/prosody.cfg.lua
             fi
             chown -R prosody:default /etc/prosody
             chmod -R 700 /etc/prosody/certs/*
-- 
GitLab