clear Tx_Rx protection bits properly.
authordamien <damien@openbsd.org>
Tue, 12 Aug 2008 19:50:39 +0000 (19:50 +0000)
committerdamien <damien@openbsd.org>
Tue, 12 Aug 2008 19:50:39 +0000 (19:50 +0000)
sys/net80211/ieee80211_input.c
sys/net80211/ieee80211_proto.c

index e57853d..e9dd7df 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: ieee80211_input.c,v 1.94 2008/08/12 19:45:22 damien Exp $     */
+/*     $OpenBSD: ieee80211_input.c,v 1.95 2008/08/12 19:50:39 damien Exp $     */
 
 /*-
  * Copyright (c) 2001 Atsushi Onoe
@@ -1735,7 +1735,9 @@ ieee80211_recv_assoc_resp(struct ieee80211com *ic, struct mbuf *m0,
         */
        if (ic->ic_flags & IEEE80211_F_RSNON) {
                /* XXX ic->ic_mgt_timer = 5; */
-       }
+       } else if (ic->ic_flags & IEEE80211_F_WEPON)
+               ni->ni_flags |= IEEE80211_NODE_TXRXPROT;
+
        ieee80211_new_state(ic, IEEE80211_S_RUN,
            IEEE80211_FC0_SUBTYPE_ASSOC_RESP);
 }
index e25ae7f..0504c67 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: ieee80211_proto.c,v 1.31 2008/08/12 18:37:23 damien Exp $     */
+/*     $OpenBSD: ieee80211_proto.c,v 1.32 2008/08/12 19:50:39 damien Exp $     */
 /*     $NetBSD: ieee80211_proto.c,v 1.8 2004/04/30 23:58:20 dyoung Exp $       */
 
 /*-
@@ -517,6 +517,7 @@ ieee80211_auth_open(struct ieee80211com *ic, const struct ieee80211_frame *wh,
                }
                if (ic->ic_flags & IEEE80211_F_RSNON) {
                        /* XXX not here! */
+                       ic->ic_bss->ni_flags &= ~IEEE80211_NODE_TXRXPROT;
                        ic->ic_bss->ni_port_valid = 0;
                        ic->ic_bss->ni_replaycnt_ok = 0;
                        (*ic->ic_delete_key)(ic, ic->ic_bss,