391-vap_auth.patch 1.1 KB

1234567891011121314151617181920212223242526272829
  1. --- a/net80211/ieee80211_input.c
  2. +++ b/net80211/ieee80211_input.c
  3. @@ -1374,7 +1374,7 @@ ieee80211_auth_open(struct ieee80211_nod
  4. vap->iv_stats.is_rx_bad_auth++; /* XXX maybe a unique error? */
  5. if (vap->iv_opmode == IEEE80211_M_HOSTAP) {
  6. if (ni == vap->iv_bss) {
  7. - ni = ieee80211_dup_bss(vap, wh->i_addr2, 0);
  8. + ni = ieee80211_dup_bss(vap, wh->i_addr2, 1);
  9. if (ni == NULL)
  10. return;
  11. tmpnode = 1;
  12. @@ -1762,6 +1762,8 @@ ieee80211_ssid_mismatch(struct ieee80211
  13. }
  14. #define IEEE80211_VERIFY_SSID(_ni, _ssid) do { \
  15. + if ((_ni)->ni_esslen == 0) \
  16. + return; \
  17. if ((_ssid)[1] != 0 && \
  18. ((_ssid)[1] != (_ni)->ni_esslen || \
  19. memcmp((_ssid) + 2, (_ni)->ni_essid, (_ssid)[1]) != 0)) { \
  20. @@ -1776,6 +1778,8 @@ ieee80211_ssid_mismatch(struct ieee80211
  21. } while (0)
  22. #else /* !IEEE80211_DEBUG */
  23. #define IEEE80211_VERIFY_SSID(_ni, _ssid) do { \
  24. + if ((_ni)->ni_esslen == 0) \
  25. + return; \
  26. if ((_ssid)[1] != 0 && \
  27. ((_ssid)[1] != (_ni)->ni_esslen || \
  28. memcmp((_ssid) + 2, (_ni)->ni_essid, (_ssid)[1]) != 0)) { \