aboutsummaryrefslogtreecommitdiffstats
path: root/epan/conversation.h
diff options
context:
space:
mode:
authorPascal Quantin <pascal.quantin@gmail.com>2015-10-28 22:32:17 +0100
committerPascal Quantin <pascal.quantin@gmail.com>2015-10-30 18:08:06 +0000
commit9e54fcee5224aef800155514cac5e40d9e38a23e (patch)
tree15c31219710aa882d6d4a1b5404f46ea31e22cb6 /epan/conversation.h
parentd6dd50b1e33de97ed540efdf984ac1564b9c84ef (diff)
STUN: register a new conversation dissector after receiving a ConnectionBind Success Response message
According to RFC 6062, once the connection is established, data is sent as-is To stop the STUN dissector from interfering, add the ability to specify a starting frame for a conversation dissector and use it Bug: 11641 Change-Id: I65ca96bddacf70444009c0642ea22173fa68992e Reviewed-on: https://code.wireshark.org/review/11372 Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
Diffstat (limited to 'epan/conversation.h')
-rw-r--r--epan/conversation.h11
1 files changed, 9 insertions, 2 deletions
diff --git a/epan/conversation.h b/epan/conversation.h
index 3753c15b61..d796cde152 100644
--- a/epan/conversation.h
+++ b/epan/conversation.h
@@ -79,8 +79,8 @@ typedef struct conversation {
/* Assume that setup_frame is also the lowest frame number for now. */
guint32 last_frame; /** highest frame number in this conversation */
GSList *data_list; /** list of data associated with conversation */
- dissector_handle_t dissector_handle;
- /** handle for protocol dissector client associated with conversation */
+ wmem_tree_t *dissector_tree;
+ /** tree containing protocol dissector client associated with conversation */
guint options; /** wildcard flags */
conversation_key *key_ptr; /** pointer to the key for this conversation */
} conversation_t;
@@ -161,6 +161,13 @@ WS_DLL_PUBLIC void conversation_delete_proto_data(conversation_t *conv, const in
WS_DLL_PUBLIC void conversation_set_dissector(conversation_t *conversation,
const dissector_handle_t handle);
+
+WS_DLL_PUBLIC void conversation_set_dissector_from_frame_number(conversation_t *conversation,
+ const guint32 starting_frame_num, const dissector_handle_t handle);
+
+WS_DLL_PUBLIC dissector_handle_t conversation_get_dissector(conversation_t *conversation,
+ const guint32 frame_num);
+
/**
* Given two address/port pairs for a packet, search for a matching
* conversation and, if found and it has a conversation dissector,