Wireshark-commits: [Wireshark-commits] master 139e428: dhcp: DHCP option 77 User Class Option 'Micr

From: Wireshark code review <code-review-do-not-reply@xxxxxxxxxxxxx>
Date: Tue, 28 Jan 2020 14:55:25 +0000
URL: https://code.wireshark.org/review/gitweb?p=wireshark.git;a=commit;h=139e4288d3c098ea1071f38949f39d8b5423a89d
Submitter: "Anders Broman <a.broman58@xxxxxxxxx>"
Changed: branch: master
Repository: wireshark

Commits:

139e428 by Andre Luyer (andre@xxxxxxxx):

    dhcp: DHCP option 77 User Class Option 'Microsoft bug'
    
    The Microsoft 'variation' of RFC 3004 causes a '[Malformed Packet]' when the
    "User Class Length" (dhcp.option.user_class.length) exceeds the total length
    of the DHCP option 77 User Class Option (dhcp.option.length) because it is a
    character and not a length field.
    This stops the dissection of the rest of the DHCP packet, including the Vendor
    class identifier when containing "MSFT 5.0" indicates the Microsoft variation.
    A simple fix is to treat dhcp.option.user_class.length >= dhcp.option.length
    as a non-conformant (text) option.
    https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-dhcpe/fe8a2dd4-1e8c-4546-bacd-4ae10de02058
    
    Bug: 16349
    Change-Id: Ia7b90302efd0b84eb508db35a3b246142bf66510
    Reviewed-on: https://code.wireshark.org/review/35962
    Petri-Dish: Alexis La Goutte <alexis.lagoutte@xxxxxxxxx>
    Tested-by: Petri Dish Buildbot
    Reviewed-by: Anders Broman <a.broman58@xxxxxxxxx>
    

Actions performed:

    from  b7802d7   Netflow: updated Niagara Networks decodes for RADIUS IPFIX IEs.
     add  139e428   dhcp: DHCP option 77 User Class Option 'Microsoft bug'


Summary of changes:
 epan/dissectors/packet-dhcp.c | 62 +++++++++++++++++++++----------------------
 1 file changed, 30 insertions(+), 32 deletions(-)