Markus Theil 65c835ebe2 mac80211: allow rx of mesh eapol frames with default rx key
[ Upstream commit 0b467b63870d9c05c81456aa9bfee894ab2db3b6 ]

Without this patch, eapol frames cannot be received in mesh
mode, when 802.1X should be used. Initially only a MGTK is
defined, which is found and set as rx->key, when there are
no other keys set. ieee80211_drop_unencrypted would then
drop these eapol frames, as they are data frames without
encryption and there exists some rx->key.

Fix this by differentiating between mesh eapol frames and
other data frames with existing rx->key. Allow mesh mesh
eapol frames only if they are for our vif address.

With this patch in-place, ieee80211_rx_h_mesh_fwding continues
after the ieee80211_drop_unencrypted check and notices, that
these eapol frames have to be delivered locally, as they should.

Signed-off-by: Markus Theil <markus.theil@tu-ilmenau.de>
Link: https://lore.kernel.org/r/20200625104214.50319-1-markus.theil@tu-ilmenau.de
[small code cleanups]
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2020-07-29 10:18:26 +02:00
..
2019-09-27 15:10:34 -07:00
2019-09-26 08:56:17 +02:00
2020-05-20 08:20:08 +02:00
2020-07-22 09:32:46 +02:00
2019-12-04 22:30:54 +01:00
2019-10-24 14:53:48 -07:00
2020-01-17 19:48:52 +01:00
2020-06-24 17:50:44 +02:00
2020-01-17 19:48:52 +01:00