On Nov 19, 2015, at 6:57 PM, Michael Mann <mman...@netscape.net> wrote:

> This question has probably been asked before, so I thought I'd at least put a 
> Tennyson twist on it.
>  
> I started getting more serious about converting dissectors to the "new 
> style".  I submitted a bunch of patches where it was obvious that the 
> dissectors fell into the "give me everything" category.  My biggest worry is 
> the comment made by Guy in bug 11134 
> (https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=11134#c13), that some 
> dissectors want to "accept" a tvb (packet) as their own, but don't actually 
> parse any bytes (so it appears that they would "return 0" with the new style).

I ran into that once when trying to make all dissectors new-style.

Now I can't remember what dissectors it was, or how to find them.

> So the remaining ones I'm taking more slowly (with the attitude of unsure 
> means leave as old style) and if anyone know of protocols that behave this 
> way, feel free to convert them (or send me a note)
>  
> The case I keep coming across that I'm not sure how to deal with is 
> dissectors that get a few bytes in (and have already created trees/items for 
> a few fields), and then decide they aren't going to dissect anymore because 
> of a "bad" field value (most commonly "version" or "length").  Should we 
> apply a consistent rule for this?  Like if you're not going to dissect 
> "versions" you don't support, check before making trees and just not bother 
> with expert info saying "version isn't supported" while ceasing dissection.  
> Or dissect as "latest version" (or at least "a" version), but with the expert 
> info applied that the version is unknown.  I'm not sure which scenario users 
> would appreciate more, but I'd like to see it applied as consistently as 
> possible. I believe my preference is for using expert info, but continuing 
> dissection.

Once you've changed a column or added anything to the protocol tree, you don't 
get to return an "this isn't for me, let somebody else dissect it" indication.

> Also, should we clean up a tree if a new-style dissector returns 0 (within 
> the functions in epan/packet.c)?

No.  A dissector should only return 0 if there's nothing *to* clean up.
___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <wireshark-dev@wireshark.org>
Archives:    https://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev
             mailto:wireshark-dev-requ...@wireshark.org?subject=unsubscribe

Reply via email to