summaryrefslogtreecommitdiffstats
path: root/conf/default.in
diff options
context:
space:
mode:
Diffstat (limited to 'conf/default.in')
-rwxr-xr-xconf/default.in27
1 files changed, 16 insertions, 11 deletions
diff --git a/conf/default.in b/conf/default.in
index cad1268..77f6b6b 100755
--- a/conf/default.in
+++ b/conf/default.in
@@ -20,25 +20,30 @@
KEYDIR="@sysconfdir@/waproamd/keys"
-if [ -z "$AP" -o -z "$IFACE" ] ; then
+if [ -z "$AP" -o -z "$IFACE" -o -z "$ESSID" -o -z "$ESSID_ESCAPED" -o -z "$ADHOC" ] ; then
echo "Corrupt environment" > /dev/stderr
exit 1
fi
-if test -r "$KEYDIR/$AP.aes" ; then
- METHOD=aes
-else if test -r "$KEYDIR/$AP.wep" ; then
- METHOD=wep
-else
- METHOD=open
-fi ; fi
+AP_UC="$(echo $AP | tr [a-f] [A-F])"
+METHOD=open
+for M in aes wep ; do
+ for F in "$AP" "$AP_UC" "essid:$ESSID_ESCAPED" ; do
+ if test -r "$KEYDIR/$F.$M" ; then
+ METHOD="$M"
+ FILE="$F"
+ break
+ fi
+ done
+ [ "x$METHOD" != "xopen" ] && break
+done
-echo "Settings policy '$METHOD' for AP $AP"
+[ "x$1" = "xstart" ] && echo "Setting policy '$METHOD'"
case "$1.$METHOD" in
start.aes)
+ aeswepd -i $IFACE -w -F "$KEYDIR/$FILE.aes"
iwconfig $IFACE key on
- aeswepd -i $IFACE -w -F "$KEYDIR/$AP.aes"
;;
stop.aes)
@@ -47,7 +52,7 @@ case "$1.$METHOD" in
;;
start.wep)
- KEY="$(cat $KEYDIR/$AP.wep)"
+ KEY="$(cat $KEYDIR/$FILE.wep )"
iwconfig $IFACE key [1] restricted $KEY
iwconfig $IFACE key on
;;