summaryrefslogtreecommitdiffstats
path: root/usr/lib/autowifi/plugins
diff options
context:
space:
mode:
authormakefu <github@syntax-fehler.de>2013-05-25 20:50:49 +0200
committermakefu <github@syntax-fehler.de>2013-05-25 20:50:49 +0200
commited73fba46289f4af60422b2d267ba40834ca97ca (patch)
tree13befcbafcd4dd859a375819bab3ceb1a59ddfa0 /usr/lib/autowifi/plugins
parent814c39b547212fc3e6be83a9ad749407e7cf4245 (diff)
add plugins folder
Diffstat (limited to 'usr/lib/autowifi/plugins')
-rwxr-xr-xusr/lib/autowifi/plugins/00profile8
-rwxr-xr-xusr/lib/autowifi/plugins/01open6
-rwxr-xr-xusr/lib/autowifi/plugins/02easybox38
3 files changed, 52 insertions, 0 deletions
diff --git a/usr/lib/autowifi/plugins/00profile b/usr/lib/autowifi/plugins/00profile
new file mode 100755
index 00000000..fe42470b
--- /dev/null
+++ b/usr/lib/autowifi/plugins/00profile
@@ -0,0 +1,8 @@
+#!/bin/sh
+#ESSID MAC CHANNEL ENCRYPTION WPA WPA2
+cat /etc/autowifi/wifi_keys | (while IFS='|' read SSID MAC KEY; do
+ if [ "$1" == "$SSID" -a "$2" == "$MAC" ]; then
+ echo $KEY
+ exit 0
+ fi
+done; exit 1)
diff --git a/usr/lib/autowifi/plugins/01open b/usr/lib/autowifi/plugins/01open
new file mode 100755
index 00000000..f3b9640c
--- /dev/null
+++ b/usr/lib/autowifi/plugins/01open
@@ -0,0 +1,6 @@
+#!/bin/sh
+#ESSID MAC CHANNEL ENCRYPTION WPA WPA2
+if [ "$4" == "off" ]; then
+ exit 0
+fi
+exit 1
diff --git a/usr/lib/autowifi/plugins/02easybox b/usr/lib/autowifi/plugins/02easybox
new file mode 100755
index 00000000..e5323977
--- /dev/null
+++ b/usr/lib/autowifi/plugins/02easybox
@@ -0,0 +1,38 @@
+#!/bin/sh
+#ESSID MAC CHANNEL ENCRYPTION WPA WPA2
+if ! echo $1 | grep -qi Easybox; then
+ exit 1
+else
+ MAC=${2?\$2 must be MAC}
+
+ # Take the last 2 Bytes of the MAC-Address (0B:EC), and convert it to decimal.
+
+ take5=${MAC:12}
+ last4=${take5/:/}
+
+ # Fill up to 4 places with zeros, if necessary:
+ deci=$(printf "%04d" "0x$last4" | sed 's/.*\(....\)/\1/;s/./& /g')
+ #echo M4: ${deci[@]}
+ #
+ # The digits M9 to M12 are just the last digits (9.-12.) of the MAC:
+ hexi=$(echo ${MAC:12:5} | sed 's/://;s/./& /g')
+ #echo 'M4 (Hex): ' ${hexi[@]}
+ # K1 = last byte of (d0 + d1 + h2 + h3)
+ # K2 = last byte of (h0 + h1 + d2 + d3)
+ c1=$(printf "%d + %d + %d + %d" ${deci:0:1} ${deci:2:1} 0x${hexi:4:1} 0x${hexi:6:1})
+ c2=$(printf "%d + %d + %d + %d" 0x${hexi:0:1} 0x${hexi:2:1} ${deci:4:1} ${deci:6:1})
+ K1=$((($c1)%16))
+ K2=$((($c2)%16))
+ #printf "K1: %x\n" $K1
+ #printf "K2: %x\n" $K2
+ X1=$((K1^${deci:6:1}))
+ X2=$((K1^${deci:4:1}))
+ X3=$((K1^${deci:2:1}))
+ Y1=$((K2^0x${hexi:2:1}))
+ Y2=$((K2^0x${hexi:4:1}))
+ Y3=$((K2^0x${hexi:6:1}))
+ Z1=$((0x${hexi:4:1}^${deci:6:1}))
+ Z2=$((0x${hexi:6:1}^${deci:4:1}))
+ Z3=$((K1^K2))
+ printf "%x%x%x%x%x%x%x%x%x\n" $X1 $Y1 $Z1 $X2 $Y2 $Z2 $X3 $Y3 $Z3 | tr a-f A-F
+fi