Wireshark-dev: [Wireshark-dev] range_string checking
From: Martin Mathieson <martin.r.mathieson@xxxxxxxxxxxxxx>
Date: Thu, 2 Apr 2020 21:08:09 +0000
Hi,
I have been adding checking to proto.c (that will be protected by #ifdef ENABLE_CHECK_FILTER) to see if range_string arrays passed into tmp_fld_check_assert() look sensible.
The checks I'm doing are:
(1) it is a problem if the max is < min for any range_string
(2) if an entry within an array is *completely* hidden by an earlier one, that is a problem (they are checked in the order they are given in try_rval_to_str_idx()
It is common to have a 'catch-all' case for parts or all of the range, which is Ok if it comes after more specific entries. I'm wondering if its worth complaining if *part* of an entry is hidden by an earlier one? Current output from master is as below. I will try to fix them up where I can access the relevant specs, but wanted to check my understanding of how they work and how fussy we should be? I will most likely update README.dissector to make sure it is clear how it is evaluated in order.
Best regards,
Martin
value_range_string error: AVBTP Subtype (ieee1722.subtype) hidden by earlier entry (prev="Reserved for future protocols": 131 -> 237) (this="ECC Signed Control Format": 236 -> 236)
value_range_string error: AVBTP Subtype (ieee1722.subtype) hidden by earlier entry (prev="Reserved for future protocols": 131 -> 237) (this="ECC Encrypted Control Format": 237 -> 237)
value_range_string error: Quality of Service Delay class (diameter.3gpp.qos.delay_cls) entry for "Reserved" - max(0) is less than min(7)
value_range_string error: Application Id (eiss.app_id) entry for "Signed Application" - max(16383) is less than min(16384)
value_range_string error: Nature of address indicator (gsm_map.locationnumber.nai) hidden by earlier entry (prev="spare": 112 -> 126) (this="reserved for national use": 112 -> 126)
value_range_string error: TP-Failure-Cause (TP-FCS) (gsm_sms.tp-fcs) hidden by earlier entry (prev="TP-PID errors": 128 -> 143) (this="Telematic interworking not supported": 128 -> 128)
value_range_string error: TP-Failure-Cause (TP-FCS) (gsm_sms.tp-fcs) hidden by earlier entry (prev="TP-PID errors": 128 -> 143) (this="Short message Type 0 not supported": 129 -> 129)
value_range_string error: TP-Failure-Cause (TP-FCS) (gsm_sms.tp-fcs) hidden by earlier entry (prev="TP-PID errors": 128 -> 143) (this="Cannot replace short message": 130 -> 130)
value_range_string error: TP-Failure-Cause (TP-FCS) (gsm_sms.tp-fcs) hidden by earlier entry (prev="TP-PID errors": 128 -> 143) (this="Reserved": 131 -> 142)
value_range_string error: TP-Failure-Cause (TP-FCS) (gsm_sms.tp-fcs) hidden by earlier entry (prev="TP-PID errors": 128 -> 143) (this="Unspecified TP-PID error": 143 -> 143)
value_range_string error: TP-Failure-Cause (TP-FCS) (gsm_sms.tp-fcs) hidden by earlier entry (prev="TP-PID errors": 128 -> 143) (this="Reserved": 131 -> 142)
value_range_string error: TP-Failure-Cause (TP-FCS) (gsm_sms.tp-fcs) hidden by earlier entry (prev="Reserved": 131 -> 142) (this="Reserved": 131 -> 142)
value_range_string error: Message Type (hislip.messagetype) hidden by earlier entry (prev="FatalError": 2 -> 3) (this="Error": 3 -> 3)
value_range_string error: Notify Message Type (isakmp.notify.msgtype) hidden by earlier entry (prev="RESERVED": 15 -> 16) (this="RESERVED": 15 -> 16)
value_range_string error: Type of delayed charging information (isup.japan.charge_delay_type) hidden by earlier entry (prev="Reserved for network specific use": 1 -> 252) (this="Spare": 129 -> 250)
value_range_string error: Type (nan.ranging_setup.type) entry for "Response" - max(0) is less than min(1)
value_range_string error: Type (nan.ranging_setup.type) entry for "Termination" - max(0) is less than min(2)
value_range_string error: destination_offset (optommp.destination_offset) hidden by earlier entry (prev="Wiegand Serial Event Configuration - Read/Write": 4048945152 -> 4059434879) (this="SNAP High-Density Digital - Read Only": 4051730432 -> 4051738622)
value_range_string error: destination_offset (optommp.destination_offset) hidden by earlier entry (prev="Wiegand Serial Event Configuration - Read/Write": 4048945152 -> 4059434879) (this="SNAP High-Density Digital Read and Clear - Read/Write": 4051738624 -> 4051746814)
value_range_string error: destination_offset (optommp.destination_offset) hidden by earlier entry (prev="Wiegand Serial Event Configuration - Read/Write": 4048945152 -> 4059434879) (this="SNAP High-Density Digital Write - Read/Write": 4051746816 -> 4051747838)
value_range_string error: Video/Audio Control Data (tn5250.vac_data) hidden by earlier entry (prev="Set PIP Location and Size": 0 -> 4294967295) (this="Set PIP See Through On": 520093697 -> 520093697)
value_range_string error: Video/Audio Control Data (tn5250.vac_data) hidden by earlier entry (prev="Set PIP Location and Size": 0 -> 4294967295) (this="Set PIP SeeThrough Off": 520093696 -> 520093696)
value_range_string error: Video/Audio Control Data (tn5250.vac_data) hidden by earlier entry (prev="Set PIP Location and Size": 0 -> 4294967295) (this="Freeze PIP": 536870913 -> 536870913)
value_range_string error: Video/Audio Control Data (tn5250.vac_data) hidden by earlier entry (prev="Set PIP Location and Size": 0 -> 4294967295) (this="Resume After Freeze": 536870912 -> 536870912)
value_range_string error: Video/Audio Control Data (tn5250.vac_data) hidden by earlier entry (prev="Set PIP Location and Size": 0 -> 4294967295) (this="Set PC/TV Channel": 301989888 -> 301989988)
value_range_string error: Video/Audio Control Data (tn5250.vac_data) hidden by earlier entry (prev="Set PIP Location and Size": 0 -> 4294967295) (this="Set Antenna Tuner Source": 285212672 -> 285212672)
value_range_string error: Video/Audio Control Data (tn5250.vac_data) hidden by earlier entry (prev="Set PIP Location and Size": 0 -> 4294967295) (this="Set Cable Tuner Source": 285212673 -> 285212673)
value_range_string error: Video/Audio Control Data (tn5250.vac_data) hidden by earlier entry (prev="Set PIP Location and Size": 0 -> 4294967295) (this="Disable Internal Speaker": 553648129 -> 553648129)
value_range_string error: Video/Audio Control Data (tn5250.vac_data) hidden by earlier entry (prev="Set PIP Location and Size": 0 -> 4294967295) (this="Enable Internal Speaker": 553648128 -> 553648128)
value_range_string error: Video/Audio Control Data (tn5250.vac_data) hidden by earlier entry (prev="Set PIP Location and Size": 0 -> 4294967295) (this="Keyboard Disable": 385875969 -> 385875969)
value_range_string error: Video/Audio Control Data (tn5250.vac_data) hidden by earlier entry (prev="Set PIP Location and Size": 0 -> 4294967295) (this="Keyboard Enable": 385875968 -> 385875968)
value_range_string error: Video/Audio Control Data (tn5250.vac_data) hidden by earlier entry (prev="Set PIP Location and Size": 0 -> 4294967295) (this="Set PC/TV Brightness": 218103808 -> 218103908)
value_range_string error: Video/Audio Control Data (tn5250.vac_data) hidden by earlier entry (prev="Set PIP Location and Size": 0 -> 4294967295) (this="Set PC/TV Color": 251658240 -> 251658340)
value_range_string error: Video/Audio Control Data (tn5250.vac_data) hidden by earlier entry (prev="Set PIP Location and Size": 0 -> 4294967295) (this="Set PC/TV Contrast": 234881024 -> 234881124)
value_range_string error: Video/Audio Control Data (tn5250.vac_data) hidden by earlier entry (prev="Set PIP Location and Size": 0 -> 4294967295) (this="Set PC/TV Tint": 268435456 -> 268461156)
value_range_string error: Data Field (tn5250.dfdpck_data_field) hidden by earlier entry (prev="Invalid Data Field Type": 0 -> 64) (this="Top Row Command Key Functions": 64 -> 64)
value_range_string error: Profile (zbee_aps.profile) hidden by earlier entry (prev="IEEE_1451_5": 48896 -> 48896) (this="IEEE_1451_5": 48896 -> 48896)
value_range_string error: Profile (zbee_aps.profile) hidden by earlier entry (prev="Unallocated Manufacturer-Specific": 48896 -> 49151) (this="IEEE_1451_5": 48896 -> 48896)
value_range_string error: Notification Scheme (zbee_zcl_se.met.mirror_report_attribute_response.notification_scheme) hidden by earlier entry (prev="For MSP Requirements": 129 -> 255) (this="Reserved": 255 -> 255)
value_range_string error: Notification Scheme (zbee_zcl_se.met.configure_mirror.notification_scheme) hidden by earlier entry (prev="For MSP Requirements": 129 -> 255) (this="Reserved": 255 -> 255)
value_range_string error: Notification Scheme (zbee_zcl_se.met.configure_notification_scheme.notification_scheme) hidden by earlier entry (prev="For MSP Requirements": 129 -> 255) (this="Reserved": 255 -> 255)
value_range_string error: Notification Scheme (zbee_zcl_se.met.configure_notification_flags.notification_scheme) hidden by earlier entry (prev="For MSP Requirements": 129 -> 255) (this="Reserved": 255 -> 255)
value_range_string error: Notification Scheme (zbee_zcl_se.met.get_notified_msg.notification_scheme) hidden by earlier entry (prev="For MSP Requirements": 129 -> 255) (this="Reserved": 255 -> 255)
value_range_string error: Profile ID (zbee_zcl_general.touchlink.profile_id) hidden by earlier entry (prev="IEEE_1451_5": 48896 -> 48896) (this="IEEE_1451_5": 48896 -> 48896)
value_range_string error: Profile ID (zbee_zcl_general.touchlink.profile_id) hidden by earlier entry (prev="Unallocated Manufacturer-Specific": 48896 -> 49151) (this="IEEE_1451_5": 48896 -> 48896)
value_range_string error: Profile (zbee_zdp.profile) hidden by earlier entry (prev="IEEE_1451_5": 48896 -> 48896) (this="IEEE_1451_5": 48896 -> 48896)
value_range_string error: Profile (zbee_zdp.profile) hidden by earlier entry (prev="Unallocated Manufacturer-Specific": 48896 -> 49151) (this="IEEE_1451_5": 48896 -> 48896)
value_range_string error: AVBTP Subtype (ieee1722.subtype) hidden by earlier entry (prev="Reserved for future protocols": 131 -> 237) (this="ECC Encrypted Control Format": 237 -> 237)
value_range_string error: Quality of Service Delay class (diameter.3gpp.qos.delay_cls) entry for "Reserved" - max(0) is less than min(7)
value_range_string error: Application Id (eiss.app_id) entry for "Signed Application" - max(16383) is less than min(16384)
value_range_string error: Nature of address indicator (gsm_map.locationnumber.nai) hidden by earlier entry (prev="spare": 112 -> 126) (this="reserved for national use": 112 -> 126)
value_range_string error: TP-Failure-Cause (TP-FCS) (gsm_sms.tp-fcs) hidden by earlier entry (prev="TP-PID errors": 128 -> 143) (this="Telematic interworking not supported": 128 -> 128)
value_range_string error: TP-Failure-Cause (TP-FCS) (gsm_sms.tp-fcs) hidden by earlier entry (prev="TP-PID errors": 128 -> 143) (this="Short message Type 0 not supported": 129 -> 129)
value_range_string error: TP-Failure-Cause (TP-FCS) (gsm_sms.tp-fcs) hidden by earlier entry (prev="TP-PID errors": 128 -> 143) (this="Cannot replace short message": 130 -> 130)
value_range_string error: TP-Failure-Cause (TP-FCS) (gsm_sms.tp-fcs) hidden by earlier entry (prev="TP-PID errors": 128 -> 143) (this="Reserved": 131 -> 142)
value_range_string error: TP-Failure-Cause (TP-FCS) (gsm_sms.tp-fcs) hidden by earlier entry (prev="TP-PID errors": 128 -> 143) (this="Unspecified TP-PID error": 143 -> 143)
value_range_string error: TP-Failure-Cause (TP-FCS) (gsm_sms.tp-fcs) hidden by earlier entry (prev="TP-PID errors": 128 -> 143) (this="Reserved": 131 -> 142)
value_range_string error: TP-Failure-Cause (TP-FCS) (gsm_sms.tp-fcs) hidden by earlier entry (prev="Reserved": 131 -> 142) (this="Reserved": 131 -> 142)
value_range_string error: Message Type (hislip.messagetype) hidden by earlier entry (prev="FatalError": 2 -> 3) (this="Error": 3 -> 3)
value_range_string error: Notify Message Type (isakmp.notify.msgtype) hidden by earlier entry (prev="RESERVED": 15 -> 16) (this="RESERVED": 15 -> 16)
value_range_string error: Type of delayed charging information (isup.japan.charge_delay_type) hidden by earlier entry (prev="Reserved for network specific use": 1 -> 252) (this="Spare": 129 -> 250)
value_range_string error: Type (nan.ranging_setup.type) entry for "Response" - max(0) is less than min(1)
value_range_string error: Type (nan.ranging_setup.type) entry for "Termination" - max(0) is less than min(2)
value_range_string error: destination_offset (optommp.destination_offset) hidden by earlier entry (prev="Wiegand Serial Event Configuration - Read/Write": 4048945152 -> 4059434879) (this="SNAP High-Density Digital - Read Only": 4051730432 -> 4051738622)
value_range_string error: destination_offset (optommp.destination_offset) hidden by earlier entry (prev="Wiegand Serial Event Configuration - Read/Write": 4048945152 -> 4059434879) (this="SNAP High-Density Digital Read and Clear - Read/Write": 4051738624 -> 4051746814)
value_range_string error: destination_offset (optommp.destination_offset) hidden by earlier entry (prev="Wiegand Serial Event Configuration - Read/Write": 4048945152 -> 4059434879) (this="SNAP High-Density Digital Write - Read/Write": 4051746816 -> 4051747838)
value_range_string error: Video/Audio Control Data (tn5250.vac_data) hidden by earlier entry (prev="Set PIP Location and Size": 0 -> 4294967295) (this="Set PIP See Through On": 520093697 -> 520093697)
value_range_string error: Video/Audio Control Data (tn5250.vac_data) hidden by earlier entry (prev="Set PIP Location and Size": 0 -> 4294967295) (this="Set PIP SeeThrough Off": 520093696 -> 520093696)
value_range_string error: Video/Audio Control Data (tn5250.vac_data) hidden by earlier entry (prev="Set PIP Location and Size": 0 -> 4294967295) (this="Freeze PIP": 536870913 -> 536870913)
value_range_string error: Video/Audio Control Data (tn5250.vac_data) hidden by earlier entry (prev="Set PIP Location and Size": 0 -> 4294967295) (this="Resume After Freeze": 536870912 -> 536870912)
value_range_string error: Video/Audio Control Data (tn5250.vac_data) hidden by earlier entry (prev="Set PIP Location and Size": 0 -> 4294967295) (this="Set PC/TV Channel": 301989888 -> 301989988)
value_range_string error: Video/Audio Control Data (tn5250.vac_data) hidden by earlier entry (prev="Set PIP Location and Size": 0 -> 4294967295) (this="Set Antenna Tuner Source": 285212672 -> 285212672)
value_range_string error: Video/Audio Control Data (tn5250.vac_data) hidden by earlier entry (prev="Set PIP Location and Size": 0 -> 4294967295) (this="Set Cable Tuner Source": 285212673 -> 285212673)
value_range_string error: Video/Audio Control Data (tn5250.vac_data) hidden by earlier entry (prev="Set PIP Location and Size": 0 -> 4294967295) (this="Disable Internal Speaker": 553648129 -> 553648129)
value_range_string error: Video/Audio Control Data (tn5250.vac_data) hidden by earlier entry (prev="Set PIP Location and Size": 0 -> 4294967295) (this="Enable Internal Speaker": 553648128 -> 553648128)
value_range_string error: Video/Audio Control Data (tn5250.vac_data) hidden by earlier entry (prev="Set PIP Location and Size": 0 -> 4294967295) (this="Keyboard Disable": 385875969 -> 385875969)
value_range_string error: Video/Audio Control Data (tn5250.vac_data) hidden by earlier entry (prev="Set PIP Location and Size": 0 -> 4294967295) (this="Keyboard Enable": 385875968 -> 385875968)
value_range_string error: Video/Audio Control Data (tn5250.vac_data) hidden by earlier entry (prev="Set PIP Location and Size": 0 -> 4294967295) (this="Set PC/TV Brightness": 218103808 -> 218103908)
value_range_string error: Video/Audio Control Data (tn5250.vac_data) hidden by earlier entry (prev="Set PIP Location and Size": 0 -> 4294967295) (this="Set PC/TV Color": 251658240 -> 251658340)
value_range_string error: Video/Audio Control Data (tn5250.vac_data) hidden by earlier entry (prev="Set PIP Location and Size": 0 -> 4294967295) (this="Set PC/TV Contrast": 234881024 -> 234881124)
value_range_string error: Video/Audio Control Data (tn5250.vac_data) hidden by earlier entry (prev="Set PIP Location and Size": 0 -> 4294967295) (this="Set PC/TV Tint": 268435456 -> 268461156)
value_range_string error: Data Field (tn5250.dfdpck_data_field) hidden by earlier entry (prev="Invalid Data Field Type": 0 -> 64) (this="Top Row Command Key Functions": 64 -> 64)
value_range_string error: Profile (zbee_aps.profile) hidden by earlier entry (prev="IEEE_1451_5": 48896 -> 48896) (this="IEEE_1451_5": 48896 -> 48896)
value_range_string error: Profile (zbee_aps.profile) hidden by earlier entry (prev="Unallocated Manufacturer-Specific": 48896 -> 49151) (this="IEEE_1451_5": 48896 -> 48896)
value_range_string error: Notification Scheme (zbee_zcl_se.met.mirror_report_attribute_response.notification_scheme) hidden by earlier entry (prev="For MSP Requirements": 129 -> 255) (this="Reserved": 255 -> 255)
value_range_string error: Notification Scheme (zbee_zcl_se.met.configure_mirror.notification_scheme) hidden by earlier entry (prev="For MSP Requirements": 129 -> 255) (this="Reserved": 255 -> 255)
value_range_string error: Notification Scheme (zbee_zcl_se.met.configure_notification_scheme.notification_scheme) hidden by earlier entry (prev="For MSP Requirements": 129 -> 255) (this="Reserved": 255 -> 255)
value_range_string error: Notification Scheme (zbee_zcl_se.met.configure_notification_flags.notification_scheme) hidden by earlier entry (prev="For MSP Requirements": 129 -> 255) (this="Reserved": 255 -> 255)
value_range_string error: Notification Scheme (zbee_zcl_se.met.get_notified_msg.notification_scheme) hidden by earlier entry (prev="For MSP Requirements": 129 -> 255) (this="Reserved": 255 -> 255)
value_range_string error: Profile ID (zbee_zcl_general.touchlink.profile_id) hidden by earlier entry (prev="IEEE_1451_5": 48896 -> 48896) (this="IEEE_1451_5": 48896 -> 48896)
value_range_string error: Profile ID (zbee_zcl_general.touchlink.profile_id) hidden by earlier entry (prev="Unallocated Manufacturer-Specific": 48896 -> 49151) (this="IEEE_1451_5": 48896 -> 48896)
value_range_string error: Profile (zbee_zdp.profile) hidden by earlier entry (prev="IEEE_1451_5": 48896 -> 48896) (this="IEEE_1451_5": 48896 -> 48896)
value_range_string error: Profile (zbee_zdp.profile) hidden by earlier entry (prev="Unallocated Manufacturer-Specific": 48896 -> 49151) (this="IEEE_1451_5": 48896 -> 48896)
- Follow-Ups:
- Re: [Wireshark-dev] range_string checking
- From: Pascal Quantin
- Re: [Wireshark-dev] range_string checking
- From: Jaap Keuter
- Re: [Wireshark-dev] range_string checking
- Prev by Date: Re: [Wireshark-dev] ask.wireshark.org RSS feed
- Next by Date: [Wireshark-dev] Auto Parts Manufacturer
- Previous by thread: Re: [Wireshark-dev] ask.wireshark.org RSS feed
- Next by thread: Re: [Wireshark-dev] range_string checking
- Index(es):