Wireshark-bugs: [Wireshark-bugs] [Bug 8594] Adding support for IEEE-802.11ad protocol at the cur
Date: Sun, 27 Oct 2013 10:19:56 +0000
Jalil Moraney changed bug 8594
What | Removed | Added |
---|---|---|
Attachment #11900 Flags | review_for_checkin? |
Comment # 19
on bug 8594
from Jalil Moraney
Created attachment 11900 [details] 802.11ad patch v4 (In reply to comment #10) > (In reply to comment #7) > > > > > > Also why readd some static const true_false_string (dsss_ofdm_flags, > > > cf_apsd_flags... )? > > > > Please further explain of what you think the proper behaviour should be. > > > Fixed by Michael Fixed in previous version. > > > I have some warning also with clang analyser tools > > > packet-ieee80211.c:13843:11: warning: Value stored to 'offset' is never read > > > packet-ieee80211.c:13832:17: warning: Value stored to 'offset' is never read > > > packet-ieee80211.c:13848:4: warning: Value stored to 'offset' is never read > > > packet-ieee80211.c:13862:11: warning: Value stored to 'offset' is never read > > > packet-ieee80211.c:13855:4: warning: Value stored to 'offset' is never read > > > > We didn't get the warnings after the changes, however please verify they are > > gone since we don't have any prior experience with clang tools. > > > I have always this warning with Clang (the offset value is never read > after...) As far as I could tell there were fixed after the TAG_* default case with a TODO, not by us. > > (In reply to comment #9) > > In addition: > > Some of the TAG_DMG_* cases appear to have overlapping offsets. Should the > > boolean values really be 16 bits? > > > > TAG_DMG_OPERATION (and some others) seems to have a bit field of 16 bytes, > > which would make the items 2 bytes, not 1. > > I confirm > It is not possible proto_tree_add_bitmask ? or use the some length for each > hf ? (it is not easy to read) > Example for Antenna Sector ID with your patch : > Tag: Antenna Sector ID > Tag Number: Antenna Sector ID (190) > Tag length: 4 > .... 0000 = Type: 0x00 > .... ..00 0000 .... = Tap 1: 0x0000 > 0000 00.. = State 1: 0x00 > 0000 0000 = Tap 2: 0x00 > 0000 0000 = State 2: 0x00 > > With patch (there is a bug in your bitmask i thinks...) > > My Patch : > --- a/epan/dissectors/packet-ieee80211.c > +++ b/epan/dissectors/packet-ieee80211.c > @@ -13451,11 +13451,11 @@ add_tagged_field(packet_info *pinfo, proto_tree > *tree, tvbuff_t *tvb, int offset > break; > } > offset += 2; > - proto_tree_add_item(tree, hf_ieee80211_tag_type, tvb, offset, 1, > ENC_NA); > - proto_tree_add_item(tree, hf_ieee80211_tag_tap1, tvb, offset, 2, > ENC_NA); > - proto_tree_add_item(tree, hf_ieee80211_tag_state1, tvb, offset+1, 1, > ENC_NA); > - proto_tree_add_item(tree, hf_ieee80211_tag_tap2, tvb, offset+2, 1, > ENC_NA); > - proto_tree_add_item(tree, hf_ieee80211_tag_state2, tvb, offset+3, 1, > ENC_NA); > + proto_tree_add_item(tree, hf_ieee80211_tag_type, tvb, offset, 4, > ENC_NA); > + proto_tree_add_item(tree, hf_ieee80211_tag_tap1, tvb, offset, 4, > ENC_NA); > + proto_tree_add_item(tree, hf_ieee80211_tag_state1, tvb, offset, 4, > ENC_NA); > + proto_tree_add_item(tree, hf_ieee80211_tag_tap2, tvb, offset, 4, > ENC_NA); > + proto_tree_add_item(tree, hf_ieee80211_tag_state2, tvb, offset, 4, > ENC_NA); > offset += 4; > break; > } > @@ -17041,27 +17041,27 @@ proto_register_ieee80211 (void) > > {&hf_ieee80211_tag_type, > {"Type", "wlan.sctor_id.type", > - FT_UINT8, BASE_HEX, NULL, 0x0f, > + FT_UINT32, BASE_HEX, NULL, 0x0f000000, > NULL, HFILL }}, > > {&hf_ieee80211_tag_tap1, > {"Tap 1", "wlan.sctor_id.tap1", > - FT_UINT16, BASE_HEX, NULL, 0x03f0, > + FT_UINT32, BASE_HEX, NULL, 0x03f00000, > NULL, HFILL }}, > > {&hf_ieee80211_tag_state1, > {"State 1", "wlan.sctor_id.state1", > - FT_UINT8, BASE_HEX, NULL, 0xfc, > + FT_UINT32, BASE_HEX, NULL, 0x00fc0000, > NULL, HFILL }}, > > {&hf_ieee80211_tag_tap2, > {"Tap 2", "wlan.sctor_id.tap2", > - FT_UINT8, BASE_HEX, NULL, 0xff, > + FT_UINT32, BASE_HEX, NULL, 0x0000ff00, > NULL, HFILL }}, > > {&hf_ieee80211_tag_state2, > {"State 2", "wlan.sctor_id.state2", > - FT_UINT8, BASE_HEX, NULL, 0xff, > + FT_UINT32, BASE_HEX, NULL, 0x000000ff, > NULL, HFILL }}, > > {&hf_ieee80211_tag_allocation_id, > -- > It should be applied to BRP_Request, SSW, SSWF, DMG Capa (octet by octet if > needed), DMG Oper, Extended shcedule, sta availability, DMG_BEAM_REFINEMENT BRP_Request - patched. SSW - patched. SSWF - patched. DMG Capa - patched by splitting 64bit mask into 24bit + 24bit + 16bit different masks (couldn't find an option to write 64bit unsigned integer constant mask in C without receiving conversion errors). DMG Oper - I think there is no need to such patch here. Extended schedule - patched. sta avail - patched. DMG beam refinement - patched. > Also always the typo about add_tag_relay_capableities Fixed. > +proto_tree_add_text(tree, tvb, offset, 1, "AID of NextPCP %d: %d", i, > tvb_get_guint8(tvb, offset)); > [...] > + proto_tree_add_text(tree, tvb, offset, 1, "Remaining BI's: %d", > tvb_get_guint8(tvb, offset)); > [...] > + proto_tree_add_text(tree, tvb, offset, 2, "Request Token: %d", > tvb_get_letohs(tvb, offset)); > Use proto_tree_add_item Fixed. > Also why change the length of hf_ieee80211_fc_frame_type_subtype ? I mistakenly thought it is needed to show the new 802.11ad packet with the extension field and not only the type/subtype. Changed it back to 8. > + if (tag_len < 2) { > + proto_tree_add_text (tree, tvb, *offset + 2, tag_len, > + "Relay Capabilities: Error: Tag length must be 2 bytes long"); > + return; > Use expert_info Fixed. (In reply to comment #18) > Hi Evans, > Need to replace some proto_tree_add_text by expert_info or > proto_tree_add_item Fixed. > and there is some unknown about "wrong bitmask/field size see comment 10" If the same as: "It should be applied to BRP_Request, SSW, SSWF, DMG Capa (octet by octet if needed), DMG Oper, Extended shcedule, sta availability, DMG_BEAM_REFINEMENT." described in comment 10, then it is fixed as well. I would like to point out, that I hadn't worked on any other portion of this patch but the points mentioned above. So, as always, there might be other places to enhance/fix that I hadn't treated yet so feel free Last but not least, sorry for disappearing. Life had other plans. Jalil
You are receiving this mail because:
- You are watching all bug changes.
- Prev by Date: [Wireshark-bugs] [Bug 9280] Wiretap netscaler trace format v3.0
- Next by Date: [Wireshark-bugs] [Bug 9333] New: USB: NFC: Final work on PN532, add PN532_HCI dissector and some USB class/subclass/protocol/descriptors fields decoding
- Previous by thread: [Wireshark-bugs] [Bug 8594] Adding support for IEEE-802.11ad protocol at the current IEEE-802.11 dissector
- Next by thread: [Wireshark-bugs] [Bug 9112] epan/follow.c - Incorrect "bytes missing in capture file" in "check_fragments" due to an unsigned int wraparound?
- Index(es):