Browse Source

Fix xmpp on onion

Bob Mottram 8 years ago
parent
commit
d38a30725b
1 changed files with 27 additions and 10 deletions
  1. 27
    10
      src/freedombone-app-xmpp

+ 27
- 10
src/freedombone-app-xmpp View File

319
             curr_hash=$(sha256sum $INSTALL_DIR/$prosody_modules_filename | awk -F ' ' '{print $1}')
319
             curr_hash=$(sha256sum $INSTALL_DIR/$prosody_modules_filename | awk -F ' ' '{print $1}')
320
             if [[ "$curr_hash" != "$prosody_modules_hash" ]]; then
320
             if [[ "$curr_hash" != "$prosody_modules_hash" ]]; then
321
                 echo $'Prosody modules hash does not match'
321
                 echo $'Prosody modules hash does not match'
322
+                exit 83562
322
             else
323
             else
323
                 # Extract the modules
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
                 fi
327
                 fi
327
                 tar -xzvf $prosody_modules_filename
328
                 tar -xzvf $prosody_modules_filename
328
-                if [ -d prosody-modules ]; then
329
+                if [ -d $INSTALL_DIR/prosody-modules ]; then
329
                     systemctl stop prosody
330
                     systemctl stop prosody
330
                     if [ ! -d /var/lib/prosody/prosody-modules ]; then
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
                     fi
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
                     chown -R prosody:prosody /var/lib/prosody/prosody-modules
335
                     chown -R prosody:prosody /var/lib/prosody/prosody-modules
335
                     systemctl start prosody
336
                     systemctl start prosody
336
                 fi
337
                 fi
648
     echo "    curve = $XMPP_ECC_CURVE;" >> /etc/prosody/prosody.cfg.lua
649
     echo "    curve = $XMPP_ECC_CURVE;" >> /etc/prosody/prosody.cfg.lua
649
     echo "    ciphers = $XMPP_CIPHERS;" >> /etc/prosody/prosody.cfg.lua
650
     echo "    ciphers = $XMPP_CIPHERS;" >> /etc/prosody/prosody.cfg.lua
650
     echo '    options = {"no_sslv2", "no_sslv3" };' >> /etc/prosody/prosody.cfg.lua
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
     echo "}" >> /etc/prosody/prosody.cfg.lua
657
     echo "}" >> /etc/prosody/prosody.cfg.lua
653
     echo '' >> /etc/prosody/prosody.cfg.lua
658
     echo '' >> /etc/prosody/prosody.cfg.lua
654
     echo 'ssl = {' >> /etc/prosody/prosody.cfg.lua
659
     echo 'ssl = {' >> /etc/prosody/prosody.cfg.lua
663
     echo '    depth = "2";' >> /etc/prosody/prosody.cfg.lua
668
     echo '    depth = "2";' >> /etc/prosody/prosody.cfg.lua
664
     echo "    ciphers = $XMPP_CIPHERS;" >> /etc/prosody/prosody.cfg.lua
669
     echo "    ciphers = $XMPP_CIPHERS;" >> /etc/prosody/prosody.cfg.lua
665
     echo '    options = {"no_sslv2", "no_sslv3" };' >> /etc/prosody/prosody.cfg.lua
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
     echo '}' >> /etc/prosody/prosody.cfg.lua
676
     echo '}' >> /etc/prosody/prosody.cfg.lua
668
     echo '' >> /etc/prosody/prosody.cfg.lua
677
     echo '' >> /etc/prosody/prosody.cfg.lua
669
     echo 'c2s_require_encryption = true' >> /etc/prosody/prosody.cfg.lua
678
     echo 'c2s_require_encryption = true' >> /etc/prosody/prosody.cfg.lua
688
         echo "VirtualHost \"${DEFAULT_DOMAIN_NAME}\"" >> /etc/prosody/prosody.cfg.lua
697
         echo "VirtualHost \"${DEFAULT_DOMAIN_NAME}\"" >> /etc/prosody/prosody.cfg.lua
689
     fi
698
     fi
690
     echo '    ssl = {' >> /etc/prosody/prosody.cfg.lua
699
     echo '    ssl = {' >> /etc/prosody/prosody.cfg.lua
691
-    echo "        key = \"/etc/ssl/certs/${DEFAULT_DOMAIN_NAME}.key\";" >> /etc/prosody/prosody.cfg.lua
692
     if [ -f /etc/ssl/certs/${DEFAULT_DOMAIN_NAME}.pem ]; then
700
     if [ -f /etc/ssl/certs/${DEFAULT_DOMAIN_NAME}.pem ]; then
693
         echo "        certificate = \"/etc/ssl/certs/${DEFAULT_DOMAIN_NAME}.pem\";" >> /etc/prosody/prosody.cfg.lua
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
     else
703
     else
695
         echo "        certificate = \"/etc/ssl/certs/xmpp.crt\";" >> /etc/prosody/prosody.cfg.lua
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
     fi
706
     fi
697
     echo "        curve = $XMPP_ECC_CURVE;" >> /etc/prosody/prosody.cfg.lua
707
     echo "        curve = $XMPP_ECC_CURVE;" >> /etc/prosody/prosody.cfg.lua
698
     echo '        depth = "2";' >> /etc/prosody/prosody.cfg.lua
708
     echo '        depth = "2";' >> /etc/prosody/prosody.cfg.lua
699
     echo "        ciphers = $XMPP_CIPHERS;" >> /etc/prosody/prosody.cfg.lua
709
     echo "        ciphers = $XMPP_CIPHERS;" >> /etc/prosody/prosody.cfg.lua
700
     echo '        options = {"no_sslv2", "no_sslv3" };' >> /etc/prosody/prosody.cfg.lua
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
     echo '    }' >> /etc/prosody/prosody.cfg.lua
716
     echo '    }' >> /etc/prosody/prosody.cfg.lua
703
     echo '' >> /etc/prosody/prosody.cfg.lua
717
     echo '' >> /etc/prosody/prosody.cfg.lua
704
     echo 'Include "conf.d/*.cfg.lua"' >> /etc/prosody/prosody.cfg.lua
718
     echo 'Include "conf.d/*.cfg.lua"' >> /etc/prosody/prosody.cfg.lua
828
                 echo $'Failed to create xmpp private certificate'
842
                 echo $'Failed to create xmpp private certificate'
829
                 exit 36829
843
                 exit 36829
830
             fi
844
             fi
845
+            chmod g=rX /etc/ssl/private/xmpp.key
846
+            chmod g=rX /etc/ssl/certs/xmpp.*
831
         fi
847
         fi
832
     fi
848
     fi
833
 
849
 
849
         sed -i "s|key =.*|key = \"/etc/ssl/private/${DEFAULT_DOMAIN_NAME}.key\";|g" /etc/prosody/conf.avail/xmpp.cfg.lua
865
         sed -i "s|key =.*|key = \"/etc/ssl/private/${DEFAULT_DOMAIN_NAME}.key\";|g" /etc/prosody/conf.avail/xmpp.cfg.lua
850
         sed -i "s|certificate =.*|certificate = \"/etc/ssl/certs/${DEFAULT_DOMAIN_NAME}.pem\";|g" /etc/prosody/conf.avail/xmpp.cfg.lua
866
         sed -i "s|certificate =.*|certificate = \"/etc/ssl/certs/${DEFAULT_DOMAIN_NAME}.pem\";|g" /etc/prosody/conf.avail/xmpp.cfg.lua
851
     else
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
         sed -i "s|certificate =.*|certificate = \"/etc/ssl/certs/xmpp.crt\";|g" /etc/prosody/conf.avail/xmpp.cfg.lua
869
         sed -i "s|certificate =.*|certificate = \"/etc/ssl/certs/xmpp.crt\";|g" /etc/prosody/conf.avail/xmpp.cfg.lua
854
     fi
870
     fi
855
     if ! grep -q "xmpp.dhparam" /etc/prosody/conf.avail/xmpp.cfg.lua; then
871
     if ! grep -q "xmpp.dhparam" /etc/prosody/conf.avail/xmpp.cfg.lua; then
946
     chown -R prosody /var/lib/prosody
962
     chown -R prosody /var/lib/prosody
947
     chown -R prosody /usr/lib/prosody
963
     chown -R prosody /usr/lib/prosody
948
     chmod -R 700 /etc/prosody/conf.d
964
     chmod -R 700 /etc/prosody/conf.d
965
+    usermod -a -G www-data prosody
949
 
966
 
950
     if [ -d /etc/letsencrypt ]; then
967
     if [ -d /etc/letsencrypt ]; then
951
         usermod -a -G ssl-cert prosody
968
         usermod -a -G ssl-cert prosody