Wireshark-commits: [Wireshark-commits] master 47361b2: ieee80211: Handle variable MIC length for FT

From: Wireshark code review <code-review-do-not-reply@xxxxxxxxxxxxx>
Date: Wed, 10 Apr 2019 02:20:33 +0000
URL: https://code.wireshark.org/review/gitweb?p=wireshark.git;a=commit;h=47361b27376641bbc6a7339c7540c5248a40f008
Submitter: "Alexis La Goutte <alexis.lagoutte@xxxxxxxxx>"
Changed: branch: master
Repository: wireshark

Commits:

47361b2 by Mikael Kanstrup (mikael.kanstrup@xxxxxxxx):

    ieee80211: Handle variable MIC length for FT IE
    
    Also the MIC inside FT IE is variable length in coming IEEE 802.11
    spec. According to IEEE 802.11 spec the MIC length is based on AKMS
    negotiated during (re)association phase. This is good as long as
    the capture file contains needed assoc frames.
    
    Though if association frames are missing the MIC length is unknown.
    As a backup try to use the AKMS found in current frame to
    determine MIC length. Handle this logic in a new function like this:
    
    MIC length is detemined by:
    1. User overridden MIC length setting
    2. AKMS negotiated during association phase (conversation)
    3. AKMS from current frame
    4. Default 16 bytes length.
    
    Also changes had to be done to the ieee80211_packet_data_t handling.
    This structure appears to be used as a temporary storage for data
    related to current frame. However data was stored in file scope making
    it impossible to know whether data was from current or another frame.
    This is fixed by changing to the pinfo pool.
    
    Bug: 15616
    Change-Id: I521d440b47d71cbc94cd6c56714d21274c8dd23e
    Reviewed-on: https://code.wireshark.org/review/32693
    Petri-Dish: Alexis La Goutte <alexis.lagoutte@xxxxxxxxx>
    Tested-by: Petri Dish Buildbot
    Reviewed-by: Alexis La Goutte <alexis.lagoutte@xxxxxxxxx>
    

Actions performed:

    from  e64976d   ieee80211: Fix some coverity scan issues
     add  47361b2   ieee80211: Handle variable MIC length for FT IE


Summary of changes:
 epan/dissectors/packet-ieee80211.c | 221 +++++++++++++++++++++----------------
 epan/dissectors/packet-ieee80211.h |   3 +-
 2 files changed, 128 insertions(+), 96 deletions(-)