Hi Chris,

You could try the development version, which already has a solution to this 
issue implemented.

Thanks,
Jaap


> On 5 Mar 2025, at 16:09, Chris Hall <wiresh...@gmch.uk> wrote:
> 
> 
> I enclose a short .pcapng which includes one DHCP Discover and one DHCP 
> Request message.  Both contain the same malformed Option 124 
> (Vendor-Identifying Vendor Class).  The dissector spots this and reports it.
> 
> So far, so good.
> 
> Option 124 comprises a number of variable length 'vendor-class-data' fields, 
> each comprising a number of variable length 'opaque-data' items.  In this 
> case one of the required 'data-len' octets *inside* the option has been 
> omitted.  So the body of the option appears to exceed the overall option 
> length.
> 
> The dissector gives up as soon as it sees the error.  It does not show any of 
> the following options.  As it happens, there are four of those in the DHCP 
> DISCOVER message.
> 
> I suggest the dissector is giving up too early.  Or, conversely, the 
> dissector is considering the contents of each option too early.
> 
> Obviously, a DHCP server can simply step past options it does not care about 
> (or does not understand), without considering the contents of any option.  In 
> this case, a DHCP Server that does not handle Option 124 will find the 
> messages perfectly well formed.
> 
> I suggest the dissector should first step through the options and check that 
> they end with the expected 0xFF 'End Option', and:
> 
>  * if the expected 0xFF is not found, then something is badly wrong
>    and the dissector may have difficulty making sense of it all.
> 
>  * but where the expected 0xFF *is* found, it would be reasonable
>    for the dissector to then show all the options, and assume that
>    any errors found within a given option, are internal to that
>    option.
> 
> Anyway: the way the dissector currently handles this particular kind of 
> problem:
> 
>  a) hides information about the well formed options which follow
>     the broken one.
> 
>  b) overstates the significance of the internal error in the
>     malformed option.
> 
> Chris
_______________________________________________
Wireshark-dev mailing list -- wireshark-dev@wireshark.org
To unsubscribe send an email to wireshark-dev-le...@wireshark.org

Reply via email to