update to newer version, fix compile issues, 100-wpa_fix.patch removed, is it needed?
SVN-Revision: 3352
This commit is contained in:
parent
e901f912c1
commit
7b7c1032b5
@ -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
|
||||
|
@ -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;
|
||||
}
|
Loading…
Reference in New Issue
Block a user