diff options
author | John Thacker <johnthacker@gmail.com> | 2023-02-27 08:16:25 -0500 |
---|---|---|
committer | John Thacker <johnthacker@gmail.com> | 2023-02-28 13:17:15 +0000 |
commit | 18572b433644e717c33be52430b3f38d288744af (patch) | |
tree | 0a0297ae236b5d338137fedc67facbcdc71a95b3 /epan/packet.c | |
parent | d64114f48ea70ef758ff89bb17a43d89a67018cb (diff) |
Revert "Reset the "current conversation elements" after each dissector call"
We do want to reset these (and probably most other elements of the
packet_info struct) when starting to process a new PDU at the same
protocol level as the most recently processed dissector. However,
find_conversation_pinfo() is used in the GUI and elsewhere to get
the final value of conversation and address information, so we don't
want to reset the values after the last PDU.
Revert this until we can find a better general way of handling this.
(!8013 handles the specific PPP case for #18278.) Perhaps eventually
there should be some separation between addresses and conversation
information used for the next dissector called, and the value for
the packet used after the packet is fully dissected (by the GUI, etc.)
This reverts commit 80e287f82c084617b5624ceeba71de7f260f8d44.
Fix #18781.
Diffstat (limited to 'epan/packet.c')
-rw-r--r-- | epan/packet.c | 10 |
1 files changed, 0 insertions, 10 deletions
diff --git a/epan/packet.c b/epan/packet.c index e69af8857e..50d034e500 100644 --- a/epan/packet.c +++ b/epan/packet.c @@ -867,9 +867,6 @@ call_dissector_work(dissector_handle_t handle, tvbuff_t *tvb, packet_info *pinfo int len; guint saved_layers_len = 0; guint saved_tree_count = tree ? tree->tree_data->count : 0; - gboolean saved_use_conv_addr_port_endpoints; - struct conversation_addr_port_endpoints *saved_conv_addr_port_endpoints; - struct conversation_element *saved_conv_elements; if (handle->protocol != NULL && !proto_is_protocol_enabled(handle->protocol)) { @@ -884,10 +881,6 @@ call_dissector_work(dissector_handle_t handle, tvbuff_t *tvb, packet_info *pinfo saved_layers_len = wmem_list_count(pinfo->layers); DISSECTOR_ASSERT(saved_layers_len < PINFO_LAYER_MAX_RECURSION_DEPTH); - saved_use_conv_addr_port_endpoints = pinfo->use_conv_addr_port_endpoints; - saved_conv_addr_port_endpoints = pinfo->conv_addr_port_endpoints; - saved_conv_elements = pinfo->conv_elements; - /* * can_desegment is set to 2 by anyone which offers the * desegmentation api/service. @@ -944,9 +937,6 @@ call_dissector_work(dissector_handle_t handle, tvbuff_t *tvb, packet_info *pinfo } pinfo->current_proto = saved_proto; pinfo->can_desegment = saved_can_desegment; - pinfo->use_conv_addr_port_endpoints = saved_use_conv_addr_port_endpoints; - pinfo->conv_addr_port_endpoints = saved_conv_addr_port_endpoints; - pinfo->conv_elements = saved_conv_elements; return len; } |