diff options
author | Guy Harris <guy@alum.mit.edu> | 2016-02-13 15:59:36 -0800 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2016-02-14 00:00:07 +0000 |
commit | c3d8ac6d9bfaf4fdfb3aaeb9481bdd80185a5c66 (patch) | |
tree | 7f5c6bc1baa31ea939ccbfc69123ac0b49d714b4 /epan/dissectors | |
parent | 2e85975feee4304ebc3e47c3b03653094b839b6c (diff) |
Register Q.931 in the osinl.incl dissector table.
Have the Frame Relay dissector first check the fr.osinl table and then
the osinl.incl table, so that it finds Q.933 rather than Q.931 for an
NLPID of 0x08.
Change-Id: I1582482003c2ff96100f6c3e1eb77917ab04c9ee
Reviewed-on: https://code.wireshark.org/review/13929
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Diffstat (limited to 'epan/dissectors')
-rw-r--r-- | epan/dissectors/packet-fr.c | 8 | ||||
-rw-r--r-- | epan/dissectors/packet-q931.c | 1 |
2 files changed, 7 insertions, 2 deletions
diff --git a/epan/dissectors/packet-fr.c b/epan/dissectors/packet-fr.c index 6f47348d6d..60ce77ea11 100644 --- a/epan/dissectors/packet-fr.c +++ b/epan/dissectors/packet-fr.c @@ -674,6 +674,10 @@ dissect_fr_nlpid(tvbuff_t *tvb, int offset, packet_info *pinfo, * * "OSI network layer protocols" includes Q.933. * + * We check the Frame Relay table first, so that protocols for which + * the NLPID means something different on Frame Relay, i.e. Q.933 vs. + * Q.931, are handled appropriately for Frame Relay. + * * XXX - note that an NLPID of 0x08 for Q.933 could either be a * Q.933 signaling message or a message for a protocol * identified by a 2-octet layer 2 protocol type and a @@ -699,9 +703,9 @@ dissect_fr_nlpid(tvbuff_t *tvb, int offset, packet_info *pinfo, * Either that, or it's Q.933 iff the DLCI is 0. */ next_tvb = tvb_new_subset_remaining(tvb,offset); - if (dissector_try_uint(osinl_incl_subdissector_table, fr_nlpid, next_tvb, + if (dissector_try_uint(fr_osinl_subdissector_table, fr_nlpid, next_tvb, pinfo, tree) || - dissector_try_uint(fr_osinl_subdissector_table, fr_nlpid, next_tvb, + dissector_try_uint(osinl_incl_subdissector_table, fr_nlpid, next_tvb, pinfo, tree)) { /* * Yes, we got a match. Add the NLPID as a hidden item, diff --git a/epan/dissectors/packet-q931.c b/epan/dissectors/packet-q931.c index 7a48dfc443..b4a02ae21b 100644 --- a/epan/dissectors/packet-q931.c +++ b/epan/dissectors/packet-q931.c @@ -4002,6 +4002,7 @@ proto_reg_handoff_q931(void) { dissector_add_uint("lapd.sapi", LAPD_SAPI_Q931, q931_handle); dissector_add_uint("sctp.ppi", H323_PAYLOAD_PROTOCOL_ID, q931_over_ip_handle); + dissector_add_uint("osinl.incl", NLPID_Q_931, q931_handle); /* * Attempt to get a handle for the H.225 dissector. |