Wireshark mailing list archives

Does it make sense to have an FT_BOOLEAN field and > 1 bit set in mask?


From: Martin Mathieson via Wireshark-dev <wireshark-dev () wireshark org>
Date: Thu, 14 Oct 2021 13:52:31 +0100

I added this check to tools/check_typed_item_calls.py --mask

I am hoping that someone will recognise a protocol they know and check out
what is reported, and to be able to work out if this check makes sense to
do.

Quite a few of the current cases have to do with multi-bit reserved fields,
where I guess you don't want to know the value the bits represent, but just
to see if any were set...  Even then, it may be quicker to see a value that
is zero or not rather than manually check each bit.

The first case (ansi_a_bsmap.hho_params.enc_mode), has 2 bits set but uses
VALS(&tfs_enabled_disabled).  But looking at
http://www.3gpp2.org/Public_html/Specs/A.S0014-0_v1.0.pdf, the only valid
values are 00 and 01, so this is OK.

So in the case of packet-mac-nr.c, I would want to make the field a
FT_UINT8 instead (the first 2 bits of byte are reserved).

For packet-zbee-zcl.c, it wants to show the values of all of the bits in a
byte, and TFS(&tfs_true_false) is used.  I don't even know what the filter
value would be here (the value of the whole byte?).

Here is the current output:

Warning: epan/dissectors/packet-ansi_a.c: - filter
"ansi_a_bsmap.hho_params.enc_mode" label "Encryption Mode" - type is
FT_BOOLEAN but has 2 bits set! 0x06
Warning: epan/dissectors/packet-ansi_a.c: - filter
"ansi_a_bsmap.amps_hho_params.enc_mode" label "Encryption Mode" - type is
FT_BOOLEAN but has 2 bits set! 0x03
Warning: epan/dissectors/packet-btatt.c: - filter
"btatt.location_and_speed.flags.heading_source" label "Heading Source" -
type is FT_BOOLEAN but has 2 bits set! 0x3000
Warning: epan/dissectors/packet-bthci_cmd.c: - filter
"btcommon.eir_ad.entry.3ds.reserved" label "Reserved" - type is FT_BOOLEAN
but has 4 bits set! 0x78
Warning: epan/dissectors/packet-bthci_evt.c: - filter
"bthci_evt.lmp_features.reserved.59_62" label "Reserved" - type is
FT_BOOLEAN but has 4 bits set! 0x78
Warning: epan/dissectors/packet-dhcpv6.c: - filter
"dhcpv6.failover.connect.flags.reserved" label "Reserved" - type is
FT_BOOLEAN but has 15 bits set! 0xfffe
Warning: epan/dissectors/packet-dhcpv6.c: - filter
"dhcpv6.failover.dns.flags.reserved" label "Reserved" - type is FT_BOOLEAN
but has 12 bits set! 0xfff0
Warning: epan/dissectors/packet-dhcpv6.c: - filter
"dhcpv6.failover.server.flags.reserved" label "Reserved" - type is
FT_BOOLEAN but has 5 bits set! 0xf8
Warning: epan/dissectors/packet-dhcpv6.c: - filter
"dhcpv6.s46_rule.flags.reserved" label "Reserved" - type is FT_BOOLEAN but
has 7 bits set! 0xfe
Warning: epan/dissectors/packet-diameter_3gpp.c: - filter
"diameter.3gpp.pla_flags_spare_bits" label "Spare" - type is FT_BOOLEAN but
has 28 bits set! 0xfffffff0
Warning: epan/dissectors/packet-docsis-tlv.c: - filter
"docsis_tlv.mcap.up_ofdma_chan_subc_qam_mod_sup.reserved" label "Reserved"
- type is FT_BOOLEAN but has 3 bits set! 0x8003
Warning: epan/dissectors/packet-ehs.c: - filter "ehs2.tdm_obt_reserved"
label "OBT Reserved" - type is FT_BOOLEAN but has 2 bits set! 0x1800
Warning: epan/dissectors/packet-erldp.c: - filter
"erldp.dist_header.new_cache" label "LongAtoms" - type is FT_BOOLEAN but
has 2 bits set! 0x12
Warning: epan/dissectors/packet-glusterfs.c: - filter
"glusterfs.flags.rdonly" label "O_RDONLY" - type is FT_BOOLEAN but has 32
bits set! 0xffffffff
Warning: epan/dissectors/packet-glusterfs.c: - filter
"glusterfs.flags.reserved" label "Unused" - type is FT_BOOLEAN but has 16
bits set! 037774000074
Warning: epan/dissectors/packet-ieee80211.c: - filter
"wlan.ext_tag.he_phy_cap.max_nc" label "Max Nc" - type is FT_BOOLEAN but
has 3 bits set! 0x0038
Warning: epan/dissectors/packet-isis-hello.c: - filter
"isis.hello.vlan_flags.reserved" label "Reserved" - type is FT_BOOLEAN but
has 3 bits set! 0x7000
Warning: epan/dissectors/packet-isis-hello.c: - filter
"isis.hello.trill.unassigned_1" label "Unassigned" - type is FT_BOOLEAN but
has 2 bits set! 0x60000000
Warning: epan/dissectors/packet-isis-hello.c: - filter
"isis.hello.trill.hop_by_hop_flags" label "Hop-by-hop Extended Header
Flags" - type is FT_BOOLEAN but has 11 bits set! 0x1ffc0000
Warning: epan/dissectors/packet-isis-hello.c: - filter
"isis.hello.trill.unassigned_2" label "Unassigned" - type is FT_BOOLEAN but
has 18 bits set! 0x0003ffff
Warning: epan/dissectors/packet-isis-lsp.c: - filter
"isis.lsp.rt_capable.trill.caps" label "Other Capabilities" - type is
FT_BOOLEAN but has 12 bits set! 0x3ffc0000
Warning: epan/dissectors/packet-isis-lsp.c: - filter
"isis.lsp.rt_capable.trill.flags" label "Extended Header Flags" - type is
FT_BOOLEAN but has 18 bits set! 0x0003ffff
Warning: epan/dissectors/packet-mac-nr.c: - filter
"mac-nr.control.me-phr.reserved" label "Reserved" - type is FT_BOOLEAN but
has 2 bits set! 0xc0
Warning: epan/dissectors/packet-mbim.c: - filter
"mbim.control.data_class.reserved_gsm" label "Reserved for future GSM
classes" - type is FT_BOOLEAN but has 9 bits set! 0x0000ff80
Warning: epan/dissectors/packet-mbim.c: - filter
"mbim.control.data_class.reserved_cdma" label "Reserved for future CDMA
classes" - type is FT_BOOLEAN but has 8 bits set! 0x7f800000
Warning: epan/dissectors/packet-nvme.c: - filter "
nvme.cmd.set_features.dword11.irqv.cd" label "Coalescing Disable" - type is
FT_BOOLEAN but has 17 bits set! 0x1ffff
Warning: epan/dissectors/packet-nvme.c: - filter
"nvme.cmd.get_logpage.selftest.res.vdi.rsvd" label "Reserved" - type is
FT_BOOLEAN but has 4 bits set! 0xf0
Warning: epan/dissectors/packet-nvme.c: - filter
"nvme.cmd.get_logpage.egroup.cw.rsvd1" label "Reserved" - type is
FT_BOOLEAN but has 4 bits set! 0xf0
Warning: epan/dissectors/packet-opensafety.c: - filter
"opensafety.ssdo.preload.error" label "Wrong/missing segment" - type is
FT_BOOLEAN but has 2 bits set! 0x30
Warning: epan/dissectors/packet-skinny.c: - filter
"skinny.RestrictInformationType.BitsReserved" label "BitsReserved" - type
is FT_BOOLEAN but has 24 bits set! 0xffffff00
Warning: epan/dissectors/packet-skinny.c: - filter
"skinny.RestrictInformationType.CalledParty" label "CalledParty" - type is
FT_BOOLEAN but has 2 bits set! 0x000c
Warning: epan/dissectors/packet-skinny.c: - filter
"skinny.RestrictInformationType.CallingParty" label "CallingParty" - type
is FT_BOOLEAN but has 2 bits set! 0x0003
Warning: epan/dissectors/packet-skinny.c: - filter
"skinny.RestrictInformationType.LastRedirectParty" label
"LastRedirectParty" - type is FT_BOOLEAN but has 2 bits set! 0x00c0
Warning: epan/dissectors/packet-skinny.c: - filter
"skinny.RestrictInformationType.OriginalCalledParty" label
"OriginalCalledParty" - type is FT_BOOLEAN but has 2 bits set! 0x0030
Warning: epan/dissectors/packet-smb2.c: - filter
"smb2.query_quota_info.single" label "ReturnSingle" - type is FT_BOOLEAN
but has 8 bits set! 0xff
Warning: epan/dissectors/packet-smb2.c: - filter
"smb2.query_quota_info.restart" label "RestartScan" - type is FT_BOOLEAN
but has 8 bits set! 0xff
Warning: epan/dissectors/packet-synphasor.c: - filter
"synphasor.conf.phasor_user_flags" label "Binary format" - type is
FT_BOOLEAN but has 8 bits set! 0xff
Warning: epan/dissectors/packet-tds.c: - filter
"tds.colmetadata.flags.updateable" label "Updateable" - type is FT_BOOLEAN
but has 2 bits set! 0x3000
Warning: epan/dissectors/packet-tds.c: - filter
"tds.colmetadata.flags.reservedodbc" label "Reserved ODBC" - type is
FT_BOOLEAN but has 2 bits set! 0x0300
Warning: epan/dissectors/packet-wassp.c: - filter "wassp.priority" label
"Priority bit" - type is FT_BOOLEAN but has 8 bits set! 0xff
Warning: epan/dissectors/packet-zbee-zcl.c: - filter
"zbee_zcl.attr.boolean" label "Boolean" - type is FT_BOOLEAN but has 8 bits
set! 0xff
Warning: plugins/epan/unistim/packet-unistim.c: - filter
"unistim.bit.fields" label "FLAGS" - type is FT_BOOLEAN but has 8 bits set!
0xff
___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <wireshark-dev () wireshark org>
Archives:    https://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://www.wireshark.org/mailman/options/wireshark-dev
             mailto:wireshark-dev-request () wireshark org?subject=unsubscribe

Current thread: