Files
ocserv/tests/connect-script
T
Nikos Mavrogiannopoulos f3f74de305 tests: do not store environment information
This prevents accidental secret leakage.

Signed-off-by: Nikos Mavrogiannopoulos <n.mavrogiannopoulos@gmail.com>
2026-06-17 06:17:05 +02:00

49 lines
1.3 KiB
Bash
Executable File

#!/bin/bash
builddir=${builddir:-.}
#echo $USERNAME : $REASON : $DEVICE
verify_env_set() {
if test -z "${!1}";then
echo "$1 environment variable was not set" >&2
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}" > ${builddir}/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}" > ${builddir}/disconnect.ok
fi
;;
"host-update")
verify_env_set "HOSTNAME"
echo > ${builddir}/host-update.ok
;;
esac
exit 0