diff options
Diffstat (limited to 'system/wpa_supplicant/wpa_cli.sh')
-rw-r--r-- | system/wpa_supplicant/wpa_cli.sh | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/system/wpa_supplicant/wpa_cli.sh b/system/wpa_supplicant/wpa_cli.sh new file mode 100644 index 000000000..0a5a6cc03 --- /dev/null +++ b/system/wpa_supplicant/wpa_cli.sh @@ -0,0 +1,33 @@ +#!/bin/sh +# Distributed under the terms of the BSD License. +# Copyright (c) 2015 Sören Tempel <soeren+alpine@soeren-tempel.net> + +IFUP="/sbin/ifup" +IFDOWN="/sbin/ifdown" + +if [ -z "${1}" -o -z "${2}" ]; then + logger -t wpa_cli "this script should be called from wpa_cli(8)" + exit 1 +elif ! [ -x "${IFUP}" -a -x "${IFDOWN}" ]; then + logger -t wpa_cli "${IFUP} or ${IFDOWN} doesn't exist" + exit 1 +fi + +IFNAME="${1}" +ACTION="${2}" + +EXEC="" +case "${ACTION}" in + CONNECTED) + EXEC="${IFUP}" + ;; + DISCONNECTED) + EXEC="${IFDOWN}" + ;; + *) + logger -t wpa_cli "unknown action '${ACTION}'" + exit 1 +esac + +logger -t wpa_cli "interface ${IFNAME} ${ACTION}" +${EXEC} "${IFNAME}" || logger -t wpa_cli "executing '${EXEC}' failed" |