Bob Mottram 8 лет назад
Родитель
Сommit
75b27e65dc
2 измененных файлов: 22 добавлений и 8 удалений
  1. 20
    6
      src/freedombone-app-xmpp
  2. 2
    2
      src/freedombone-utils-web

+ 20
- 6
src/freedombone-app-xmpp Просмотреть файл

310
     fi
310
     fi
311
 
311
 
312
     # obtain a cert for the default domain
312
     # obtain a cert for the default domain
313
-    if [ ! -f /etc/ssl/certs/${DEFAULT_DOMAIN_NAME}.pem ]; then
313
+    if [[ $(cert_exists ${DEFAULT_DOMAIN_NAME} pem) == "0" ]]; then
314
         echo $'Obtaining certificate for the main domain'
314
         echo $'Obtaining certificate for the main domain'
315
         create_site_certificate ${DEFAULT_DOMAIN_NAME} 'yes'
315
         create_site_certificate ${DEFAULT_DOMAIN_NAME} 'yes'
316
     fi
316
     fi
339
     fi
339
     fi
340
 
340
 
341
     # create a certificate
341
     # create a certificate
342
-    if [ ! -f /etc/ssl/certs/${DEFAULT_DOMAIN_NAME}.pem ]; then
343
-        if [ ! -f /etc/ssl/certs/xmpp.dhparam ]; then
344
-            ${PROJECT_NAME}-addcert -h xmpp --dhkey $DH_KEYLENGTH
342
+    if [[ $(cert_exists ${DEFAULT_DOMAIN_NAME} pem) == "0" ]]; then
343
+        if [[ $(cert_exists ${DEFAULT_DOMAIN_NAME} xmpp) == "0" ]]; then
344
+            ${PROJECT_NAME}-addcert -h xmpp --dhkey ${DH_KEYLENGTH}
345
             check_certificates xmpp
345
             check_certificates xmpp
346
         fi
346
         fi
347
     fi
347
     fi
349
     chown prosody:prosody /etc/ssl/certs/xmpp.*
349
     chown prosody:prosody /etc/ssl/certs/xmpp.*
350
     cp -a /etc/prosody/conf.avail/example.com.cfg.lua /etc/prosody/conf.avail/xmpp.cfg.lua
350
     cp -a /etc/prosody/conf.avail/example.com.cfg.lua /etc/prosody/conf.avail/xmpp.cfg.lua
351
 
351
 
352
-    if [ -f /etc/ssl/certs/${DEFAULT_DOMAIN_NAME}.pem ]; then
352
+    if [[ $(cert_exists ${DEFAULT_DOMAIN_NAME} pem) == "1" ]]; then
353
         sed -i "s|/etc/prosody/certs/example.com.key|/etc/ssl/private/${DEFAULT_DOMAIN_NAME}.key|g" /etc/prosody/conf.avail/xmpp.cfg.lua
353
         sed -i "s|/etc/prosody/certs/example.com.key|/etc/ssl/private/${DEFAULT_DOMAIN_NAME}.key|g" /etc/prosody/conf.avail/xmpp.cfg.lua
354
         sed -i "s|/etc/prosody/certs/example.com.crt|/etc/ssl/certs/${DEFAULT_DOMAIN_NAME}.pem|g" /etc/prosody/conf.avail/xmpp.cfg.lua
354
         sed -i "s|/etc/prosody/certs/example.com.crt|/etc/ssl/certs/${DEFAULT_DOMAIN_NAME}.pem|g" /etc/prosody/conf.avail/xmpp.cfg.lua
355
     else
355
     else
357
         sed -i 's|/etc/prosody/certs/example.com.crt|/etc/ssl/certs/xmpp.crt|g' /etc/prosody/conf.avail/xmpp.cfg.lua
357
         sed -i 's|/etc/prosody/certs/example.com.crt|/etc/ssl/certs/xmpp.crt|g' /etc/prosody/conf.avail/xmpp.cfg.lua
358
     fi
358
     fi
359
     if ! grep -q "xmpp.dhparam" /etc/prosody/conf.avail/xmpp.cfg.lua; then
359
     if ! grep -q "xmpp.dhparam" /etc/prosody/conf.avail/xmpp.cfg.lua; then
360
-        if [ -f /etc/ssl/certs/${DEFAULT_DOMAIN_NAME}.dhparam ]; then
360
+        if [[ $(cert_exists ${DEFAULT_DOMAIN_NAME}) == "1" ]]; then
361
             sed -i "/certificate =/a\        dhparam = \"/etc/ssl/certs/${DEFAULT_DOMAIN_NAME}.dhparam\";" /etc/prosody/conf.avail/xmpp.cfg.lua
361
             sed -i "/certificate =/a\        dhparam = \"/etc/ssl/certs/${DEFAULT_DOMAIN_NAME}.dhparam\";" /etc/prosody/conf.avail/xmpp.cfg.lua
362
         else
362
         else
363
             sed -i '/certificate =/a\        dhparam = "/etc/ssl/certs/xmpp.dhparam";' /etc/prosody/conf.avail/xmpp.cfg.lua
363
             sed -i '/certificate =/a\        dhparam = "/etc/ssl/certs/xmpp.dhparam";' /etc/prosody/conf.avail/xmpp.cfg.lua
451
     fi
451
     fi
452
     sed -i "s/example.com/$DEFAULT_DOMAIN_NAME/g" /etc/prosody/prosody.cfg.lua
452
     sed -i "s/example.com/$DEFAULT_DOMAIN_NAME/g" /etc/prosody/prosody.cfg.lua
453
 
453
 
454
+    if [ $XMPP_DOMAIN_CODE ]; then
455
+        if [ ${#XMPP_DOMAIN_CODE} -gt 0 ]; then
456
+            if [[ $(cert_exists chat.${DEFAULT_DOMAIN_NAME} pem) == "1" ]]; then
457
+                sed -i 's|--Component "conference.|Component "chat.|g' /etc/prosody/prosody.cfg.lua
458
+            fi
459
+            if [[ $(cert_exists xmpp.${DEFAULT_DOMAIN_NAME} pem) == "1" ]]; then
460
+                sed -i 's|--Component "conference.|Component "xmpp.|g' /etc/prosody/prosody.cfg.lua
461
+            fi
462
+            if [[ $(cert_exists conference.${DEFAULT_DOMAIN_NAME} pem) == "1" ]]; then
463
+                sed -i 's|--Component "conference.|Component "conference.|g' /etc/prosody/prosody.cfg.lua
464
+            fi
465
+        fi
466
+    fi
467
+
454
     systemctl restart prosody
468
     systemctl restart prosody
455
     touch /home/$MY_USERNAME/README
469
     touch /home/$MY_USERNAME/README
456
 
470
 

+ 2
- 2
src/freedombone-utils-web Просмотреть файл

234
     fi
234
     fi
235
 
235
 
236
     if [[ $ONION_ONLY == "no" ]]; then
236
     if [[ $ONION_ONLY == "no" ]]; then
237
-        if [[ $(cert_exists) == "0" ]]; then
237
+        if [[ $(cert_exists $SITE_DOMAIN_NAME) == "0" ]]; then
238
             if [[ $LETSENCRYPT_ENABLED != "yes" ]]; then
238
             if [[ $LETSENCRYPT_ENABLED != "yes" ]]; then
239
                 create_self_signed_cert
239
                 create_self_signed_cert
240
             else
240
             else
242
             fi
242
             fi
243
         else
243
         else
244
             if [[ $LETSENCRYPT_ENABLED == "yes" ]]; then
244
             if [[ $LETSENCRYPT_ENABLED == "yes" ]]; then
245
-                if [[ $(cert_exists pem) == "0" ]]; then
245
+                if [[ $(cert_exists $SITE_DOMAIN_NAME pem) == "0" ]]; then
246
                     create_letsencrypt_cert
246
                     create_letsencrypt_cert
247
                 fi
247
                 fi
248
             fi
248
             fi