#!/bin/bash # postinst script for jitsi-meet-tokens # # see: dh_installdeb(1) set -e # summary of how this script can be called: # * `configure' # * `abort-upgrade' # * `abort-remove' `in-favour' # # * `abort-remove' # * `abort-deconfigure' `in-favour' # `removing' # # for details, see http://www.debian.org/doc/debian-policy/ or # the debian-policy package case "$1" in configure) if [ -f "/etc/jitsi/videobridge/config" ] ; then . /etc/jitsi/videobridge/config fi if [ -f "/etc/jitsi/jicofo/config" ] ; then . /etc/jitsi/jicofo/config fi # loading debconf . /usr/share/debconf/confmodule db_get jitsi-meet-tokens/appid if [ "$RET" = "false" ] ; then echo "Application ID is mandatory" exit 1 fi APP_ID=$RET db_get jitsi-meet-tokens/appsecret if [ "$RET" = "false" ] ; then echo "Application secret is mandatory" fi APP_SECRET=$RET # We can adjust Prosody config only if there is Jvb or Jicofo domain configured PROSODY_HOST_CONFIG="/etc/prosody/conf.avail/$JVB_HOSTNAME.cfg.lua" if [ ! -f "$PROSODY_HOST_CONFIG" ] ; then PROSODY_HOST_CONFIG="/etc/prosody/conf.avail/$JICOFO_HOSTNAME.cfg.lua" fi # Store config filename for purge db_set jitsi-meet-prosody/prosody_config $PROSODY_HOST_CONFIG db_stop if [ -f "$PROSODY_HOST_CONFIG" ] ; then if grep -q "plugin_paths" "$PROSODY_HOST_CONFIG"; then # enable tokens in prosody host config sed -i 's/--plugin_paths/plugin_paths/g' $PROSODY_HOST_CONFIG sed -i 's/authentication = "anonymous"/authentication = "token"/g' $PROSODY_HOST_CONFIG sed -i 's/ --allow_unencrypted_plain_auth/ allow_unencrypted_plain_auth/g' $PROSODY_HOST_CONFIG sed -i "s/ --app_id=example_app_id/ app_id=$APP_ID/g" $PROSODY_HOST_CONFIG sed -i "s/ --app_secret=example_app_secret/ app_secret=$APP_SECRET/g" $PROSODY_HOST_CONFIG sed -i 's/ --modules_enabled = { "token_verification" }/ modules_enabled = { "token_verification" }/g' $PROSODY_HOST_CONFIG if [ -x "/etc/init.d/prosody" ]; then invoke-rc.d prosody reload fi else echo "Failed apply auto-config to $PROSODY_HOST_CONFIG which most likely comes from not supported version of jitsi-meet" fi else echo "Prosody config not found at $PROSODY_HOST_CONFIG - unable to auto-configure token authentication" fi ;; abort-upgrade|abort-remove|abort-deconfigure) ;; *) echo "postinst called with unknown argument \`$1'" >&2 exit 1 ;; esac # dh_installdeb will replace this with shell code automatically # generated by other debhelper scripts. #DEBHELPER# exit 0