• Johannes Berg's avatar
    [MAC80211]: fix software decryption · 3017b80b
    Johannes Berg authored
    When doing key selection for software decryption, mac80211 gets
    a few things wrong: it always uses pairwise keys if configured,
    even if the frame is addressed to a multicast address. Also, it
    doesn't allow using a key index of zero if a pairwise key has
    also been found.
    
    This patch changes the key selection code to be (more) in line
    with the 802.11 specification. I have confirmed that with this,
    multicast frames are correctly decrypted and I've tested with
    WEP as well.
    
    While at it, I've cleaned up the semantics of the hardware flags
    IEEE80211_HW_WEP_INCLUDE_IV and IEEE80211_HW_DEVICE_HIDES_WEP
    and clarified them in the mac80211.h header; it is also now
    allowed to set the IEEE80211_HW_DEVICE_HIDES_WEP option even if
    it only applies to frames that have been decrypted by the hw,
    unencrypted frames must be dropped but encrypted frames that
    the hardware couldn't handle can be passed up unmodified.
    Signed-off-by: default avatarJohannes Berg <johannes@sipsolutions.net>
    Acked-by: default avatarMichael Wu <flamingice@sourmilk.net>
    Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
    3017b80b
wpa.c 16.9 KB