From 8d1b4e054d6b9bb0fb8aaa15b770c8ee5907dae0 Mon Sep 17 00:00:00 2001 From: Dean Bailey Date: Wed, 7 Mar 2018 15:37:41 -0800 Subject: [PATCH] Fix for leading or trailing space in OPENVPN_CONFIG. --- openvpn/start.sh | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/openvpn/start.sh b/openvpn/start.sh index 96303dc8f..6c8c6786b 100755 --- a/openvpn/start.sh +++ b/openvpn/start.sh @@ -15,13 +15,18 @@ echo "Using OpenVPN provider: ${OPENVPN_PROVIDER}" if [[ -n "${OPENVPN_CONFIG-}" ]]; then readarray -t OPENVPN_CONFIG_ARRAY <<< "${OPENVPN_CONFIG//,/$'\n'}" + ## Trim leading and trailing spaces from all entries. Inefficient as all heck, but works like a champ. + for i in "${!OPENVPN_CONFIG_ARRAY[@]}"; do + OPENVPN_CONFIG_ARRAY[${i}]="${OPENVPN_CONFIG_ARRAY[${i}]#"${OPENVPN_CONFIG_ARRAY[${i}]%%[![:space:]]*}"}" + OPENVPN_CONFIG_ARRAY[${i}]="${OPENVPN_CONFIG_ARRAY[${i}]%"${OPENVPN_CONFIG_ARRAY[${i}]##*[![:space:]]}"}" + done if (( ${#OPENVPN_CONFIG_ARRAY[@]} > 1 )); then OPENVPN_CONFIG_RANDOM=$((RANDOM%${#OPENVPN_CONFIG_ARRAY[@]})) echo "${#OPENVPN_CONFIG_ARRAY[@]} servers found in OPENVPN_CONFIG, ${OPENVPN_CONFIG_ARRAY[${OPENVPN_CONFIG_RANDOM}]} chosen randomly" OPENVPN_CONFIG="${OPENVPN_CONFIG_ARRAY[${OPENVPN_CONFIG_RANDOM}]}" fi - if [[ -f "${VPN_PROVIDER_CONFIGS}/${OPENVPN_CONFIG}".ovpn ]]; then + if [[ -f "${VPN_PROVIDER_CONFIGS}/${OPENVPN_CONFIG}.ovpn" ]]; then echo "Starting OpenVPN using config ${OPENVPN_CONFIG}.ovpn" OPENVPN_CONFIG="${VPN_PROVIDER_CONFIGS}/${OPENVPN_CONFIG}.ovpn" else