#!/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) # loading debconf . /usr/share/debconf/confmodule db_get jitsi-meet-prosody/jvb-hostname JVB_HOSTNAME=$(echo "$RET" | xargs echo -n) 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 PROSODY_HOST_CONFIG="/etc/prosody/conf.avail/$JVB_HOSTNAME.cfg.lua" # Store config filename for purge db_set jitsi-meet-prosody/prosody_config "$PROSODY_HOST_CONFIG" db_stop if [ -f "$PROSODY_HOST_CONFIG" ] ; then # search for the token auth, if this is not enabled this is the # first time we install tokens package and needs a config change if ! egrep -q '^\s*authentication\s*=\s*"token" -- do not delete me' "$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 = "jitsi-anonymous" -- do not delete me/authentication = "token" -- do not delete me/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 sed -i '/^\s*--\s*"token_verification"/ s/--\s*//' $PROSODY_HOST_CONFIG if [ -x "/etc/init.d/prosody" ]; then invoke-rc.d prosody restart || true fi 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