Hi,
For people who still use dockapps like this one (I love it),
this diff adds support for wpa status report.
Ok? Comments?
cheers,
david
Index: Makefile
===================================================================
RCS file: /cvs/ports/sysutils/wmwlmon/Makefile,v
retrieving revision 1.9
diff -N -u -p Makefile
--- Makefile 10 Aug 2009 06:34:30 -0000 1.9
+++ Makefile 30 Nov 2009 12:28:48 -0000
@@ -3,7 +3,7 @@
COMMENT= wm-dockapp; wireless interface monitor
DISTNAME= wmwlmon-1.0
-PKGNAME= ${DISTNAME}p0
+PKGNAME= ${DISTNAME}p1
CATEGORIES= sysutils x11 x11/windowmaker
MASTER_SITES= http://www.nazgul.ch/dev/
Index: patches/patch-wl_c
===================================================================
RCS file: patches/patch-wl_c
diff -N -u -p patches/patch-wl_c
--- /dev/null 30 Nov 2009 12:28:48 -0000
+++ patches/patch-wl_c 30 Nov 2009 12:28:48 -0000
@@ -0,0 +1,36 @@
+$OpenBSD$
+--- wl.c.orig Mon Nov 30 13:19:46 2009
++++ wl.c Mon Nov 30 13:15:29 2009
+@@ -136,6 +136,32 @@ get_wep(const char *interface)
+ return (r);
+ }
+
++int
++get_wpa(const char *interface)
++{
++ int r = 0, s, inwkey;
++ struct ieee80211_wpapsk nwkey;
++
++ if ((s = socket(AF_INET, SOCK_DGRAM, 0)) == -1) {
++ return (-1);
++ }
++
++ memset(&nwkey, 0, sizeof(nwkey));
++
++ strlcpy(nwkey.i_name, interface, sizeof(nwkey.i_name));
++
++ if ((inwkey = ioctl(s, SIOCG80211WPAPSK, (caddr_t)&nwkey)) == -1) {
++ close(s);
++ return (-1);
++ }
++ close(s);
++
++ if (inwkey == 0 && nwkey.i_enabled > 0)
++ r = 1;
++
++ return (r);
++}
++
+ /*
+ * get_channel()
+ * get channel number
Index: patches/patch-wl_h
===================================================================
RCS file: patches/patch-wl_h
diff -N -u -p patches/patch-wl_h
--- /dev/null 30 Nov 2009 12:28:48 -0000
+++ patches/patch-wl_h 30 Nov 2009 12:28:48 -0000
@@ -0,0 +1,11 @@
+$OpenBSD$
+--- wl.h.orig Mon Nov 30 13:19:50 2009
++++ wl.h Mon Nov 30 13:15:29 2009
+@@ -25,6 +25,7 @@
+ * prototypes
+ */
+ int get_wep(const char *);
++int get_wpa(const char *);
+ int get_channel(const char *);
+ int get_signal(const char *, const char *);
+ int get_wi_signal(const char *);
Index: patches/patch-wmwlmon_c
===================================================================
RCS file: patches/patch-wmwlmon_c
diff -N -u -p patches/patch-wmwlmon_c
--- /dev/null 30 Nov 2009 12:28:48 -0000
+++ patches/patch-wmwlmon_c 30 Nov 2009 12:28:48 -0000
@@ -0,0 +1,29 @@
+$OpenBSD$
+--- wmwlmon.c.orig Mon Nov 30 13:19:38 2009
++++ wmwlmon.c Mon Nov 30 13:21:05 2009
+@@ -460,6 +460,11 @@ main(int argc, char *argv[])
+ r = get_wep(opt_interface);
+ if (r > 0)
+ copyXPMArea(54, 67, 4, 6, 48, 44);
++
++ /* wpa */
++ r = get_wpa(opt_interface);
++ if (r > 0)
++ copyXPMArea(54, 67, 4, 6, 48, 44);
+ }
+
+ if (nwid != NULL && i % 2 == 0 && nic_status) {
+@@ -541,6 +546,13 @@ debugloop(char *interface)
+ printf("WEP:\t enabled\n");
+ else
+ printf("WEP:\t disabled\n");
++
++ /* wpa */
++ r = get_wpa(interface);
++ if (r > 0)
++ printf("WPA:\t enabled\n");
++ else
++ printf("WPA:\t disabled\n");
+
+ printf("\n");
+ sleep(2);