diff options
| -rw-r--r-- | openwrt/package/hostapd/Makefile | 4 | ||||
| -rw-r--r-- | openwrt/package/hostapd/patches/100-wpa_fix.patch | 58 | 
2 files changed, 2 insertions, 60 deletions
| diff --git a/openwrt/package/hostapd/Makefile b/openwrt/package/hostapd/Makefile index 7ac6770fc..e7b42dc4a 100644 --- a/openwrt/package/hostapd/Makefile +++ b/openwrt/package/hostapd/Makefile @@ -3,9 +3,9 @@  include $(TOPDIR)/rules.mk  PKG_NAME:=hostapd -PKG_VERSION:=0.4.7 +PKG_VERSION:=0.5.1  PKG_RELEASE:=1 -PKG_MD5SUM:=b299211691fe8a6840e7adafda351d2b +PKG_MD5SUM:=3e38533604187e291f45a2f6873b71cc  PKG_SOURCE_URL:=http://hostap.epitest.fi/releases/  PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz diff --git a/openwrt/package/hostapd/patches/100-wpa_fix.patch b/openwrt/package/hostapd/patches/100-wpa_fix.patch deleted file mode 100644 index 502167cbd..000000000 --- a/openwrt/package/hostapd/patches/100-wpa_fix.patch +++ /dev/null @@ -1,58 +0,0 @@ ---- hostapd-0.4.7/driver_madwifi.c	2006-01-30 10:00:44.199096000 -0800 -+++ hostapd-0.4.7-new/driver_madwifi.c	2006-01-30 10:05:55.925511000 -0800 -@@ -692,6 +692,7 @@ - 	struct hostapd_data *hapd = drv->hapd; - 	struct ieee80211req_wpaie ie; - 	int ielen, res; -+        int rsn = 0; -  - 	/* - 	 * Fetch negotiated WPA/RSN parameters from the system. -@@ -702,26 +703,37 @@ - 		printf("Failed to get WPA/RSN information element.\n"); - 		return -1;		/* XXX not right */ - 	} --	ielen = ie.wpa_ie[1]; --	if (ielen == 0) { -+        if ((ie.wpa_ie[1] == 0) && (ie.rsn_ie[1] == 0)){ - 		printf("No WPA/RSN information element for station!?\n"); - 		return -1;		/* XXX not right */ - 	} -+        ielen = ie.rsn_ie[1];  - 	ielen += 2; --	res = wpa_validate_wpa_ie(hapd, sta, ie.wpa_ie, ielen, --			ie.wpa_ie[0] == WLAN_EID_RSN ? --			    HOSTAPD_WPA_VERSION_WPA2 : HOSTAPD_WPA_VERSION_WPA); --	if (res != WPA_IE_OK) { --		printf("WPA/RSN information element rejected? (res %u)\n", res); --		return -1; --	} -+	res = wpa_validate_wpa_ie(hapd, sta, ie.rsn_ie, ielen,  -+                                  HOSTAPD_WPA_VERSION_WPA2); -+        if (res != WPA_IE_OK){ -+          // now look for WPA IE -+          ielen = ie.wpa_ie[1]; -+          ielen += 2; -+          res = wpa_validate_wpa_ie(hapd, sta, ie.wpa_ie, ielen,  -+                                    HOSTAPD_WPA_VERSION_WPA); -+          if (res != WPA_IE_OK) { -+            printf("WPA/RSN information element rejected? (res %u)\n", res); -+            return -1; -+          } -+        } else { -+          rsn = 1; -+        } - 	free(sta->wpa_ie); - 	sta->wpa_ie = malloc(ielen); - 	if (sta->wpa_ie == NULL) { - 		printf("No memory to save WPA/RSN information element!\n"); - 		return -1; - 	} --	memcpy(sta->wpa_ie, ie.wpa_ie, ielen); -+        if (rsn) -+          memcpy(sta->wpa_ie, ie.rsn_ie, ielen); -+        else -+          memcpy(sta->wpa_ie, ie.wpa_ie, ielen); - 	sta->wpa_ie_len = ielen; - 	return 0; - } | 
