aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/net80211/ieee80211_input.c7
-rw-r--r--sys/net80211/ieee80211_output.c8
2 files changed, 7 insertions, 8 deletions
diff --git a/sys/net80211/ieee80211_input.c b/sys/net80211/ieee80211_input.c
index 3812d5012948..eda22a001dd1 100644
--- a/sys/net80211/ieee80211_input.c
+++ b/sys/net80211/ieee80211_input.c
@@ -891,6 +891,12 @@ ieee80211_auth_open(struct ieee80211com *ic, struct ieee80211_frame *wh,
IEEE80211_DPRINTF(ic, IEEE80211_MSG_DEBUG | IEEE80211_MSG_AUTH,
"[%s] station authenticated (open)\n",
ether_sprintf(ni->ni_macaddr));
+ /*
+ * When 802.1x is not in use mark the port
+ * authorized at this point so traffic can flow.
+ */
+ if (ni->ni_authmode != IEEE80211_AUTH_8021X)
+ ieee80211_node_authorize(ic, ni);
break;
case IEEE80211_M_STA:
@@ -1106,6 +1112,7 @@ ieee80211_auth_shared(struct ieee80211com *ic, struct ieee80211_frame *wh,
IEEE80211_MSG_DEBUG | IEEE80211_MSG_AUTH,
"[%s] station authenticated (shared key)\n",
ether_sprintf(ni->ni_macaddr));
+ ieee80211_node_authorize(ic, ni);
break;
default:
IEEE80211_DISCARD_MAC(ic, IEEE80211_MSG_AUTH,
diff --git a/sys/net80211/ieee80211_output.c b/sys/net80211/ieee80211_output.c
index b0fa613216a2..0319a39baf9d 100644
--- a/sys/net80211/ieee80211_output.c
+++ b/sys/net80211/ieee80211_output.c
@@ -1111,14 +1111,6 @@ ieee80211_send_mgmt(struct ieee80211com *ic, struct ieee80211_node *ni,
else
IEEE80211_NODE_STAT(ni, tx_auth_fail);
- /*
- * When 802.1x is not in use mark the port
- * authorized at this point so traffic can flow.
- */
- if (ic->ic_opmode == IEEE80211_M_HOSTAP &&
- status == IEEE80211_STATUS_SUCCESS &&
- ni->ni_authmode != IEEE80211_AUTH_8021X)
- ieee80211_node_authorize(ic, ni);
if (ic->ic_opmode == IEEE80211_M_STA)
timer = IEEE80211_TRANS_WAIT;
break;