Remove private_data member from packet_info structure.
authorMichael Mann <mmann78@netscape.net>
Mon, 24 Nov 2014 15:10:12 +0000 (10:10 -0500)
committerMichael Mann <mmann78@netscape.net>
Mon, 1 Dec 2014 14:05:44 +0000 (14:05 +0000)
Dissectors should pass data directly to their subdissectors through the data parameter (of new-style dissectors). This avoids unintentional "trampling" from other dissectors trying to "share" private_data member.

Change-Id: I2efef5c8dfeef64588ba3ac6e695b469238c6468
Reviewed-on: https://code.wireshark.org/review/5487
Petri-Dish: Michael Mann <mmann78@netscape.net>
Reviewed-by: Michael Mann <mmann78@netscape.net>
epan/dissectors/packet-dcerpc.c
epan/packet_info.h
epan/wslua/wslua_pinfo.c
plugins/profinet/packet-dcom-cba-acco.c
test/lua/pinfo.lua

index 896a776ee51a6ef46d21e9ee50e348092ef38c5d..d84094ddfab9bebf0ab22a0ef60ce7dc87165055 100644 (file)
@@ -4685,8 +4685,6 @@ is_dcerpc(tvbuff_t *tvb, int offset, packet_info *pinfo _U_)
 
 /*
  * DCERPC dissector for connection oriented calls.
- * We use transport type to later multiplex between what kind of
- * pinfo->private_data structure to expect.
  */
 static gboolean
 dissect_dcerpc_cn(tvbuff_t *tvb, int offset, packet_info *pinfo,
index d3da81aad3ba8b895648e51455c7d35c64327cf8..a2d9b05a6a7c8045d596f651dd20aa80c94c4a2c 100644 (file)
@@ -148,7 +148,6 @@ typedef struct _packet_info {
   tvbuff_t *gssapi_decrypted_tvb;
   gboolean gssapi_data_encrypted;
 
-  void    *private_data;        /**< pointer to data passed from one dissector to another */
   GHashTable *private_table;    /**< a hash table passed from one dissector to another */
 
   wmem_list_t *layers;      /**< layers of each protocol */
index 9fdb5a9ed6d6fd3e1bd8b33d8dd000d0ea4f62fe..06a022ed789c0420616f7d5fe919cc26643dc7a4 100644 (file)
@@ -968,9 +968,6 @@ PINFO_NUMBER_SETTER(desegment_len,guint32);
 PINFO_NUMBER_GETTER(desegment_offset);
 PINFO_NUMBER_SETTER(desegment_offset,int);
 
-/* WSLUA_ATTRIBUTE Pinfo_private_data RO Access to private data. */
-WSLUA_ATTRIBUTE_GET(Pinfo,private_data, {lua_pushlightuserdata(L,(void *)(obj->ws_pinfo->private_data));});
-
 /* WSLUA_ATTRIBUTE Pinfo_fragmented RO If the protocol is only a fragment. */
 PINFO_NAMED_BOOLEAN_GETTER(fragmented,fragmented);
 
@@ -1178,7 +1175,6 @@ WSLUA_ATTRIBUTES Pinfo_attributes[] = {
     WSLUA_ATTRIBUTE_RWREG(Pinfo,can_desegment),
     WSLUA_ATTRIBUTE_RWREG(Pinfo,desegment_len),
     WSLUA_ATTRIBUTE_RWREG(Pinfo,desegment_offset),
-    WSLUA_ATTRIBUTE_ROREG(Pinfo,private_data),
     WSLUA_ATTRIBUTE_ROREG(Pinfo,private),
     WSLUA_ATTRIBUTE_ROREG(Pinfo,fragmented),
     WSLUA_ATTRIBUTE_ROREG(Pinfo,in_error_pkt),
index 28ed2a337dd36909b3df1b9df4a8d756a3d5c9a9..981dd22ac524f7cde01343310d6af2a02287927a 100644 (file)
@@ -542,7 +542,6 @@ cba_ldev_add(packet_info *pinfo, cba_pdev_t *pdev, const char *name)
 
 cba_ldev_t *
 cba_ldev_find(packet_info *pinfo, const void *ip, e_uuid_t *ipid) {
-    /*dcerpc_info *info = (dcerpc_info *)pinfo->private_data;*/
     dcom_interface_t *interf;
     cba_ldev_t       *ldev;
 
index 756af89cf79df0d65698594fa741c332e86d33d9..f4b922db2955ad19a88930ab4de8d80edd176ab0 100644 (file)
@@ -123,7 +123,6 @@ silently accept being set (though nothing happens) Blech!!
     test("Pinfo.curr_proto-set-1",not pcall(setPinfo,pinfo,"curr_proto",0))
     test("Pinfo.columns-set-1",not pcall(setPinfo,pinfo,"columns",0))
     test("Pinfo.cols-set-1",not pcall(setPinfo,pinfo,"cols",0))
-    test("Pinfo.private_data-set-1",not pcall(setPinfo,pinfo,"private_data",0))
     test("Pinfo.private-set-1",not pcall(setPinfo,pinfo,"private",0))
     test("Pinfo.fragmented-set-1",not pcall(setPinfo,pinfo,"fragmented",0))
     test("Pinfo.in_error_pkt-set-1",not pcall(setPinfo,pinfo,"in_error_pkt",0))
@@ -188,7 +187,6 @@ again, these *should* pass, but Pinfo silently allows it!
     test("Pinfo.columns-get-2",typeof(pinfo.columns) == "Columns")
     test("Pinfo.cols-get-1",tostring(pinfo.cols) == "Columns")
     test("Pinfo.cols-get-2",typeof(pinfo.cols) == "Columns")
-    test("Pinfo.private_data-get-1",type(pinfo.private_data) == "userdata")
     test("Pinfo.private-get-1",type(pinfo.private) == "userdata")
     test("Pinfo.fragmented-get-1",pinfo.fragmented == false)