summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/8021x4
-rwxr-xr-xwpa_actiond/netcfg-wpa_actiond26
2 files changed, 22 insertions, 8 deletions
diff --git a/src/8021x b/src/8021x
index ce4fbf2..7657ead 100644
--- a/src/8021x
+++ b/src/8021x
@@ -76,9 +76,9 @@ make_wpa_config() {
;;
wpa)
if [[ "${#KEY}" -eq 64 ]]; then
- echo "ssid=\"$ESSID\" \npsk=$KEY"
+ echo "proto=RSN WPA\n ssid=\"$ESSID\" \npsk=$KEY"
else
- echo "ssid=\"$ESSID\" \npsk=\"$KEY\""
+ echo "proto=RSN WPA\n ssid=\"$ESSID\" \npsk=\"$KEY\""
fi
;;
wpa-configsection)
diff --git a/wpa_actiond/netcfg-wpa_actiond b/wpa_actiond/netcfg-wpa_actiond
index 02901c6..1242a73 100755
--- a/wpa_actiond/netcfg-wpa_actiond
+++ b/wpa_actiond/netcfg-wpa_actiond
@@ -1,14 +1,28 @@
-
+#! /bin/bash
. /usr/lib/network/network
. /usr/lib/network/8021x
. /usr/lib/network/wireless
-interface=$1; shift
-
AUTOWIFI="/usr/sbin/wpa_actiond"
ACTION_SCRIPT="/usr/bin/netcfg-wpa_actiond-action"
-PIDFILE="/var/run/wpa_supplicant_${interface}.pid"
-EXTRA_AUTOWIFI_OPTIONS="$*"
+PIDFILE="/var/run/wpa_actiond_${interface}.pid"
+
+case $1 in
+ help)
+ echo "netcfg-wpa_actiond <interface>"
+ echo "netcfg-wpa_actiond stop <interface>"
+ exit
+ ;;
+ stop)
+ stop_wpa $2
+ kill $(cat $PIDFILE)
+ exit
+ ;;
+ *)
+ interface=$1; shift
+ EXTRA_AUTOWIFI_OPTIONS="$*"
+ ;;
+esac
if [[ -z $interface ]]; then
echo "No interface specified"
@@ -45,7 +59,7 @@ done
stop_wpa "$interface"
if start_wpa $interface $WPA_CONF $WPA_DRIVER $WPA_OPTS; then
- if $AUTOWIFI -i ${interface} -P {PIDFILE} -a ${ACTION_SCRIPT} ${EXTRA_AUTOWIFI_OPTIONS}; then
+ if $AUTOWIFI -i ${interface} -P ${PIDFILE} -a ${ACTION_SCRIPT} ${EXTRA_AUTOWIFI_OPTIONS}; then
exit 0
fi
fi