diff options
| -rw-r--r-- | sys/net80211/ieee80211_input.c | 7 | ||||
| -rw-r--r-- | sys/net80211/ieee80211_output.c | 8 |
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; |
