diff options
author | Michael Mann <mmann78@netscape.net> | 2017-11-09 00:25:43 -0500 |
---|---|---|
committer | Anders Broman <a.broman58@gmail.com> | 2017-11-09 07:50:09 +0000 |
commit | afb252355bebee80673ea904c6b510aeaf10feb5 (patch) | |
tree | 83ced33c09d2a296fc4a39177354d04e78d19a76 /epan/conversation.c | |
parent | 78665f5211fa9eeb3031dae2de8e551bcb2369ea (diff) |
ISDN: Convert circuit API to conversation API
Change-Id: I8752123a740c47f9328e0144624d4fbf4e200165
Reviewed-on: https://code.wireshark.org/review/24314
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'epan/conversation.c')
-rw-r--r-- | epan/conversation.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/epan/conversation.c b/epan/conversation.c index 38903b1a72..a7442ec6e4 100644 --- a/epan/conversation.c +++ b/epan/conversation.c @@ -1277,6 +1277,32 @@ try_conversation_dissector(const address *addr_a, const address *addr_b, const e return FALSE; } +gboolean +try_conversation_dissector_simple(const endpoint_type etype, const guint32 port_a, tvbuff_t *tvb, + packet_info *pinfo, proto_tree *tree, void* data) +{ + conversation_t *conversation; + + conversation = find_conversation_simple(pinfo->num, etype, port_a, 0); + + if (conversation != NULL) { + int ret; + dissector_handle_t handle = (dissector_handle_t)wmem_tree_lookup32_le(conversation->dissector_tree, pinfo->num); + if (handle == NULL) + return FALSE; + ret=call_dissector_only(handle, tvb, pinfo, tree, data); + if(!ret) { + /* this packet was rejected by the dissector + * so return FALSE in case our caller wants + * to do some cleaning up. + */ + return FALSE; + } + return TRUE; + } + return FALSE; +} + /** A helper function that calls find_conversation() using data from pinfo * The frame number and addresses are taken from pinfo. */ |