From 5c2c13966adf610deeafb8ac3490b82b72e00b8d Mon Sep 17 00:00:00 2001 From: A Holt Date: Mon, 23 Nov 2020 02:39:59 -0500 Subject: [PATCH 1/3] Clean/Shorten openvpn/templates/announcer.j2 --- roles/openvpn/templates/announcer.j2 | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/roles/openvpn/templates/announcer.j2 b/roles/openvpn/templates/announcer.j2 index bc71bb6c7..a18136fb6 100755 --- a/roles/openvpn/templates/announcer.j2 +++ b/roles/openvpn/templates/announcer.j2 @@ -1,12 +1,12 @@ #!/bin/bash -x # Small daemon to identify this machine to the OpenVPN server -HANDLE= -UUID= -if [ -f /etc/iiab/openvpn_handle ]; then +#HANDLE= +#UUID= +#if [ -f /etc/iiab/openvpn_handle ]; then # Option #1: Source directly from /etc/iiab/local_vars.yml in future? # Option #2 - HANDLE=`cat /etc/iiab/openvpn_handle` + HANDLE=$(cat /etc/iiab/openvpn_handle) # Set to "" if file doesn't exist # Sourcing a variable from ~4 different places is a recipe for total confusion # (or worse!) Far better to make variable openvpn_handle and file @@ -25,15 +25,17 @@ if [ -f /etc/iiab/openvpn_handle ]; then # HANDLE=`cat {{ iiab_ini_file }} | gawk \ # '{ if((toupper($1) == "HANDLE") && ($2 == "=")) { print $3;}}'` # fi -fi +#fi HANDLE=${HANDLE// /_} -if [ -f /etc/iiab/uuid ]; then - UUID=`cat /etc/iiab/uuid` -fi +#if [ -f /etc/iiab/uuid ]; then + UUID=$(cat /etc/iiab/uuid) # Set to "" if file doesn't exist +#fi SERVER=/usr/bin/ncat -ID=`printf "HANDLE = %s|UUID = %s" $HANDLE $UUID` -# August 2018: Removal of trailing slash tested on Raspbian, Ubuntu 18.04 & Ubuntu 16.04 +#ID=$(printf "HANDLE = %s|UUID = %s" $HANDLE $UUID) +#ID=$(echo "HANDLE = ${HANDLE}|UUID = ${UUID}") +ID=$(echo "HANDLE = $HANDLE|UUID = $UUID") +# August 2018: Removal of trailing '|' tested on Raspbian, Ubuntu 18.04 & Ubuntu 16.04 #ID=`printf "HANDLE = %s|UUID = %s|" $HANDLE $UUID` # Start the daemon which will serve the handle on demand From 998b147e0825864ed44c0d1da3e63a1186b5947d Mon Sep 17 00:00:00 2001 From: A Holt Date: Mon, 23 Nov 2020 02:54:46 -0500 Subject: [PATCH 2/3] Explain var(s) set to "" when file(s) don't exist. So ' || true' is not nec. --- roles/openvpn/templates/announcer.j2 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/roles/openvpn/templates/announcer.j2 b/roles/openvpn/templates/announcer.j2 index a18136fb6..40eee858e 100755 --- a/roles/openvpn/templates/announcer.j2 +++ b/roles/openvpn/templates/announcer.j2 @@ -6,7 +6,7 @@ #if [ -f /etc/iiab/openvpn_handle ]; then # Option #1: Source directly from /etc/iiab/local_vars.yml in future? # Option #2 - HANDLE=$(cat /etc/iiab/openvpn_handle) # Set to "" if file doesn't exist + HANDLE=$(cat /etc/iiab/openvpn_handle) # Sets to "" if file doesn't exist (error is ok!) # Sourcing a variable from ~4 different places is a recipe for total confusion # (or worse!) Far better to make variable openvpn_handle and file @@ -28,7 +28,7 @@ #fi HANDLE=${HANDLE// /_} #if [ -f /etc/iiab/uuid ]; then - UUID=$(cat /etc/iiab/uuid) # Set to "" if file doesn't exist + UUID=$(cat /etc/iiab/uuid) # Sets to "" if file doesn't exist (error is ok!) #fi SERVER=/usr/bin/ncat From a5941bb0f3c86f07febc5e4fe2de849c1ed4e8a8 Mon Sep 17 00:00:00 2001 From: A Holt Date: Mon, 23 Nov 2020 03:22:58 -0500 Subject: [PATCH 3/3] openvpn/templates/announcer.j2: 1 line instead of 9 lines, if we mandate debuntu --- roles/openvpn/templates/announcer.j2 | 2 ++ 1 file changed, 2 insertions(+) diff --git a/roles/openvpn/templates/announcer.j2 b/roles/openvpn/templates/announcer.j2 index 40eee858e..457ddd115 100755 --- a/roles/openvpn/templates/announcer.j2 +++ b/roles/openvpn/templates/announcer.j2 @@ -41,6 +41,8 @@ ID=$(echo "HANDLE = $HANDLE|UUID = $UUID") # Start the daemon which will serve the handle on demand {% if is_debuntu %} $SERVER -l -k -p1705 --exec "/bin/echo $ID" & +# 2020-11-23: USE 1 LINE INSTEAD OF 9 LINES, IF WE MANDATE debuntu: +#/usr/bin/ncat -l -k -p1705 --exec "/bin/echo HANDLE = $HANDLE|UUID = $UUID" & {% else %} source /etc/init.d/functions PID_FILE=/var/run/openvpn/announce.pid