https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=5767
Bill Meier <wmeier@xxxxxxxxxxx> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|RESOLVED |REOPENED
Resolution|FIXED |
--- Comment #30 from Bill Meier <wmeier@xxxxxxxxxxx> 2011-11-15 14:19:43 EST ---
Some comments:
packet-bt-dht:
In the following code:
if( tvb_get_guint8(tvb,0)=='d' )
{
conversation = find_or_create_conversation(pinfo);
conversation_set_dissector(conversation, bt_dht_handle);
...
}
a. The heuristic is much too simple:
Please add some additional checks;
b. bt_dht_handle value is NULL (i.e.: never set) so the call to
conversation_set_dissector() won't do as intended.
I'm guessing that the handle should be initialized to reference
dissect_bt_dht() but I'll let you confirm and fix.
Note: I see the exact same issues in packet-bt-utp.c
==============
> BT-DHT and BT-uTP always share the same UDP port, and their default port are
> the same, too. It seems that BT-uTP is at front of BT-DHT in the dissectors
> list.
The order of dissectors in the dissector list is *NOT* guaranteed.
> We should use "Decode as..." to force it to dissect as BT-DHT, or some
> modifications should be applied to BT-uTP to let it give up dissection in some
> conditions.
Using the exact same simple heuristic for both dissectors should be fixed.
Is there not some way to improve the heuristic to differentiate between the two
(and to make the heuristic stronger to reduce "false positives" ?.
.
Note that "give up dissection" is not an appropraite strategy since the order
of calling the heuristic dissectors is not guaranteed.
--
Configure bugmail: https://bugs.wireshark.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
You are watching all bug changes.