diff --git a/debian/jitsi-meet-prosody.postinst b/debian/jitsi-meet-prosody.postinst index 13d9582f6..d6a356528 100644 --- a/debian/jitsi-meet-prosody.postinst +++ b/debian/jitsi-meet-prosody.postinst @@ -103,27 +103,6 @@ case "$1" in echo -e "\nInclude \"conf.d/*.cfg.lua\"" >> $PROSODY_CONFIG_OLD fi fi - # UPGRADE to server side focus check if focus is configured - if [ -f $PROSODY_HOST_CONFIG ] && ! grep -q "VirtualHost \"$JICOFO_AUTH_DOMAIN\"" $PROSODY_HOST_CONFIG; then - echo -e "\nVirtualHost \"$JICOFO_AUTH_DOMAIN\"" >> $PROSODY_HOST_CONFIG - echo -e " authentication = \"internal_plain\"\n" >> $PROSODY_HOST_CONFIG - sed -i "s/Component \"conference.$JVB_HOSTNAME\" \"muc\"/Component \"conference.$JVB_HOSTNAME\" \"muc\"\nadmins = { \"$JICOFO_AUTH_USER@$JICOFO_AUTH_DOMAIN\" }\n/g" $PROSODY_HOST_CONFIG - echo -e "Component \"focus.$JVB_HOSTNAME\"" >> $PROSODY_HOST_CONFIG - echo -e " component_secret=\"$JICOFO_SECRET\"\n" >> $PROSODY_HOST_CONFIG - PROSODY_CREATE_JICOFO_USER="true" - # UPGRADE to server side focus on old config(/etc/prosody/prosody.cfg.lua) - elif [ ! -f $PROSODY_HOST_CONFIG ] && ! grep -q "VirtualHost \"$JICOFO_AUTH_DOMAIN\"" $PROSODY_CONFIG_OLD; then - echo -e "\nVirtualHost \"$JICOFO_AUTH_DOMAIN\"" >> $PROSODY_CONFIG_OLD - echo -e " authentication = \"internal_plain\"\n" >> $PROSODY_CONFIG_OLD - if ! grep -q "admins = { }" $PROSODY_CONFIG_OLD; then - echo -e "admins = { \"$JICOFO_AUTH_USER@$JICOFO_AUTH_DOMAIN\" }\n" >> $PROSODY_CONFIG_OLD - else - sed -i "s/admins = { }/admins = { \"$JICOFO_AUTH_USER@$JICOFO_AUTH_DOMAIN\" }\n/g" $PROSODY_CONFIG_OLD - fi - echo -e "Component \"focus.$JVB_HOSTNAME\"" >> $PROSODY_CONFIG_OLD - echo -e " component_secret=\"$JICOFO_SECRET\"\n" >> $PROSODY_CONFIG_OLD - PROSODY_CREATE_JICOFO_USER="true" - fi if [ "$PROSODY_CREATE_JICOFO_USER" = "true" ]; then # create 'focus@auth.domain' prosody user @@ -139,9 +118,33 @@ case "$1" in "/O=$DOMAIN/OU=$HOST/CN=$JVB_HOSTNAME/emailAddress=webmaster@$HOST.$DOMAIN" \ -keyout /var/lib/prosody/$JVB_HOSTNAME.key \ -out /var/lib/prosody/$JVB_HOSTNAME.crt + ln -sf /var/lib/prosody/$JVB_HOSTNAME.key /etc/prosody/certs/$JVB_HOSTNAME.key + ln -sf /var/lib/prosody/$JVB_HOSTNAME.crt /etc/prosody/certs/$JVB_HOSTNAME.crt + fi + + if [ ! -f /var/lib/prosody/$JICOFO_AUTH_DOMAIN.crt ]; then + HOST="$( (hostname -s; echo localhost) | head -n 1)" + DOMAIN="$( (hostname -d; echo localdomain) | head -n 1)" + openssl req -new -newkey rsa:4096 -days 365 -nodes -x509 -subj \ + "/O=$DOMAIN/OU=$HOST/CN=$JICOFO_AUTH_DOMAIN/emailAddress=webmaster@$HOST.$DOMAIN" \ + -keyout /var/lib/prosody/$JICOFO_AUTH_DOMAIN.key \ + -out /var/lib/prosody/$JICOFO_AUTH_DOMAIN.crt + + AUTH_KEY_FILE="/etc/prosody/certs/$JICOFO_AUTH_DOMAIN.key" + AUTH_CRT_FILE="/etc/prosody/certs/$JICOFO_AUTH_DOMAIN.crt" + + ln -sf /var/lib/prosody/$JICOFO_AUTH_DOMAIN.key $AUTH_KEY_FILE + ln -sf /var/lib/prosody/$JICOFO_AUTH_DOMAIN.crt $AUTH_CRT_FILE + ln -sf /var/lib/prosody/$JICOFO_AUTH_DOMAIN.crt /usr/local/share/ca-certificates/$JICOFO_AUTH_DOMAIN.crt + + update-ca-certificates + + # now let's add the ssl cert for the auth. domain (we use # as a sed delimiter cause filepaths are confused with default / delimiter) + sed -i "s#VirtualHost \"$JICOFO_AUTH_DOMAIN\"#VirtualHost \"$JICOFO_AUTH_DOMAIN\"\n ssl = {\n key = \"$AUTH_KEY_FILE\";\n certificate = \"$AUTH_CRT_FILE\";\n \}#g" $PROSODY_HOST_CONFIG + + # trigger a restart + PROSODY_CONFIG_PRESENT="false" fi - ln -sf /var/lib/prosody/$JVB_HOSTNAME.key /etc/prosody/certs/$JVB_HOSTNAME.key - ln -sf /var/lib/prosody/$JVB_HOSTNAME.crt /etc/prosody/certs/$JVB_HOSTNAME.crt if [ "$PROSODY_CONFIG_PRESENT" = "false" ]; then invoke-rc.d prosody restart