Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

jitsi-meet-tokens.postinst 3.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. #!/bin/bash
  2. # postinst script for jitsi-meet-tokens
  3. #
  4. # see: dh_installdeb(1)
  5. set -e
  6. # summary of how this script can be called:
  7. # * <postinst> `configure' <most-recently-configured-version>
  8. # * <old-postinst> `abort-upgrade' <new version>
  9. # * <conflictor's-postinst> `abort-remove' `in-favour' <package>
  10. # <new-version>
  11. # * <postinst> `abort-remove'
  12. # * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
  13. # <failed-install-package> <version> `removing'
  14. # <conflicting-package> <version>
  15. # for details, see http://www.debian.org/doc/debian-policy/ or
  16. # the debian-policy package
  17. case "$1" in
  18. configure)
  19. if [ -f "/etc/jitsi/videobridge/config" ] ; then
  20. . /etc/jitsi/videobridge/config
  21. fi
  22. if [ -f "/etc/jitsi/jicofo/config" ] ; then
  23. . /etc/jitsi/jicofo/config
  24. fi
  25. # loading debconf
  26. . /usr/share/debconf/confmodule
  27. db_get jitsi-meet-tokens/appid
  28. if [ "$RET" = "false" ] ; then
  29. echo "Application ID is mandatory"
  30. exit 1
  31. fi
  32. APP_ID=$RET
  33. db_get jitsi-meet-tokens/appsecret
  34. if [ "$RET" = "false" ] ; then
  35. echo "Application secret is mandatory"
  36. fi
  37. APP_SECRET=$RET
  38. # We can adjust Prosody config only if there is Jvb or Jicofo domain configured
  39. PROSODY_HOST_CONFIG="/etc/prosody/conf.avail/$JVB_HOSTNAME.cfg.lua"
  40. if [ ! -f "$PROSODY_HOST_CONFIG" ] ; then
  41. PROSODY_HOST_CONFIG="/etc/prosody/conf.avail/$JICOFO_HOSTNAME.cfg.lua"
  42. fi
  43. # Store config filename for purge
  44. db_set jitsi-meet-prosody/prosody_config $PROSODY_HOST_CONFIG
  45. db_stop
  46. if [ -f "$PROSODY_HOST_CONFIG" ] ; then
  47. if grep -q "plugin_paths" "$PROSODY_HOST_CONFIG"; then
  48. # enable tokens in prosody host config
  49. sed -i 's/--plugin_paths/plugin_paths/g' $PROSODY_HOST_CONFIG
  50. sed -i 's/authentication = "anonymous"/authentication = "token"/g' $PROSODY_HOST_CONFIG
  51. sed -i 's/ --allow_unencrypted_plain_auth/ allow_unencrypted_plain_auth/g' $PROSODY_HOST_CONFIG
  52. sed -i "s/ --app_id=\"example_app_id\"/ app_id=\"$APP_ID\"/g" $PROSODY_HOST_CONFIG
  53. sed -i "s/ --app_secret=\"example_app_secret\"/ app_secret=\"$APP_SECRET\"/g" $PROSODY_HOST_CONFIG
  54. sed -i 's/ --modules_enabled = { "token_verification" }/ modules_enabled = { "token_verification" }/g' $PROSODY_HOST_CONFIG
  55. # Install luajwt
  56. if ! luarocks install jwt; then
  57. echo "Failed to install jwt - try installing it manually"
  58. fi
  59. if [ -x "/etc/init.d/prosody" ]; then
  60. invoke-rc.d prosody restart
  61. fi
  62. echo "This package requires BOSH Prosody module to be patched !"
  63. echo "Use the following command, after this package has been installed and"
  64. echo "after every prosody-trunk upgrade:"
  65. echo "sudo patch -N /usr/lib/prosody/modules/mod_bosh.lua /usr/share/jitsi-meet/prosody-plugins/mod_bosh.lua.patch"
  66. else
  67. echo "Failed apply auto-config to $PROSODY_HOST_CONFIG which most likely comes from not supported version of jitsi-meet"
  68. fi
  69. else
  70. echo "Prosody config not found at $PROSODY_HOST_CONFIG - unable to auto-configure token authentication"
  71. fi
  72. ;;
  73. abort-upgrade|abort-remove|abort-deconfigure)
  74. ;;
  75. *)
  76. echo "postinst called with unknown argument \`$1'" >&2
  77. exit 1
  78. ;;
  79. esac
  80. # dh_installdeb will replace this with shell code automatically
  81. # generated by other debhelper scripts.
  82. #DEBHELPER#
  83. exit 0