svn commit: lorikeet r159 - in trunk/ethereal/plugins/pidl: .

tpot at samba.org tpot at samba.org
Mon Jan 3 23:38:34 GMT 2005


Author: tpot
Date: 2005-01-03 23:38:34 +0000 (Mon, 03 Jan 2005)
New Revision: 159

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=lorikeet&rev=159

Log:
Register field info for subcontext sizes, array length and offset, and
num auths.

samr now completely decodes!

Modified:
   trunk/ethereal/plugins/pidl/eparser.c


Changeset:
Modified: trunk/ethereal/plugins/pidl/eparser.c
===================================================================
--- trunk/ethereal/plugins/pidl/eparser.c	2005-01-03 23:30:15 UTC (rev 158)
+++ trunk/ethereal/plugins/pidl/eparser.c	2005-01-03 23:38:34 UTC (rev 159)
@@ -563,29 +563,6 @@
 	return ndr_token_peek(&ndr->array_size_list, p);
 }
 
-void proto_register_eparser(void)
-{
-        static hf_register_info hf[] = {
-        { &hf_string4_len, { "Length", "eparser.string4_length", FT_UINT32, BASE_DEC, NULL, 0x0, "String4 length", HFILL }},
-        { &hf_string4_offset, { "Offset", "eparser.string4_offset", FT_UINT32, BASE_DEC, NULL, 0x0, "String4 offset", HFILL }},
-        { &hf_string4_len2, { "Length2", "eparser.string4_length2", FT_UINT32, BASE_DEC, NULL, 0x0, "String4 length2", HFILL }},
-        { &hf_string_data, { "Data", "eparser.string_data", FT_NONE, BASE_NONE, NULL, 0x0, "String data", HFILL }},
-        { &hf_array_size, { "Array size", "eparser.array_size", FT_UINT32, BASE_DEC, NULL, 0x0, "Array size", HFILL }},
-        { &hf_array_uint8, { "Uint8 array value", "eparser.uint8_array", FT_UINT8, BASE_DEC, NULL, 0x0, "Uint8 array value", HFILL }},
-        { &hf_array_uint32, { "Uint32 array value", "eparser.uint32_array", FT_UINT32, BASE_DEC, NULL, 0x0, "Uint32 array value", HFILL }},
-        };
-
-        static gint *ett[] = {
-		&ett_array,
-        };
-
-        int proto_dcerpc;
-
-        proto_dcerpc = proto_get_id_by_filter_name("dcerpc");
-        proto_register_field_array(proto_dcerpc, hf, array_length(hf));
-        proto_register_subtree_array(ett, array_length(ett));
-}
-
 NTSTATUS ndr_pull_relative1(struct pidl_pull *ndr, const void *p, uint32_t rel_offset)
 {
 	if (ndr->flags & LIBNDR_FLAG_RELATIVE_CURRENT) {
@@ -622,7 +599,8 @@
 }
 
 
-static int hf_subcontext_size = -1;
+static int hf_subcontext_size16 = -1;
+static int hf_subcontext_size32 = -1;
 
 /*
   handle subcontext buffers, which in midl land are user-marshalled, but
@@ -643,7 +621,7 @@
 
 	case 2: {
 		uint16_t size;
-		ndr_pull_uint16(ndr, tree, hf_subcontext_size, &size);
+		ndr_pull_uint16(ndr, tree, hf_subcontext_size16, &size);
 		if (size == 0) return NT_STATUS_OK;
 		ndr_pull_subcontext(ndr, ndr2, size);
 		break;
@@ -651,7 +629,7 @@
 
 	case 4: {
 		uint32_t size;
-		ndr_pull_uint32(ndr, tree, hf_subcontext_size, &size);
+		ndr_pull_uint32(ndr, tree, hf_subcontext_size32, &size);
 		if (size == 0) return NT_STATUS_OK;
 		ndr_pull_subcontext(ndr, ndr2, size);
 		break;
@@ -774,3 +752,32 @@
 }
 
 gint hf_conformant_size = -1;
+
+void proto_register_eparser(void)
+{
+        static hf_register_info hf[] = {
+        { &hf_string4_len, { "Length", "eparser.string4_length", FT_UINT32, BASE_DEC, NULL, 0x0, "String4 length", HFILL }},
+        { &hf_string4_offset, { "Offset", "eparser.string4_offset", FT_UINT32, BASE_DEC, NULL, 0x0, "String4 offset", HFILL }},
+        { &hf_string4_len2, { "Length2", "eparser.string4_length2", FT_UINT32, BASE_DEC, NULL, 0x0, "String4 length2", HFILL }},
+        { &hf_string_data, { "Data", "eparser.string_data", FT_NONE, BASE_NONE, NULL, 0x0, "String data", HFILL }},
+        { &hf_array_size, { "Array size", "eparser.array_size", FT_UINT32, BASE_DEC, NULL, 0x0, "Array size", HFILL }},
+        { &hf_array_length, { "Array length", "eparser.array_length", FT_UINT32, BASE_DEC, NULL, 0x0, "Array length", HFILL }},
+        { &hf_array_offset, { "Array offset", "eparser.array_offset", FT_UINT32, BASE_DEC, NULL, 0x0, "Array offset", HFILL }},
+        { &hf_array_uint8, { "Uint8 array value", "eparser.uint8_array", FT_UINT8, BASE_DEC, NULL, 0x0, "Uint8 array value", HFILL }},
+        { &hf_array_uint32, { "Uint32 array value", "eparser.uint32_array", FT_UINT32, BASE_DEC, NULL, 0x0, "Uint32 array value", HFILL }},
+        { &hf_subcontext_size16, { "Uint16 subcontext", "eparser.subcontext16", FT_UINT16, BASE_DEC, NULL, 0x0, "Uint16 subcontext", HFILL }},
+        { &hf_subcontext_size32, { "Uint32 subcontext", "eparser.subcontext32", FT_UINT32, BASE_DEC, NULL, 0x0, "Uint32 subcontext", HFILL }},
+        { &hf_dom_sid2_num_auths, { "dom_sid2 num auths", "eparser.num_auths", FT_UINT32, BASE_DEC, NULL, 0x0, "dom_sid2 num auths", HFILL }},
+        };
+
+        static gint *ett[] = {
+		&ett_array,
+        };
+
+        int proto_dcerpc;
+
+        proto_dcerpc = proto_get_id_by_filter_name("dcerpc");
+        proto_register_field_array(proto_dcerpc, hf, array_length(hf));
+        proto_register_subtree_array(ett, array_length(ett));
+}
+



More information about the samba-cvs mailing list