ocserv/tests/connect-script
Nikos Mavrogiannopoulos 7a7d432d0f use REMOTE_HOSTNAME to pass the user's advertised hostname
The previously used HOSTNAME variable is being overriden by bash and
thus was not a reliable one. We switch to setting REMOTE_HOSTNAME,
but keep the HOSTNAME for compatibility.

This also changes 'test-pass-script' to check for the new variable.

Signed-off-by: Nikos Mavrogiannopoulos <n.mavrogiannopoulos@gmail.com>
2020-08-05 23:05:24 +02:00

49 lines
1.3 KiB
Bash
Executable File

#!/bin/bash
#echo $USERNAME : $REASON : $DEVICE
verify_env_set() {
if test -z "${!1}";then
env >out.$REASON.fail.tmp
echo "$1 environment variable was not set" >>out.$REASON.fail.tmp
exit 1
fi
}
# Verify the common environment variables
verify_env_set "IP_REMOTE"
verify_env_set "REASON"
verify_env_set "HOSTNAME"
verify_env_set "REMOTE_HOSTNAME"
verify_env_set "USERNAME"
verify_env_set "USER_AGENT"
verify_env_set "DEVICE_PLATFORM"
verify_env_set "DEVICE_TYPE"
case "$REASON" in
connect)
verify_env_set "DEVICE"
test "${OCSERV_DNS}" = "192.168.1.1 192.168.5.1 " && \
test "${OCSERV_DNS4}" = "192.168.1.1 192.168.5.1 " && \
test "${OCSERV_ROUTES}" = "192.168.1.0/255.255.255.0 192.168.5.0/255.255.255.0 " && \
test "${OCSERV_ROUTES4}" = "192.168.1.0/255.255.255.0 192.168.5.0/255.255.255.0 " && \
echo "${IP_REMOTE}" > connect.ok
;;
disconnect)
if ! test -z "$DEVICE";then
test "${OCSERV_DNS}" = "192.168.1.1 192.168.5.1 " && \
test "${OCSERV_DNS4}" = "192.168.1.1 192.168.5.1 " && \
test "${OCSERV_ROUTES}" = "192.168.1.0/255.255.255.0 192.168.5.0/255.255.255.0 " && \
test "${OCSERV_ROUTES4}" = "192.168.1.0/255.255.255.0 192.168.5.0/255.255.255.0 " && \
echo "${IP_REMOTE}" > disconnect.ok
fi
;;
"host-update")
verify_env_set "HOSTNAME"
echo > host-update.ok
;;
esac
exit 0