From cfceb85c4117431ab482fc7e0344332d0e674529 Mon Sep 17 00:00:00 2001 From: Damien Bergamini Date: Tue, 12 Aug 2008 19:50:40 +0000 Subject: clear Tx_Rx protection bits properly. --- sys/net80211/ieee80211_input.c | 6 ++++-- sys/net80211/ieee80211_proto.c | 3 ++- 2 files changed, 6 insertions(+), 3 deletions(-) (limited to 'sys') 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, -- cgit v1.2.3