summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDamien Bergamini <damien@cvs.openbsd.org>2008-08-12 19:50:40 +0000
committerDamien Bergamini <damien@cvs.openbsd.org>2008-08-12 19:50:40 +0000
commitcfceb85c4117431ab482fc7e0344332d0e674529 (patch)
tree455d06cad0eb1791b03650fca42b11d5b2a0530f
parent22fb3cbd09eaff49bfbf93f00a8ae49c94327933 (diff)
clear Tx_Rx protection bits properly.
-rw-r--r--sys/net80211/ieee80211_input.c6
-rw-r--r--sys/net80211/ieee80211_proto.c3
2 files changed, 6 insertions, 3 deletions
diff --git a/sys/net80211/ieee80211_input.c b/sys/net80211/ieee80211_input.c
index e57853d8e72..e9dd7df6507 100644
--- a/sys/net80211/ieee80211_input.c
+++ b/sys/net80211/ieee80211_input.c
@@ -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);
}
diff --git a/sys/net80211/ieee80211_proto.c b/sys/net80211/ieee80211_proto.c
index e25ae7fac69..0504c675a6a 100644
--- a/sys/net80211/ieee80211_proto.c
+++ b/sys/net80211/ieee80211_proto.c
@@ -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,