Ethereal-dev: RE: [ethereal-dev] bug in latest packet_ldap.c (CVS 1.4)

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: Jeff Foster <jfoste@xxxxxxxxxxxx>
Date: Fri, 31 Mar 2000 14:30:46 -0600
>
>On 31 Mar, Jeff Foster wrote:
>>>
>>>Oh well, while working on this, I noticed that the full dissector ran
>>>for each packet even while loading. Based on the code before, I had
>>>assumed that tree would be null during the first pass (while populating
>>>the packet list) and only be set during population of the protocol tree
>>>allowing me to short circuit the dissector. 
>>>
>>>If this is by design, is there something else I can use?
>> 
>> The full dissector (tree != NULL) is run if you have a color filter or
>> a plugin filter. There isn't anything you can to to short circuit the
>> full dissection !! 
>> 
.....
>
>Except I didn't have a filter. I had simply started "ethereal -r
>tracefile". I understand the reason for dissecting with a filter, but
>then why recall the dissector when you select the packet.
>

Checkout the 'add_packet_to_packet_list' routine in file.c.  It creates
the protocol tree root if there is a display filter (cf->dfcode != NULL),
color filter (filter_list != NULL), or a plugin (plugin_list).  I don't 
understand how you would see a filter otherwise.  Anyone else out there
know of a reason ??

If you have saved some color filters they are automatically loaded.
Check for a file named '~/.ethereal/colorfilters'.  

Jeff Foster
jfoste@xxxxxxxxxxxx.