|
@@ -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
|