diff options
author | Robert Jongbloed <robertj@voxlucida.com.au> | 2018-01-23 10:48:57 +0000 |
---|---|---|
committer | Michael Mann <mmann78@netscape.net> | 2018-02-10 20:51:55 +0000 |
commit | d16308c89a4399897874ea660267f0c6303872dc (patch) | |
tree | dae0b2a12cf3045e40ed04fda2c5643c2a9b909a /epan/dissectors/packet-fp_mux.c | |
parent | 9ff64c8d7c43cc7c819e0fdce4476b606e1cb28b (diff) |
UDP: Heuristic dissector for conversation taking precedence
When a single UDP port is supporting multiple protocols, for example RTP and
RTCP can share a port, and one of these protocols is detected through a
heuristic before a superior protocol (e.g. SIP/SDP) has established that the
port has multiple protocols, then only the heuristic is used. This is due to
only looking for an exact match with find_conversation() and not going any
further. The superior protocol only adds the dissector by source address/port.
So, to fix, if we do not find the exact match, we continue serching for a
dissector on the partial matches.
Bug: 14370
Change-Id: Icdded9ca1637cd594b920f979f6f0a003bef9aae
Reviewed-on: https://code.wireshark.org/review/25432
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot
Reviewed-by: Michael Mann <mmann78@netscape.net>
Diffstat (limited to 'epan/dissectors/packet-fp_mux.c')
-rw-r--r-- | epan/dissectors/packet-fp_mux.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/epan/dissectors/packet-fp_mux.c b/epan/dissectors/packet-fp_mux.c index d8d49997da..16ef3a15e3 100644 --- a/epan/dissectors/packet-fp_mux.c +++ b/epan/dissectors/packet-fp_mux.c @@ -102,7 +102,7 @@ static void dissect_payload(tvbuff_t *next_tvb, packet_info *pinfo, proto_tree * /* Trying a dissector assigned to the conversation (Usually from NBAP) */ conv_dissected = try_conversation_dissector(&pinfo->dst, &pinfo->src, ENDPOINT_UDP, - pinfo->destport, pinfo->srcport, next_tvb, pinfo, tree, NULL); + pinfo->destport, pinfo->srcport, next_tvb, pinfo, tree, NULL, 0); if (!conv_dissected) { /* No conversation dissector / TVB was rejected, try other options */ if(call_fp_heur) { |