diff --git a/ffmuc-mesh-vpn-wireguard-vxlan/files/lib/gluon/gluon-mesh-wireguard-vxlan/checkuplink b/ffmuc-mesh-vpn-wireguard-vxlan/files/lib/gluon/gluon-mesh-wireguard-vxlan/checkuplink index 482aa8a2..f2e8ec0c 100755 --- a/ffmuc-mesh-vpn-wireguard-vxlan/files/lib/gluon/gluon-mesh-wireguard-vxlan/checkuplink +++ b/ffmuc-mesh-vpn-wireguard-vxlan/files/lib/gluon/gluon-mesh-wireguard-vxlan/checkuplink @@ -120,16 +120,16 @@ is_loadbalancing_enabled() { get_wgkex_data(){ local version="$1" WGKEX_BROKER="$PROTO://$WGKEX_BROKER_BASE_PATH/api/$version/wg/key/exchange" - + logger -p info -t checkuplink "Contacting wgkex broker $WGKEX_BROKER" if ! WGKEX_DATA=$(force_wan_connection wget -q -O- --post-data='{"domain": "'"$SEGMENT"'","public_key": "'"$PUBLICKEY"'"}' "$WGKEX_BROKER"); then logger -p err -t checkuplink "Contacting wgkex broker failed, response: $WGKEX_DATA" - exit 1 - else - logger -p info -t checkuplink "Got data from wgkex broker: $WGKEX_DATA" - echo $WGKEX_DATA + return 1 fi + + logger -p info -t checkuplink "Got data from wgkex broker: $WGKEX_DATA" + echo $WGKEX_DATA } use_api_v1(){ @@ -160,16 +160,17 @@ use_api_v2() { logger -p err -t checkuplink "Parsing wgkex broker data failed" logger -p info -t checkuplink "Falling back to API v1" use_api_v1 - else - logger -p debug -t checkuplink "Successfully parsed wgkex broker data" - PEER_HOST="$(echo "$data" | sed -n 1p)" - PEER_PORT="$(echo "$data" | sed -n 2p)" - PEER_PUBLICKEY="$(echo "$data" | sed -n 3p)" - PEER_LINKADDRESS=$(echo "$data" | sed -n 4p) - - PEER_ADDRESS="$(resolve_host "$PEER_HOST")" - PEER_ENDPOINT="$(combine_ip_port "$PEER_ADDRESS" "$PEER_PORT")" + return fi + + logger -p debug -t checkuplink "Successfully parsed wgkex broker data" + PEER_HOST="$(echo "$data" | sed -n 1p)" + PEER_PORT="$(echo "$data" | sed -n 2p)" + PEER_PUBLICKEY="$(echo "$data" | sed -n 3p)" + PEER_LINKADDRESS=$(echo "$data" | sed -n 4p) + + PEER_ADDRESS="$(resolve_host "$PEER_HOST")" + PEER_ENDPOINT="$(combine_ip_port "$PEER_ADDRESS" "$PEER_PORT")" } @@ -276,12 +277,13 @@ WGKEX_BROKER_BASE_PATH="$(get_site_string mesh_vpn.wireguard.broker | sed 's|/ap if is_loadbalancing_enabled; then # Use /api/v2, get gateway peer details from broker response + logger -p info -t checkuplink "Loadbalancing enabled." use_api_v2 else # Use /api/v1, get gateway peer details from config + logger -p info -t checkuplink "Loadbalancing disabled." use_api_v1 - fi logger -p info -t checkuplink "Connecting to $PEER_HOST($PEER_ENDPOINT)"