Wireshark-commits: [Wireshark-commits] master ccc591d: [RFC]ieee80211: Fix function to determine mi
From: Wireshark code review <code-review-do-not-reply@xxxxxxxxxxxxx>
Date: Thu, 14 Nov 2019 08:26:36 +0000
URL: https://code.wireshark.org/review/gitweb?p=wireshark.git;a=commit;h=ccc591dd98eccc0f23fe6e47657a8919d6d831a1
Submitter: "Anders Broman <a.broman58@xxxxxxxxx>"
Changed: branch: master
Repository: wireshark

Commits:

ccc591d by Mikael Kanstrup (mikael.kanstrup@xxxxxxxx):

    [RFC]ieee80211: Fix function to determine mic length
    
    The ieee80211 dissector reuses the conversation concept to track
    each association as one conversation. For this a simple counter
    is incremented on each (re)assoc request frame.
    
    There are two already existing hacky tricks for conversation lookup:
    
    1. Each frame is marked with current assoc counter value
    2. pinfo srcport and destport is then set to assoc counter value
    
    With the above a conversation can then be looked up using the normal
    conversation utility functions.
    
    Though depending on the dissection flow a conflicting conversation can
    be created eap dissector making the conversation lookup used for
    function determine_mic_len return the one created by EAP dissector
    instead with the effect that wrong mic length is returned.
    
    Building further on this hack a way to solve this is to explictly
    mark pinfo srcport destport whenever we're either creating or searching
    for a "wlan conversation".
    
    Uploading the patch to get some feedback on how this whole "wlan
    conversation" thing can be properly solved. This error was discovered
    when working on implementing support for bug 16197 where 24 byte long
    MICs are used.
    
    Change-Id: I7bd22cdf5d382a6c5f881ee29820f058d581a94e
    Reviewed-on: https://code.wireshark.org/review/35050
    Petri-Dish: Alexis La Goutte <alexis.lagoutte@xxxxxxxxx>
    Tested-by: Petri Dish Buildbot
    Reviewed-by: Anders Broman <a.broman58@xxxxxxxxx>
    

Actions performed:

    from  820e1c9   dot11decrypt: Export Dot11DecryptDecryptKeyData function
     add  ccc591d   [RFC]ieee80211: Fix function to determine mic length


Summary of changes:
 epan/dissectors/packet-ieee80211.c | 31 +++++++++++++++++++++++--------
 1 file changed, 23 insertions(+), 8 deletions(-)