소스 검색

Fix xmpp on onion

Bob Mottram 8 년 전
부모
커밋
d38a30725b
1개의 변경된 파일27개의 추가작업 그리고 10개의 파일을 삭제
  1. 27
    10
      src/freedombone-app-xmpp

+ 27
- 10
src/freedombone-app-xmpp 파일 보기

@@ -319,18 +319,19 @@ function update_prosody_modules {
319 319
             curr_hash=$(sha256sum $INSTALL_DIR/$prosody_modules_filename | awk -F ' ' '{print $1}')
320 320
             if [[ "$curr_hash" != "$prosody_modules_hash" ]]; then
321 321
                 echo $'Prosody modules hash does not match'
322
+                exit 83562
322 323
             else
323 324
                 # Extract the modules
324
-                if [ -d prosody-modules ]; then
325
-                    rm -rf prosody-modules
325
+                if [ -d $INSTALL_DIR/prosody-modules ]; then
326
+                    rm -rf $INSTALL_DIR/prosody-modules
326 327
                 fi
327 328
                 tar -xzvf $prosody_modules_filename
328
-                if [ -d prosody-modules ]; then
329
+                if [ -d $INSTALL_DIR/prosody-modules ]; then
329 330
                     systemctl stop prosody
330 331
                     if [ ! -d /var/lib/prosody/prosody-modules ]; then
331
-                        mkdir /var/lib/prosody/prosody-modules
332
+                        mkdir -p /var/lib/prosody/prosody-modules
332 333
                     fi
333
-                    cp -r prosody-modules/* /var/lib/prosody/prosody-modules
334
+                    cp -r $INSTALL_DIR/prosody-modules/* /var/lib/prosody/prosody-modules/
334 335
                     chown -R prosody:prosody /var/lib/prosody/prosody-modules
335 336
                     systemctl start prosody
336 337
                 fi
@@ -648,7 +649,11 @@ function xmpp_create_config {
648 649
     echo "    curve = $XMPP_ECC_CURVE;" >> /etc/prosody/prosody.cfg.lua
649 650
     echo "    ciphers = $XMPP_CIPHERS;" >> /etc/prosody/prosody.cfg.lua
650 651
     echo '    options = {"no_sslv2", "no_sslv3" };' >> /etc/prosody/prosody.cfg.lua
651
-    echo "    dhparam = \"/etc/ssl/certs/${DEFAULT_DOMAIN_NAME}.dhparam\";" >> /etc/prosody/prosody.cfg.lua
652
+    if [ -f /etc/ssl/certs/${DEFAULT_DOMAIN_NAME}.pem ]; then
653
+        echo "    dhparam = \"/etc/ssl/certs/${DEFAULT_DOMAIN_NAME}.dhparam\";" >> /etc/prosody/prosody.cfg.lua
654
+    else
655
+        echo "    dhparam = \"/etc/ssl/certs/xmpp.dhparam\";" >> /etc/prosody/prosody.cfg.lua
656
+    fi
652 657
     echo "}" >> /etc/prosody/prosody.cfg.lua
653 658
     echo '' >> /etc/prosody/prosody.cfg.lua
654 659
     echo 'ssl = {' >> /etc/prosody/prosody.cfg.lua
@@ -663,7 +668,11 @@ function xmpp_create_config {
663 668
     echo '    depth = "2";' >> /etc/prosody/prosody.cfg.lua
664 669
     echo "    ciphers = $XMPP_CIPHERS;" >> /etc/prosody/prosody.cfg.lua
665 670
     echo '    options = {"no_sslv2", "no_sslv3" };' >> /etc/prosody/prosody.cfg.lua
666
-    echo "    dhparam = \"/etc/ssl/certs/${DEFAULT_DOMAIN_NAME}.dhparam\";" >> /etc/prosody/prosody.cfg.lua
671
+    if [ -f /etc/ssl/certs/${DEFAULT_DOMAIN_NAME}.pem ]; then
672
+        echo "    dhparam = \"/etc/ssl/certs/${DEFAULT_DOMAIN_NAME}.dhparam\";" >> /etc/prosody/prosody.cfg.lua
673
+    else
674
+        echo "    dhparam = \"/etc/ssl/certs/xmpp.dhparam\";" >> /etc/prosody/prosody.cfg.lua
675
+    fi
667 676
     echo '}' >> /etc/prosody/prosody.cfg.lua
668 677
     echo '' >> /etc/prosody/prosody.cfg.lua
669 678
     echo 'c2s_require_encryption = true' >> /etc/prosody/prosody.cfg.lua
@@ -688,17 +697,22 @@ function xmpp_create_config {
688 697
         echo "VirtualHost \"${DEFAULT_DOMAIN_NAME}\"" >> /etc/prosody/prosody.cfg.lua
689 698
     fi
690 699
     echo '    ssl = {' >> /etc/prosody/prosody.cfg.lua
691
-    echo "        key = \"/etc/ssl/certs/${DEFAULT_DOMAIN_NAME}.key\";" >> /etc/prosody/prosody.cfg.lua
692 700
     if [ -f /etc/ssl/certs/${DEFAULT_DOMAIN_NAME}.pem ]; then
693 701
         echo "        certificate = \"/etc/ssl/certs/${DEFAULT_DOMAIN_NAME}.pem\";" >> /etc/prosody/prosody.cfg.lua
702
+        echo "        key = \"/etc/ssl/private/${DEFAULT_DOMAIN_NAME}.key\";" >> /etc/prosody/prosody.cfg.lua
694 703
     else
695 704
         echo "        certificate = \"/etc/ssl/certs/xmpp.crt\";" >> /etc/prosody/prosody.cfg.lua
705
+        echo "        key = \"/etc/ssl/private/xmpp.key\";" >> /etc/prosody/prosody.cfg.lua
696 706
     fi
697 707
     echo "        curve = $XMPP_ECC_CURVE;" >> /etc/prosody/prosody.cfg.lua
698 708
     echo '        depth = "2";' >> /etc/prosody/prosody.cfg.lua
699 709
     echo "        ciphers = $XMPP_CIPHERS;" >> /etc/prosody/prosody.cfg.lua
700 710
     echo '        options = {"no_sslv2", "no_sslv3" };' >> /etc/prosody/prosody.cfg.lua
701
-    echo "        dhparam = \"/etc/ssl/certs/${DEFAULT_DOMAIN_NAME}.dhparam\";" >> /etc/prosody/prosody.cfg.lua
711
+    if [ -f /etc/ssl/certs/${DEFAULT_DOMAIN_NAME}.pem ]; then
712
+        echo "        dhparam = \"/etc/ssl/certs/${DEFAULT_DOMAIN_NAME}.dhparam\";" >> /etc/prosody/prosody.cfg.lua
713
+    else
714
+        echo "        dhparam = \"/etc/ssl/certs/xmpp.dhparam\";" >> /etc/prosody/prosody.cfg.lua
715
+    fi
702 716
     echo '    }' >> /etc/prosody/prosody.cfg.lua
703 717
     echo '' >> /etc/prosody/prosody.cfg.lua
704 718
     echo 'Include "conf.d/*.cfg.lua"' >> /etc/prosody/prosody.cfg.lua
@@ -828,6 +842,8 @@ function install_xmpp {
828 842
                 echo $'Failed to create xmpp private certificate'
829 843
                 exit 36829
830 844
             fi
845
+            chmod g=rX /etc/ssl/private/xmpp.key
846
+            chmod g=rX /etc/ssl/certs/xmpp.*
831 847
         fi
832 848
     fi
833 849
 
@@ -849,7 +865,7 @@ function install_xmpp {
849 865
         sed -i "s|key =.*|key = \"/etc/ssl/private/${DEFAULT_DOMAIN_NAME}.key\";|g" /etc/prosody/conf.avail/xmpp.cfg.lua
850 866
         sed -i "s|certificate =.*|certificate = \"/etc/ssl/certs/${DEFAULT_DOMAIN_NAME}.pem\";|g" /etc/prosody/conf.avail/xmpp.cfg.lua
851 867
     else
852
-        sed -i "s|key =.*|key = \"/etc/ssl/privates/xmpp.key\";|g" /etc/prosody/conf.avail/xmpp.cfg.lua
868
+        sed -i "s|key =.*|key = \"/etc/ssl/private/xmpp.key\";|g" /etc/prosody/conf.avail/xmpp.cfg.lua
853 869
         sed -i "s|certificate =.*|certificate = \"/etc/ssl/certs/xmpp.crt\";|g" /etc/prosody/conf.avail/xmpp.cfg.lua
854 870
     fi
855 871
     if ! grep -q "xmpp.dhparam" /etc/prosody/conf.avail/xmpp.cfg.lua; then
@@ -946,6 +962,7 @@ function install_xmpp {
946 962
     chown -R prosody /var/lib/prosody
947 963
     chown -R prosody /usr/lib/prosody
948 964
     chmod -R 700 /etc/prosody/conf.d
965
+    usermod -a -G www-data prosody
949 966
 
950 967
     if [ -d /etc/letsencrypt ]; then
951 968
         usermod -a -G ssl-cert prosody