diff options
author | Pascal Quantin <pascal.quantin@gmail.com> | 2015-10-28 22:32:17 +0100 |
---|---|---|
committer | Pascal Quantin <pascal.quantin@gmail.com> | 2015-10-30 18:08:06 +0000 |
commit | 9e54fcee5224aef800155514cac5e40d9e38a23e (patch) | |
tree | 15c31219710aa882d6d4a1b5404f46ea31e22cb6 /epan/conversation.h | |
parent | d6dd50b1e33de97ed540efdf984ac1564b9c84ef (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.h | 11 |
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, |