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