hostapd: merge an upstream workaround for broken clients sending the wrong wpa type...
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Tue, 24 Jan 2012 01:49:23 +0000 (01:49 +0000)
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Tue, 24 Jan 2012 01:49:23 +0000 (01:49 +0000)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29876 3c298f89-4303-0410-b956-a3cf2f4a3e73

package/hostapd/patches/100-pending_work.patch
package/hostapd/patches/560-disable_ctrl_iface_mib.patch
package/hostapd/patches/740-group_key_timeout.patch

index d9824f3..8b31819 100644 (file)
  
        if (bss != &drv->first_bss) {
                struct i802_bss *tbss;
+--- a/src/ap/wpa_auth.c
++++ b/src/ap/wpa_auth.c
+@@ -776,7 +776,14 @@ void wpa_receive(struct wpa_authenticato
+       }
+       if (sm->wpa == WPA_VERSION_WPA2) {
+-              if (key->type != EAPOL_KEY_TYPE_RSN) {
++              if (key->type == EAPOL_KEY_TYPE_WPA) {
++                      /*
++                       * Some deployed station implementations seem to send
++                       * msg 4/4 with incorrect type value in WPA2 mode.
++                       */
++                      wpa_printf(MSG_DEBUG, "Workaround: Allow EAPOL-Key "
++                                 "with unexpected WPA type in RSN mode");
++              } else if (key->type != EAPOL_KEY_TYPE_RSN) {
+                       wpa_printf(MSG_DEBUG, "Ignore EAPOL-Key with "
+                                  "unexpected type %d in RSN mode",
+                                  key->type);
index 22f282a..306c051 100644 (file)
                                struct sta_info *sta, int success)
 --- a/src/ap/wpa_auth.c
 +++ b/src/ap/wpa_auth.c
-@@ -2534,6 +2534,7 @@ static int wpa_cipher_bits(int cipher)
+@@ -2541,6 +2541,7 @@ static int wpa_cipher_bits(int cipher)
        }
  }
  
  
  #define RSN_SUITE "%02x-%02x-%02x-%d"
  #define RSN_SUITE_ARG(s) \
-@@ -2697,7 +2698,7 @@ int wpa_get_mib_sta(struct wpa_state_mac
+@@ -2704,7 +2705,7 @@ int wpa_get_mib_sta(struct wpa_state_mac
  
        return len;
  }
index 694b066..c149395 100644 (file)
@@ -1,6 +1,6 @@
 --- a/src/ap/wpa_auth.c
 +++ b/src/ap/wpa_auth.c
-@@ -1330,7 +1330,7 @@ static void wpa_send_eapol(struct wpa_au
+@@ -1337,7 +1337,7 @@ static void wpa_send_eapol(struct wpa_au
                         keyidx, encr, 0);
  
        ctr = pairwise ? sm->TimeoutCtr : sm->GTimeoutCtr;
This page took 0.03104 seconds and 4 git commands to generate.