aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/work.c
diff options
context:
space:
mode:
authorAntonio Quartulli <ordex@autistici.org>2012-01-09 13:43:06 -0500
committerJohn W. Linville <linville@tuxdriver.com>2012-01-24 14:08:39 -0500
commitefa6a09db6d6c27557fb55299b9835b45b968eae (patch)
tree6ce9d715266bd618c35e1dc8bff7087ae9badae5 /net/mac80211/work.c
parente9980e6d20a5c4d3f52359142ab3569171759a5b (diff)
mac80211: In IBSS the DA field of auth frames is different from BSSID
In case of authentication frame exchange between two IBSS STAs, the DA field must contain the destinatioin address (instead of the BSSID). Signed-off-by: Antonio Quartulli <ordex@autistici.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/work.c')
-rw-r--r--net/mac80211/work.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/net/mac80211/work.c b/net/mac80211/work.c
index c6dd01a0529..0a1a176fbe9 100644
--- a/net/mac80211/work.c
+++ b/net/mac80211/work.c
@@ -480,7 +480,8 @@ ieee80211_authenticate(struct ieee80211_work *wk)
480 sdata->name, wk->filter_ta, wk->probe_auth.tries); 480 sdata->name, wk->filter_ta, wk->probe_auth.tries);
481 481
482 ieee80211_send_auth(sdata, 1, wk->probe_auth.algorithm, wk->ie, 482 ieee80211_send_auth(sdata, 1, wk->probe_auth.algorithm, wk->ie,
483 wk->ie_len, wk->filter_ta, NULL, 0, 0); 483 wk->ie_len, wk->filter_ta, wk->filter_ta, NULL, 0,
484 0);
484 wk->probe_auth.transaction = 2; 485 wk->probe_auth.transaction = 2;
485 486
486 wk->timeout = jiffies + IEEE80211_AUTH_TIMEOUT; 487 wk->timeout = jiffies + IEEE80211_AUTH_TIMEOUT;
@@ -598,7 +599,7 @@ static void ieee80211_auth_challenge(struct ieee80211_work *wk,
598 return; 599 return;
599 ieee80211_send_auth(sdata, 3, wk->probe_auth.algorithm, 600 ieee80211_send_auth(sdata, 3, wk->probe_auth.algorithm,
600 elems.challenge - 2, elems.challenge_len + 2, 601 elems.challenge - 2, elems.challenge_len + 2,
601 wk->filter_ta, wk->probe_auth.key, 602 wk->filter_ta, wk->filter_ta, wk->probe_auth.key,
602 wk->probe_auth.key_len, wk->probe_auth.key_idx); 603 wk->probe_auth.key_len, wk->probe_auth.key_idx);
603 wk->probe_auth.transaction = 4; 604 wk->probe_auth.transaction = 4;
604} 605}