Wireshark-dev: Re: [Wireshark-dev] Is this a bug in display filter engine or something I have d
From: Richard Sharpe <[email protected]>
Date: Tue, 18 Aug 2015 07:07:08 -0700
On Tue, Aug 18, 2015 at 6:00 AM, Alexis La Goutte
<[email protected]> wrote:
>
>
> On Tue, Aug 18, 2015 at 3:51 AM, Richard Sharpe
> <[email protected]> wrote:
>>
>> Hi folks,
>>
>> I have the following definition (someone else wrote this piece):
>>
>>    {&hf_ieee80211_ff_dmg_params_bss,
>>      {"BSS Type", "wlan.dmg_params.bss",
>>       FT_UINT8, BASE_DEC, VALS(bss_type), 0x03,
>>       NULL, HFILL }},
>>
>> and am dissecting this for Probe Response frames depending on whether
>> or not it is a DMG STA or not (based on the frequency of the STA:
>> 70,000 MHz):
>>
>>   gboolean     *p_isDMG =
>> ((gboolean*)(p_get_proto_data(wmem_file_scope(), pinfo, proto_wlan,
>> IS_DMG_KEY)));
>> ...
>>   if (p_isDMG && *p_isDMG) {
>>     add_ff_dmg_params(cap_tree, tvb, pinfo, offset);
>> ...
>>
>> This displays correctly, but if we specify a display filter of
>> wlan.dmg_params.bss == 1 nothing is found.
>>
>> What do I need to do here to make this work?
>>
> Hi,
>
> Or *p_isDMG is not initial for the first pass ?

Yes, this looks like the problem. I think I need to hoist the test and
setting to the top of the ieee802.11 dissector so that it is available
early for all dissections.

-- 
Regards,
Richard Sharpe
(何以解憂?唯有杜康。--曹操)