From 3217d8fce5d77f22745e0ad70176b81f08824a58 Mon Sep 17 00:00:00 2001 From: Steffen Moser <steffen.moser@uni-ulm.de> Date: Tue, 29 Jun 2021 18:03:38 +0200 Subject: [PATCH] Fix bbb-conf --check for multiple STUN servers --- bigbluebutton-config/bin/bbb-conf | 44 +++++++++++++++++-------------- 1 file changed, 24 insertions(+), 20 deletions(-) diff --git a/bigbluebutton-config/bin/bbb-conf b/bigbluebutton-config/bin/bbb-conf index b14a89a736..cb04dd31cd 100755 --- a/bigbluebutton-config/bin/bbb-conf +++ b/bigbluebutton-config/bin/bbb-conf @@ -177,7 +177,7 @@ TURN_ETC_CONFIG=/etc/bigbluebutton/turn-stun-servers.xml if [ -f "$TURN_ETC_CONFIG" ]; then TURN=$TURN_ETC_CONFIG fi -STUN="$(xmlstarlet sel -N x="http://www.springframework.org/schema/beans" -t -m '_:beans/_:bean[@class="org.bigbluebutton.web.services.turn.StunTurnService"]/_:property[@name="stunServers"]/_:set/_:ref' -v @bean $TURN)" +STUN="$(xmlstarlet sel -N x="http://www.springframework.org/schema/beans" -t -m '_:beans/_:bean[@class="org.bigbluebutton.web.services.turn.StunTurnService"]/_:property[@name="stunServers"]/_:set/_:ref' -v @bean -nl $TURN)" PROTOCOL=http if [ -f $SERVLET_DIR/WEB-INF/classes/bigbluebutton.properties ]; then @@ -1269,29 +1269,31 @@ check_state() { fi if [ ! -z "$STUN" ]; then - STUN_SERVER="$(xmlstarlet sel -N x="http://www.springframework.org/schema/beans" -t -m "_:beans/_:bean[@id=\"$STUN\"]/_:constructor-arg[@index=\"0\"]" -v @value $TURN | sed 's/stun://g')" - if echo $STUN_SERVER | grep -q ':'; then - STUN_SERVER="$(echo $STUN_SERVER | sed 's/:.*//g') $(echo $STUN_SERVER | sed 's/.*://g')" - else - STUN_SERVER="$STUN_SERVER 3478" - fi + for i in $STUN; do + STUN_SERVER="$(xmlstarlet sel -N x="http://www.springframework.org/schema/beans" -t -m "_:beans/_:bean[@id=\"$i\"]/_:constructor-arg[@index=\"0\"]" -v @value $TURN | sed 's/stun://g')" + if echo $STUN_SERVER | grep -q ':'; then + STUN_SERVER="$(echo $STUN_SERVER | sed 's/:.*//g') $(echo $STUN_SERVER | sed 's/.*://g')" + else + STUN_SERVER="$STUN_SERVER 3478" + fi - if which stunclient > /dev/null 2>&1; then - if stunclient --mode full --localport 30000 $STUN_SERVER | grep -q fail; then - echo - echo "#" - echo "# Warning: Failed to verify STUN server at $STUN_SERVER with command" - echo "#" - echo "# stunclient --mode full --localport 30000 $STUN_SERVER" - echo "#" + if which stunclient > /dev/null 2>&1; then + if stunclient --mode full --localport 30000 $STUN_SERVER | grep -q "fail\|Unable\ to\ resolve"; then + echo + echo "#" + echo "# Warning: Failed to verify STUN server at $STUN_SERVER with command" + echo "#" + echo "# stunclient --mode full --localport 30000 $STUN_SERVER" + echo "#" + fi fi - fi + done fi stunServerAddress=$(cat /etc/kurento/modules/kurento/WebRtcEndpoint.conf.ini | sed -n '/^stunServerAddress/{s/.*=//;p}') stunServerPort=$(cat /etc/kurento/modules/kurento/WebRtcEndpoint.conf.ini | sed -n '/^stunServerPort/{s/.*=//;p}') if [ ! -z "$stunServerAddress" ]; then - if stunclient --mode full --localport 30000 $stunServerAddress $stunServerPort | grep -q fail; then + if stunclient --mode full --localport 30000 $stunServerAddress $stunServerPort | grep -q "fail\|Unable\ to\ resolve"; then echo echo "#" echo "# Warning: Failed to verify STUN server at $stunServerAddress:$stunServerPort with command" @@ -1414,9 +1416,11 @@ if [ $CHECK ]; then fi if [ ! -z "$STUN" ]; then - echo - echo "$TURN (STUN Server)" - echo " stun: $(xmlstarlet sel -N x="http://www.springframework.org/schema/beans" -t -m "_:beans/_:bean[@id=\"$STUN\"]/_:constructor-arg[@index=\"0\"]" -v @value $TURN | sed 's/stun://g')" + for i in $STUN; do + echo + echo "$TURN (STUN Server)" + echo " stun: $(xmlstarlet sel -N x="http://www.springframework.org/schema/beans" -t -m "_:beans/_:bean[@id=\"$i\"]/_:constructor-arg[@index=\"0\"]" -v @value $TURN | sed 's/stun://g')" + done fi stunServerAddress=$(cat /etc/kurento/modules/kurento/WebRtcEndpoint.conf.ini | sed -n '/^stunServerAddress/{s/.*=//;p}') -- GitLab