From ae33c64a37c8a8d6dc1e38678e967f2e457bc33a Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Fri, 29 Apr 2011 16:41:35 +0000 Subject: [PATCH] libiwinfo: - don't assume madwifi and nl80211 backends if no backend given - only print intersection of group and unicast ciphers in crypto description - fix crypto detection on madwifi in client mode - bump pkg revision --- contrib/package/iwinfo/Makefile | 4 ++-- contrib/package/iwinfo/src/Makefile | 2 +- contrib/package/iwinfo/src/iwinfo_lualib.c | 9 ++++++--- contrib/package/iwinfo/src/iwinfo_madwifi.c | 4 +++- 4 files changed, 12 insertions(+), 7 deletions(-) diff --git a/contrib/package/iwinfo/Makefile b/contrib/package/iwinfo/Makefile index 278bdecb10..90d9bbaa06 100644 --- a/contrib/package/iwinfo/Makefile +++ b/contrib/package/iwinfo/Makefile @@ -1,5 +1,5 @@ # -# Copyright (C) 2010 Jo-Philipp Wich +# Copyright (C) 2010-2011 Jo-Philipp Wich # # This is free software, licensed under the GPL 2 license. # @@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=libiwinfo -PKG_RELEASE:=13 +PKG_RELEASE:=14 PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME) diff --git a/contrib/package/iwinfo/src/Makefile b/contrib/package/iwinfo/src/Makefile index 024582b0be..a7a7b9a581 100644 --- a/contrib/package/iwinfo/src/Makefile +++ b/contrib/package/iwinfo/src/Makefile @@ -1,4 +1,4 @@ -IWINFO_BACKENDS = $(if $(BACKENDS),$(BACKENDS),madwifi nl80211) +IWINFO_BACKENDS = $(BACKENDS) IWINFO_LDFLAGS = $(LDFLAGS) -shared -llua IWINFO_CFLAGS = $(CFLAGS) -std=gnu99 -fstrict-aliasing IWINFO_SO = iwinfo.so diff --git a/contrib/package/iwinfo/src/iwinfo_lualib.c b/contrib/package/iwinfo/src/iwinfo_lualib.c index b327d08d80..516b11fffc 100644 --- a/contrib/package/iwinfo/src/iwinfo_lualib.c +++ b/contrib/package/iwinfo/src/iwinfo_lualib.c @@ -417,19 +417,22 @@ static char * iwinfo_crypto_desc(struct iwinfo_crypto_entry *c) case 3: sprintf(desc, "mixed WPA/WPA2 %s (%s)", iwinfo_crypto_print_suites(c->auth_suites), - iwinfo_crypto_print_ciphers(c->pair_ciphers)); + iwinfo_crypto_print_ciphers( + c->pair_ciphers & c->group_ciphers)); break; case 2: sprintf(desc, "WPA2 %s (%s)", iwinfo_crypto_print_suites(c->auth_suites), - iwinfo_crypto_print_ciphers(c->pair_ciphers)); + iwinfo_crypto_print_ciphers( + c->pair_ciphers & c->group_ciphers)); break; case 1: sprintf(desc, "WPA %s (%s)", iwinfo_crypto_print_suites(c->auth_suites), - iwinfo_crypto_print_ciphers(c->pair_ciphers)); + iwinfo_crypto_print_ciphers( + c->pair_ciphers & c->group_ciphers)); break; } } diff --git a/contrib/package/iwinfo/src/iwinfo_madwifi.c b/contrib/package/iwinfo/src/iwinfo_madwifi.c index 59c42dbc9f..54a77cd4dc 100644 --- a/contrib/package/iwinfo/src/iwinfo_madwifi.c +++ b/contrib/package/iwinfo/src/iwinfo_madwifi.c @@ -560,9 +560,11 @@ int madwifi_get_encryption(const char *ifname, char *buf) if( madwifi_wrq(&wrq, ifname, SIOCGIWENCODE, keybuf, sizeof(keybuf)) < 0 ) return -1; +#if 0 /* Have any encryption? */ if( (wrq.u.data.flags & IW_ENCODE_DISABLED) || (wrq.u.data.length == 0) ) return 0; +#endif /* Save key len */ key_len = wrq.u.data.length; @@ -628,7 +630,7 @@ int madwifi_get_encryption(const char *ifname, char *buf) if( c->wpa_version && ciphers & (1 << IEEE80211_CIPHER_CKIP) ) c->pair_ciphers |= IWINFO_CIPHER_CKIP; - if( ciphers & (1 << IEEE80211_CIPHER_WEP) ) + if( !c->pair_ciphers && ciphers & (1 << IEEE80211_CIPHER_WEP) ) { switch(key_len) { case 13: -- 2.30.2