Pass SslPacketInfo structure directly to SSL tap instead of having listeners get...
authorMichael Mann <mmann78@netscape.net>
Sun, 3 Jan 2016 03:43:55 +0000 (22:43 -0500)
committerMichael Mann <mmann78@netscape.net>
Sun, 3 Jan 2016 15:24:33 +0000 (15:24 +0000)
Change-Id: I3817d12e473b67e26159e1562a08169e91f51d46
Reviewed-on: https://code.wireshark.org/review/13019
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
epan/dissectors/packet-ssl.c
ui/cli/tap-follow.c
ui/gtk/follow_ssl.c
ui/qt/follow_stream_dialog.cpp

index 46032fb92eb2b10864a591d579051733b8928623..9a310b4f54b32d6fe431bf95f3fea54b02a59c87 100644 (file)
@@ -777,7 +777,7 @@ dissect_ssl(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
         if (need_desegmentation) {
           ssl_debug_printf("  need_desegmentation: offset = %d, reported_length_remaining = %d\n",
                            offset, tvb_reported_length_remaining(tvb, offset));
-          tap_queue_packet(ssl_tap, pinfo, GINT_TO_POINTER(proto_ssl));
+          tap_queue_packet(ssl_tap, pinfo, p_get_proto_data(wmem_file_scope(), pinfo, proto_ssl, 0));
           return tvb_captured_length(tvb);
         }
 
@@ -789,7 +789,7 @@ dissect_ssl(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
 
     ssl_debug_flush();
 
-    tap_queue_packet(ssl_tap, pinfo, GINT_TO_POINTER(proto_ssl));
+    tap_queue_packet(ssl_tap, pinfo, p_get_proto_data(wmem_file_scope(), pinfo, proto_ssl, 0));
 
     return tvb_captured_length(tvb);
 }
index 12239dade3c116cf52b0b574450926b5ef30deff..a938e12c9eed1cca6e0fbc516faa704330066062 100644 (file)
@@ -358,7 +358,7 @@ followSslPacket(
   )
 {
   follow_t         *fp   = (follow_t *)contextp;
-  SslPacketInfo    *spip = (SslPacketInfo *)p_get_proto_data(wmem_file_scope(), pip, GPOINTER_TO_INT(datap), 0);
+  SslPacketInfo    *spip = (SslPacketInfo *)datap;
   SslDataInfo      *sdip;
   gint              length;
   tcp_stream_chunk  sc;
index c0235dc40e2f363f35f3fe53a5c43fdd14583533..1f446f458bf3ea6111fe7c534f87569546445c5b 100644 (file)
@@ -71,12 +71,10 @@ ssl_queue_packet_data(void *tapdata, packet_info *pinfo, epan_dissect_t *edt _U_
     follow_info_t *      follow_info = (follow_info_t*) tapdata;
     SslDecryptedRecord * rec = NULL;
     SslDataInfo *        appl_data = NULL;
-    int                  proto_ssl = GPOINTER_TO_INT(ssl);
-    SslPacketInfo *      pi = NULL;
+    SslPacketInfo *      pi = (SslPacketInfo*)ssl;
     show_stream_t        from = FROM_CLIENT;
 
     /* Skip packets without decrypted payload data. */
-    pi = (SslPacketInfo*) p_get_proto_data(wmem_file_scope(), pinfo, proto_ssl, 0);
     if (!pi || !pi->appl_data) return FALSE;
 
     /* Compute the packet's sender. */
index dec1a0576e76c91d3457b35a6d2380f8d0a590b7..f627381545df2483f93ac6a2e77fefa24c588e00 100644 (file)
@@ -415,12 +415,10 @@ ssl_queue_packet_data(void *tapdata, packet_info *pinfo, epan_dissect_t *, const
     follow_info_t *      follow_info = (follow_info_t*) tapdata;
     SslDecryptedRecord * rec = NULL;
     SslDataInfo *        appl_data = NULL;
-    int                  proto_ssl = GPOINTER_TO_INT(ssl);
-    SslPacketInfo *      pi = NULL;
+    SslPacketInfo *      pi = (SslPacketInfo*)ssl;
     show_stream_t        from = FROM_CLIENT;
 
     /* Skip packets without decrypted payload data. */
-    pi = (SslPacketInfo*) p_get_proto_data(wmem_file_scope(), pinfo, proto_ssl, 0);
     if (!pi || !pi->appl_data) return 0;
 
     /* Compute the packet's sender. */