From 100655416e5ca0fe25467fd86234b456c9c41df9 Mon Sep 17 00:00:00 2001 From: Tim Potter Date: Wed, 28 Nov 2001 06:29:24 +0000 Subject: Don't pass decorative name to policy handle or ntstatus dissectors. Pass drep (data representation?) field down from dcerpc dissector. This is whether the packet is big or little endian. (This used to be commit e5ca478614e50f7f45172a7f0e9fd37603502dfc) --- source4/build/pidl/eparser.pm | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) (limited to 'source4/build/pidl') diff --git a/source4/build/pidl/eparser.pm b/source4/build/pidl/eparser.pm index 748e698607..f9160f1fad 100644 --- a/source4/build/pidl/eparser.pm +++ b/source4/build/pidl/eparser.pm @@ -57,9 +57,9 @@ sub ParseStruct($) foreach my $e (@{$struct->{ELEMENTS}}) { if (defined $e->{POINTERS}) { - $res .= "\toffset = dissect_ptr(tvb, offset, pinfo, tree, &ptr_$e->{NAME}, \"$e->{NAME}\");\n"; + $res .= "\toffset = dissect_ptr(tvb, offset, pinfo, tree, &ptr_$e->{NAME}, drep, \"$e->{NAME}\");\n"; } else { - $res .= "\toffset = dissect_$e->{TYPE}(tvb, offset, pinfo, tree, \"$e->{NAME}\");\n"; + $res .= "\toffset = dissect_$e->{TYPE}(tvb, offset, pinfo, tree, drep, \"$e->{NAME}\");\n"; } } @@ -68,7 +68,7 @@ sub ParseStruct($) $res .= "\n\t/* Parse buffers */\n\n"; foreach my $e (@{$struct->{ELEMENTS}}) { - $res .= "\tif (ptr_$e->{NAME})\n\t\toffset = dissect_$e->{TYPE}(tvb, offset, pinfo, tree, \"$e->{NAME}\");\n\n", + $res .= "\tif (ptr_$e->{NAME})\n\t\toffset = dissect_$e->{TYPE}(tvb, offset, pinfo, tree, drep, \"$e->{NAME}\");\n\n", if (defined $e->{POINTERS}); } } @@ -86,7 +86,7 @@ sub ParseUnionElement($) # $res .= "}\n\n"; $res .= "\tcase $element->{DATA}->{NAME}: \n"; - $res .= "\t\toffset = dissect_$element->{DATA}->{TYPE}(tvb, offset, pinfo, tree, \"$element->{DATA}->{NAME}\");\n\t\tbreak;\n"; + $res .= "\t\toffset = dissect_$element->{DATA}->{TYPE}(tvb, offset, pinfo, tree, drep, \"$element->{DATA}->{NAME}\");\n\t\tbreak;\n"; # $res .= "[case($element->{CASE})] "; # ParseElement($element->{DATA}); @@ -132,7 +132,7 @@ sub ParseTypedef($) my($typedef) = shift; $res .= "static int dissect_$typedef->{NAME}(tvbuff_t *tvb, int offset,\ -\tpacket_info *pinfo, proto_tree *tree)\n{\n"; +\tpacket_info *pinfo, proto_tree *tree, char *drep)\n{\n"; ParseType($typedef->{DATA}); $res .= "}\n\n"; } @@ -151,18 +151,18 @@ sub ParseFunctionArg($$) foreach my $prop (@{$arg->{PROPERTIES}}) { if ($prop =~ /context_handle/) { - $res .= "\toffset = dissect_policy_hnd(tvb, offset, pinfo, tree, \"policy_hnd\");\n"; + $res .= "\toffset = dissect_policy_hnd(tvb, offset, pinfo, tree, drep);\n"; $is_pol = 1; } } if (!$is_pol) { if ($arg->{POINTERS}) { - $res .= "\tptr_$arg->{NAME} = dissect_dcerpc_ptr(tvb, offset, pinfo, tree, \"$arg->{NAME}\");\n"; + $res .= "\tptr_$arg->{NAME} = dissect_dcerpc_ptr(tvb, offset, pinfo, tree, drep, \"$arg->{NAME}\");\n"; $res .= "\tif (ptr_$arg->{NAME})\ -\t\toffset = dissect_dcerpc_$arg->{TYPE}(tvb, offset, pinfo, tree, \"$arg->{NAME}\");\n\n"; +\t\toffset = dissect_dcerpc_$arg->{TYPE}(tvb, offset, pinfo, tree, drep, \"$arg->{NAME}\");\n\n"; } else { - $res .= "\toffset = dissect_dcerpc_$arg->{TYPE}(tvb, offset, pinfo, tree, \"$arg->{NAME}\");\n"; + $res .= "\toffset = dissect_dcerpc_$arg->{TYPE}(tvb, offset, pinfo, tree, drep, \"$arg->{NAME}\");\n"; } } } @@ -177,7 +177,7 @@ sub ParseFunction($) # Input function $res .= "static int $function->{NAME}_q(tvbuff_t *tvb, int offset,\ -\tpacket_info *pinfo, proto_tree *tree)\n{\n"; +\tpacket_info *pinfo, proto_tree *tree, char *drep)\n{\n"; foreach my $arg (@{$function->{DATA}}) { ParseFunctionArg($arg, "in"); @@ -188,13 +188,13 @@ sub ParseFunction($) # Output function $res .= "static int $function->{NAME}_r(tvbuff_t *tvb, int offset,\ -\tpacket_info *pinfo, proto_tree *tree)\n{\n"; +\tpacket_info *pinfo, proto_tree *tree, char *drep)\n{\n"; foreach my $arg (@{$function->{DATA}}) { ParseFunctionArg($arg, "out"); } - $res .= "\n\toffset = dissect_ntstatus(tvb, offset, pinfo, tree, \"status\");\n"; + $res .= "\n\toffset = dissect_ntstatus(tvb, offset, pinfo, tree, drep);\n"; $res .= "\n\treturn 0;\n}\n\n"; -- cgit