[SCM] Samba Shared Repository - branch master updated
Stefan Metzmacher
metze at samba.org
Mon Jun 20 14:21:03 UTC 2016
The branch, master has been updated
via 2d348bd pidl/ws: fix missing $name when generating MAPI dissector
via 0757c57 pidl/ws: fix failing tests
via 8a691e5 pidl/s4/python: typo in comment
via deabf7a pidl/ws: directly use `di` param instead of casting `private_data` member.
via 97eda22 pidl/ws: Document CODE_START and HEADER_START
via b18d075 pidl/ws: whitespace cleanup
via 372b41e pidl/ws: Add HEADER START/HEADER END in ws dissector
via 0d209ea pidl/ws: dereference pointers when passing name param.
via 57bc1ce pidl/ws: Remove pinfo->private_data from DCERPC dissectors.
via 4981890 pidl/ws: remove any starting _ in WS field names
via cafb68f pidl/ws: avoid trailing tabs
via bce8543 pidl: use https urls and update dead msdn link
via ad99cfb pidl/ws: Eliminate e_uuid_t in favor of e_guid_t
via fda6c78 pidl/ws: Remove #pragma warning (MSVC)
via e3d15db pidl/ws: fix Assigned value is garbage or undefined found by Clang Analyzer
via 82f3f25 pidl/ws: fix indent (use 4 tabs) and remove trailing whitespace
via 30e7be5 pidl/ws: Fix Dead Store (Dead assignement/Dead increment) warning found by Clang
via 5489855 pidl/ws: enhance dissector
via c5b598d pidl/ws: fix -Wmissing-prototype
via 33baf1c pidl/ws: Fix Dead Store (Dead assignement/Dead increment) warning found by Clang
from 0c04f5f selftest: make samba3.blackbox.smbclient_tar as flapping
https://git.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit 2d348bdb8d6aa53ddf5d7a4c9c02777a79668bbe
Author: Aurelien Aptel <aaptel at suse.com>
Date: Wed May 18 15:01:56 2016 +0200
pidl/ws: fix missing $name when generating MAPI dissector
Port Wireshark commit 0e80176
Author: Alexis La Goutte <alexis.lagoutte at gmail.com>
Date: Fri Mar 4 19:28:26 2016 +0100
PIDL (NDR): fix missing $name when regenerate MAPI dissector
Issue coming from ge41f08858b
Signed-off-by: Aurelien Aptel <aaptel at suse.com>
Reviewed-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: David Disseldorp <ddiss at samba.org>
Autobuild-User(master): Stefan Metzmacher <metze at samba.org>
Autobuild-Date(master): Mon Jun 20 16:20:00 CEST 2016 on sn-devel-144
commit 0757c57d9941b0df8e92c92fc2dde69399336512
Author: Aurelien Aptel <aaptel at suse.com>
Date: Wed May 18 14:23:56 2016 +0200
pidl/ws: fix failing tests
This commit fixes 2 test failures in Pidl test suite.
- commit 02cd7808 changed the error the test was expecting
=> update expected output in the test
- commit c76b65e changed whitespaces in the output
=> revert to the old output in the generator
Signed-off-by: Aurelien Aptel <aaptel at suse.com>
Reviewed-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: David Disseldorp <ddiss at samba.org>
commit 8a691e5aff59fe5a152791c3f2a658fefa9f3dc8
Author: Aurelien Aptel <aaptel at suse.com>
Date: Wed Feb 24 17:05:25 2016 +0100
pidl/s4/python: typo in comment
Signed-off-by: Aurelien Aptel <aaptel at suse.com>
Reviewed-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: David Disseldorp <ddiss at samba.org>
commit deabf7ab07bb98d81d8fc3e7e0355c9b8d0df6a4
Author: Aurelien Aptel <aaptel at suse.com>
Date: Wed Feb 10 15:05:45 2016 +0100
pidl/ws: directly use `di` param instead of casting `private_data` member.
As in Wireshark repo.
Signed-off-by: Aurelien Aptel <aaptel at suse.com>
Reviewed-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: David Disseldorp <ddiss at samba.org>
commit 97eda222d08e7aa32ca8c8c6af41f2901ac174ba
Author: Aurelien Aptel <aaptel at suse.com>
Date: Wed Feb 10 14:52:52 2016 +0100
pidl/ws: Document CODE_START and HEADER_START
Port Wireshark commit 833d315
Author: Guy Harris <guy at alum.mit.edu>
Date: Mon Jan 13 21:18:29 2014 +0000
Document {CODE,HEADER} {START,END}.
Clean up indentation.
svn path=/trunk/; revision=54721
Signed-off-by: Aurelien Aptel <aaptel at suse.com>
Reviewed-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: David Disseldorp <ddiss at samba.org>
commit b18d075e5c726062995a89d1cc88a8e39c3043d7
Author: Aurelien Aptel <aaptel at suse.com>
Date: Tue Feb 9 18:54:39 2016 +0100
pidl/ws: whitespace cleanup
Imported from the WS repo.
Signed-off-by: Aurelien Aptel <aaptel at suse.com>
Reviewed-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: David Disseldorp <ddiss at samba.org>
commit 372b41eede4cfcedcea7fbe8370dd7ac2d015db2
Author: Aurelien Aptel <aaptel at suse.com>
Date: Tue Feb 9 18:52:30 2016 +0100
pidl/ws: Add HEADER START/HEADER END in ws dissector
Port Wireshark commit a297950
Author: Guy Harris <guy at alum.mit.edu>
Date: Mon Jan 13 21:05:44 2014 +0000
Add HEADER START and HEADER END, similar to CODE START and CODE END, to
allow stuff to be put into the .h file; that way, if you put helper
functions into the .c file, for use by dissectors other than the one
being generated, you can put declarations for them into the .h file.
Do some checks for mis-nesting of CODE and HEADER blocks.
Clean up the "this is generated code" header.
svn path=/trunk/; revision=54720
Signed-off-by: Aurelien Aptel <aaptel at suse.com>
Reviewed-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: David Disseldorp <ddiss at samba.org>
commit 0d209ea24b4c7a0e403e8903fdc445493894e114
Author: Aurelien Aptel <aaptel at suse.com>
Date: Tue Feb 9 17:36:19 2016 +0100
pidl/ws: dereference pointers when passing name param.
Port parts of Wireshark commit a58c986f to the samba repo.
Signed-off-by: Aurelien Aptel <aaptel at suse.com>
Reviewed-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: David Disseldorp <ddiss at samba.org>
commit 57bc1ced67b9c1a65f9997d54bf560cdeb3802a2
Author: Aurelien Aptel <aaptel at suse.com>
Date: Tue Feb 9 17:30:09 2016 +0100
pidl/ws: Remove pinfo->private_data from DCERPC dissectors.
Sort of re-apply Wireshark commit 79cd356 which was never sync with
samba. It was reverted then reintroduced in the WS repo (yes this is
quite convulted).
Original commit message:
Author: Michael Mann <mmann78 at netscape.net>
Date: Wed Nov 6 12:36:09 2013 +0000
Remove pinfo->private_data from DCERPC dissectors. Bug 9387 (https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9387)
This is the PIDL input file changes necessary to support removing pinfo->private_data from the DCERPC dissectors in favor of passing it through function parameters. I didn't regenerate the dissector source, so this is just a "good faith" effort to mimic the manual changes.
svn path=/trunk/; revision=53098
Signed-off-by: Aurelien Aptel <aaptel at suse.com>
Reviewed-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: David Disseldorp <ddiss at samba.org>
commit 498189087beaf2c52622b55cb3f5c9f411be3346
Author: Aurelien Aptel <aaptel at suse.com>
Date: Tue Feb 9 17:12:41 2016 +0100
pidl/ws: remove any starting _ in WS field names
Signed-off-by: Aurelien Aptel <aaptel at suse.com>
Reviewed-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: David Disseldorp <ddiss at samba.org>
commit cafb68fdc4a1e9ba14802a085d08aa98e3e8662e
Author: Aurelien Aptel <aaptel at suse.com>
Date: Tue Feb 9 16:10:12 2016 +0100
pidl/ws: avoid trailing tabs
Port Wireshark commit 4f04a3c
Author: Stefan Metzmacher <metze at samba.org>
Date: Thu Oct 29 08:32:52 2015 +0100
tools/pidl: avoid trailing tabs
Change-Id: I293dd6f2d7ff3b0e27bc3cc49e69977604f12260
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-on: https://code.wireshark.org/review/11433
Reviewed-by: Anders Broman <a.broman58 at gmail.com>
Signed-off-by: Aurelien Aptel <aaptel at suse.com>
Reviewed-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: David Disseldorp <ddiss at samba.org>
commit bce85437b61e86f4cf7a693e61811b04ab64eefe
Author: Aurelien Aptel <aaptel at suse.com>
Date: Tue Feb 9 15:43:53 2016 +0100
pidl: use https urls and update dead msdn link
Signed-off-by: Aurelien Aptel <aaptel at suse.com>
Reviewed-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: David Disseldorp <ddiss at samba.org>
commit ad99cfb9c5414e8d31b89184a1e666f3f12125ab
Author: Aurelien Aptel <aaptel at suse.com>
Date: Tue Feb 9 15:32:51 2016 +0100
pidl/ws: Eliminate e_uuid_t in favor of e_guid_t
Port Wireshark commit 499d959
Author: Guy Harris <guy at alum.mit.edu>
Date: Tue Mar 3 02:47:53 2015 -0800
Eliminate e_uuid_t in favor of e_guid_t.
That eliminates a redundant and confusing data type, and avoids issues
with one piece of code using e_uuid_t but wanting to use routines
expecting an e_guid_t.
Change-Id: I95e172d46d342ab40f6254300ecbd2a0530cde60
Reviewed-on: https://code.wireshark.org/review/7506
Reviewed-by: Guy Harris <guy at alum.mit.edu>
Signed-off-by: Aurelien Aptel <aaptel at suse.com>
Reviewed-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: David Disseldorp <ddiss at samba.org>
commit fda6c784fd7420cbc4bacdff00be02ff574b16a3
Author: Aurelien Aptel <aaptel at suse.com>
Date: Fri Feb 5 15:31:16 2016 +0100
pidl/ws: Remove #pragma warning (MSVC)
Port Wireshark commit ceda0f9
Author: Alexis La Goutte <alexis.lagoutte at gmail.com>
Date: Sun Oct 5 19:34:46 2014 +0200
Remove #pragma warning (MSVC) for PIDL generate dissector
Change-Id: I1e4c7944a2cd877f5c707703dcff44fe9f955a2c
Reviewed-on: https://code.wireshark.org/review/4479
Reviewed-by: Alexis La Goutte <alexis.lagoutte at gmail.com>
Signed-off-by: Aurelien Aptel <aaptel at suse.com>
Reviewed-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: David Disseldorp <ddiss at samba.org>
commit e3d15db0308b37d0097de3a8462a1897f86db998
Author: Aurelien Aptel <aaptel at suse.com>
Date: Fri Feb 5 15:29:28 2016 +0100
pidl/ws: fix Assigned value is garbage or undefined found by Clang Analyzer
Port Wireshark commit 683d657
Author: Alexis La Goutte <alexis.lagoutte at gmail.com>
Date: Sun Oct 5 19:27:15 2014 +0200
PIDL (DCERPC): fix Assigned value is garbage or undefined found by Clang Analyzer
packet-dcerpc-dnsserver.c:1002:12: warning: Assigned value is garbage or undefined
packet-dcerpc-frstrans.c:1137:12: warning: Assigned value is garbage or undefined
packet-dcerpc-lsa.c:6345:12: warning: Assigned value is garbage or undefined
packet-dcerpc-nspi.c:7805:12: warning: Assigned value is garbage or undefined
packet-dcerpc-dfs.c:3245:11: warning: Function call argument is an uninitialized value
packet-dcerpc-dfs.c:3245:9: warning: 'level' may be used uninitialized in this function [-Wmaybe-uninitialized]
Change-Id: Ife6a2f565ae215535d0e3d72ef50800114240e3f
Reviewed-on: https://code.wireshark.org/review/4478
Reviewed-by: Evan Huus <eapache at gmail.com>
Signed-off-by: Aurelien Aptel <aaptel at suse.com>
Reviewed-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: David Disseldorp <ddiss at samba.org>
commit 82f3f25b3ae5b336fba0dc0c79c325403f16804b
Author: Aurelien Aptel <aaptel at suse.com>
Date: Fri Feb 5 15:25:57 2016 +0100
pidl/ws: fix indent (use 4 tabs) and remove trailing whitespace
Port Wireshark commit 4110bde
Author: Alexis La Goutte <alexis.lagoutte at gmail.com>
Date: Fri Sep 26 19:51:34 2014 +0200
PIDL: fix indent (use 4 tabs) and remove trailing whitespace
Change-Id: I0ee63a040867b44ac9915704f5e581483ed6f7e2
Reviewed-on: https://code.wireshark.org/review/4310
Reviewed-by: Anders Broman <a.broman58 at gmail.com>
Signed-off-by: Aurelien Aptel <aaptel at suse.com>
Reviewed-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: David Disseldorp <ddiss at samba.org>
commit 30e7be511e85919bc71f8e653b0b089c76c6f31f
Author: Aurelien Aptel <aaptel at suse.com>
Date: Fri Feb 5 14:43:04 2016 +0100
pidl/ws: Fix Dead Store (Dead assignement/Dead increment) warning found by Clang
Port Wireshark commit f6b9e7a
Author: Alexis La Goutte <alexis.lagoutte at gmail.com>
Date: Sun Sep 28 20:57:13 2014 +0200
PIDL: Fix Dead Store (Dead assignement/Dead increment) warning found by Clang
Change-Id: Ibae478771b30d6e9ae07315985f1e71bc6b65423
Reviewed-on: https://code.wireshark.org/review/4350
Reviewed-by: Michael Mann <mmann78 at netscape.net>
Signed-off-by: Aurelien Aptel <aaptel at suse.com>
Reviewed-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: David Disseldorp <ddiss at samba.org>
commit 54898557d83bd7db78086b270e109b67d9ea6455
Author: Aurelien Aptel <aaptel at suse.com>
Date: Fri Feb 5 14:38:55 2016 +0100
pidl/ws: enhance dissector
Port Wireshark commit 28ec9c2
Author: Alexis La Goutte <alexis.lagoutte at gmail.com>
Date: Fri Sep 26 23:29:43 2014 +0200
PIDL (DCERPC winreg): enhance dissector
* Fix PIDL generator for NOEMIT Element (fix -Wunused-function for DCERPC winreg dissector)
* Fix indent (use tabs)
* Remove DCERPC winreg dissector from DIRTY list
Change-Id: I5d16cbfe8481a5e5f7e5df9b51735c93ae4375a7
Reviewed-on: https://code.wireshark.org/review/4322
Reviewed-by: Michael Mann <mmann78 at netscape.net>
Signed-off-by: Aurelien Aptel <aaptel at suse.com>
Reviewed-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: David Disseldorp <ddiss at samba.org>
commit c5b598d383bd391bc238249e414c65c90448971b
Author: Aurelien Aptel <aaptel at suse.com>
Date: Fri Feb 5 14:36:27 2016 +0100
pidl/ws: fix -Wmissing-prototype
Port Wireshark commit e759d82
Author: Alexis La Goutte <alexis.lagoutte at gmail.com>
Date: Fri Sep 26 18:47:53 2014 +0200
PIDL: fix -Wmissing-prototype
Change-Id: I4cae47450e8026b10bd373828f235184560e0a99
Reviewed-on: https://code.wireshark.org/review/4308
Petri-Dish: Alexis La Goutte <alexis.lagoutte at gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply at wireshark.org>
Reviewed-by: Michael Mann <mmann78 at netscape.net>
Signed-off-by: Aurelien Aptel <aaptel at suse.com>
Reviewed-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: David Disseldorp <ddiss at samba.org>
commit 33baf1cccbd600e803ddfdc0cb8e7c374dc46aef
Author: Aurelien Aptel <aaptel at suse.com>
Date: Fri Feb 5 14:29:22 2016 +0100
pidl/ws: Fix Dead Store (Dead assignement/Dead increment) warning found by Clang
Port Wireshark commit f0b5fb7
Author: Alexis La Goutte <alexis.lagoutte at gmail.com>
Date: Fri Sep 26 21:31:32 2014 +0200
PIDL: Fix Dead Store (Dead assignement/Dead increment) warning found by Clang
Change-Id: I7f6f974732b7905f4ea4686e1a79ca6fbef78fa8
Reviewed-on: https://code.wireshark.org/review/4319
Reviewed-by: Alexis La Goutte <alexis.lagoutte at gmail.com>
Signed-off-by: Aurelien Aptel <aaptel at suse.com>
Reviewed-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: David Disseldorp <ddiss at samba.org>
-----------------------------------------------------------------------
Summary of changes:
pidl/lib/Parse/Pidl/Samba3/ClientNDR.pm | 2 +-
pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm | 2 +-
pidl/lib/Parse/Pidl/Samba4/Python.pm | 22 +--
pidl/lib/Parse/Pidl/Wireshark/Conformance.pm | 60 ++++++-
pidl/lib/Parse/Pidl/Wireshark/NDR.pm | 235 +++++++++++++++------------
pidl/pidl | 156 +++++++++---------
pidl/tests/wireshark-conf.pl | 2 +-
7 files changed, 279 insertions(+), 200 deletions(-)
Changeset truncated at 500 lines:
diff --git a/pidl/lib/Parse/Pidl/Samba3/ClientNDR.pm b/pidl/lib/Parse/Pidl/Samba3/ClientNDR.pm
index 28d5245..6acf1c5 100644
--- a/pidl/lib/Parse/Pidl/Samba3/ClientNDR.pm
+++ b/pidl/lib/Parse/Pidl/Samba3/ClientNDR.pm
@@ -25,7 +25,7 @@ $VERSION = '0.01';
sub indent($) { my ($self) = @_; $self->{tabs}.="\t"; }
sub deindent($) { my ($self) = @_; $self->{tabs} = substr($self->{tabs}, 1); }
sub pidl($$) { my ($self,$txt) = @_; $self->{res} .= $txt ? "$self->{tabs}$txt\n" : "\n"; }
-sub pidl_hdr($$) { my ($self, $txt) = @_; $self->{res_hdr} .= "$txt\n"; }
+sub pidl_hdr($$) { my ($self, $txt) = @_; $self->{res_hdr} .= "$txt\n"; }
sub fn_declare($$) { my ($self,$n) = @_; $self->pidl($n); $self->pidl_hdr("$n;"); }
sub new($)
diff --git a/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm b/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm
index 29cdfa9..94f4855 100644
--- a/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm
+++ b/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm
@@ -702,7 +702,7 @@ sub ParseElementPushLevel
$self->ParseElementPushLevel($e, GetNextLevel($e, $l), $ndr, $var_name, $env, 0, 1);
$self->deindent;
$self->pidl("}");
- }
+ }
} elsif ($l->{TYPE} eq "SWITCH") {
$self->ParseElementPushLevel($e, GetNextLevel($e, $l), $ndr, $var_name, $env, $primitives, $deferred);
}
diff --git a/pidl/lib/Parse/Pidl/Samba4/Python.pm b/pidl/lib/Parse/Pidl/Samba4/Python.pm
index f43e4d6..07c18de 100644
--- a/pidl/lib/Parse/Pidl/Samba4/Python.pm
+++ b/pidl/lib/Parse/Pidl/Samba4/Python.pm
@@ -1027,21 +1027,21 @@ sub ConvertObjectFromPythonData($$$$$$;$)
my $ctype_alias = "";
my $uint_max = "";
if ($actual_ctype->{TYPE} eq "ENUM") {
- # Importantly, ENUM values are unsigned in pidl, and
- # typically map to uint32
- $ctype_alias = enum_type_fn($actual_ctype);
+ # Importantly, ENUM values are unsigned in pidl, and
+ # typically map to uint32
+ $ctype_alias = enum_type_fn($actual_ctype);
} elsif ($actual_ctype->{TYPE} eq "BITMAP") {
- $ctype_alias = bitmap_type_fn($actual_ctype);
+ $ctype_alias = bitmap_type_fn($actual_ctype);
} elsif ($actual_ctype->{TYPE} eq "SCALAR") {
- $ctype_alias = expandAlias($actual_ctype->{NAME});
+ $ctype_alias = expandAlias($actual_ctype->{NAME});
}
# This is the unsigned Python Integer -> C integer validation
- # case. The signed case is below.
+ # case. The signed case is below.
if ($ctype_alias =~ /^(uint[0-9]*|hyper|udlong|udlongr
- |NTTIME_hyper|NTTIME|NTTIME_1sec
- |uid_t|gid_t)$/x) {
- $self->pidl("{");
+ |NTTIME_hyper|NTTIME|NTTIME_1sec
+ |uid_t|gid_t)$/x) {
+ $self->pidl("{");
$self->indent;
$self->pidl("const unsigned long long uint_max = ndr_sizeof2uintmax(sizeof($target));");
$self->pidl("if (PyLong_Check($cvar)) {");
@@ -1092,7 +1092,7 @@ sub ConvertObjectFromPythonData($$$$$$;$)
# above, so while it looks like a duplicate, it is not
# actually a duplicate.
if ($ctype_alias =~ /^(dlong|char|int[0-9]*|time_t)$/x) {
- $self->pidl("{");
+ $self->pidl("{");
$self->indent;
$self->pidl("const long long int_max = ndr_sizeof2intmax(sizeof($target));");
$self->pidl("const long long int_min = -int_max - 1;");
@@ -1547,7 +1547,7 @@ sub Parse($$$$$)
#include \"$ndr_hdr\"
/*
- * These functions are here to ensure they can be optomised out by
+ * These functions are here to ensure they can be optimized out by
* the compiler based on the constant input values
*/
diff --git a/pidl/lib/Parse/Pidl/Wireshark/Conformance.pm b/pidl/lib/Parse/Pidl/Wireshark/Conformance.pm
index b81cf5e..01a8c47 100644
--- a/pidl/lib/Parse/Pidl/Wireshark/Conformance.pm
+++ b/pidl/lib/Parse/Pidl/Wireshark/Conformance.pm
@@ -89,6 +89,14 @@ to write a function manually. This can be used to remove the function
for only one level for a particular element rather than all the functions and
ett/hf variables for a particular element as the NOEMIT command does.
+=item I<CODE START>/I<CODE END>
+Begin and end a section of code to be put directly into the generated
+source file for the dissector.
+
+=item I<HEADER START>/I<HEADER END>
+Begin and end a section of code to be put directly into the generated
+header file for the dissector.
+
=back
=head1 EXAMPLE
@@ -396,6 +404,7 @@ sub ReadConformanceFH($$$)
my ($fh,$data,$f) = @_;
my $incodeblock = 0;
+ my $inheaderblock = 0;
my $ln = 0;
@@ -407,9 +416,27 @@ sub ReadConformanceFH($$$)
s/[\r\n]//g;
if ($_ eq "CODE START") {
+ if ($incodeblock) {
+ warning({ FILE => $f, LINE => $ln },
+ "CODE START inside CODE section");
+ }
+ if ($inheaderblock) {
+ error({ FILE => $f, LINE => $ln },
+ "CODE START inside HEADER section");
+ return undef;
+ }
$incodeblock = 1;
next;
- } elsif ($incodeblock and $_ eq "CODE END") {
+ } elsif ($_ eq "CODE END") {
+ if (!$incodeblock) {
+ warning({ FILE => $f, LINE => $ln },
+ "CODE END outside CODE section");
+ }
+ if ($inheaderblock) {
+ error({ FILE => $f, LINE => $ln },
+ "CODE END inside HEADER section");
+ return undef;
+ }
$incodeblock = 0;
next;
} elsif ($incodeblock) {
@@ -419,6 +446,37 @@ sub ReadConformanceFH($$$)
$data->{override} = "$_\n";
}
next;
+ } elsif ($_ eq "HEADER START") {
+ if ($inheaderblock) {
+ warning({ FILE => $f, LINE => $ln },
+ "HEADER START inside HEADER section");
+ }
+ if ($incodeblock) {
+ error({ FILE => $f, LINE => $ln },
+ "HEADER START inside CODE section");
+ return undef;
+ }
+ $inheaderblock = 1;
+ next;
+ } elsif ($_ eq "HEADER END") {
+ if (!$inheaderblock) {
+ warning({ FILE => $f, LINE => $ln },
+ "HEADER END outside HEADER section");
+ }
+ if ($incodeblock) {
+ error({ FILE => $f, LINE => $ln },
+ "CODE END inside HEADER section");
+ return undef;
+ }
+ $inheaderblock = 0;
+ next;
+ } elsif ($inheaderblock) {
+ if (exists $data->{header}) {
+ $data->{header}.="$_\n";
+ } else {
+ $data->{header} = "$_\n";
+ }
+ next;
}
my @fields = /([^ "]+|"[^"]+")/g;
diff --git a/pidl/lib/Parse/Pidl/Wireshark/NDR.pm b/pidl/lib/Parse/Pidl/Wireshark/NDR.pm
index caa58c2..8161646 100644
--- a/pidl/lib/Parse/Pidl/Wireshark/NDR.pm
+++ b/pidl/lib/Parse/Pidl/Wireshark/NDR.pm
@@ -59,6 +59,7 @@ sub field2name($)
{
my($field) = shift;
+ $field =~ s/^(_)*//g; # Remove any starting underscores
$field =~ s/_/ /g; # Replace underscores with spaces
$field =~ s/(\w+)/\u\L$1/g; # Capitalise each word
@@ -150,7 +151,7 @@ sub Enum($$$$)
}
$self->pidl_hdr("extern const value_string $valsstring\[];");
- $self->pidl_hdr("int $dissectorname(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_, int hf_index _U_, g$e->{BASE_TYPE} *param _U_);");
+ $self->pidl_hdr("int $dissectorname(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, g$e->{BASE_TYPE} *param _U_);");
$self->pidl_def("const value_string ".$valsstring."[] = {");
foreach (@{$e->{ELEMENTS}}) {
@@ -163,7 +164,7 @@ sub Enum($$$$)
$self->pidl_fn_start($dissectorname);
$self->pidl_code("int");
- $self->pidl_code("$dissectorname(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_, int hf_index _U_, g$e->{BASE_TYPE} *param _U_)");
+ $self->pidl_code("$dissectorname(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, g$e->{BASE_TYPE} *param _U_)");
$self->pidl_code("{");
$self->indent;
$self->pidl_code("g$e->{BASE_TYPE} parameter=0;");
@@ -172,7 +173,7 @@ sub Enum($$$$)
$self->pidl_code("parameter = *param;");
$self->deindent;
$self->pidl_code("}");
- $self->pidl_code("offset = dissect_ndr_$e->{BASE_TYPE}(tvb, offset, pinfo, tree, drep, hf_index, ¶meter);");
+ $self->pidl_code("offset = dissect_ndr_$e->{BASE_TYPE}(tvb, offset, pinfo, tree, di, drep, hf_index, ¶meter);");
$self->pidl_code("if (param) {");
$self->indent;
$self->pidl_code("*param = parameter;");
@@ -185,7 +186,7 @@ sub Enum($$$$)
my $enum_size = $e->{BASE_TYPE};
$enum_size =~ s/uint//g;
- $self->register_type($name, "offset = $dissectorname(tvb, offset, pinfo, tree, drep, \@HF\@, \@PARAM\@);", "FT_UINT$enum_size", "BASE_DEC", "0", "VALS($valsstring)", $enum_size / 8);
+ $self->register_type($name, "offset = $dissectorname(tvb, offset, pinfo, tree, di, drep, \@HF\@, \@PARAM\@);", "FT_UINT$enum_size", "BASE_DEC", "0", "VALS($valsstring)", $enum_size / 8);
}
sub Pipe($$$$)
@@ -202,11 +203,11 @@ sub Bitmap($$$$)
$self->register_ett("ett_$ifname\_$name");
- $self->pidl_hdr("int $dissectorname(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_);");
+ $self->pidl_hdr("int $dissectorname(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_);");
$self->pidl_fn_start($dissectorname);
$self->pidl_code("int");
- $self->pidl_code("$dissectorname(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)");
+ $self->pidl_code("$dissectorname(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)");
$self->pidl_code("{");
$self->indent;
$self->pidl_code("proto_item *item = NULL;");
@@ -227,7 +228,7 @@ sub Bitmap($$$$)
$self->deindent;
$self->pidl_code("}\n");
- $self->pidl_code("offset = dissect_ndr_$e->{BASE_TYPE}(tvb, offset, pinfo, NULL, drep, -1, &flags);");
+ $self->pidl_code("offset = dissect_ndr_$e->{BASE_TYPE}(tvb, offset, pinfo, tree, di, drep, -1, &flags);");
$self->pidl_code("proto_item_append_text(item, \": \");\n");
$self->pidl_code("if (!flags)");
@@ -274,7 +275,7 @@ sub Bitmap($$$$)
my $size = $e->{BASE_TYPE};
$size =~ s/uint//g;
- $self->register_type($name, "offset = $dissectorname(tvb, offset, pinfo, tree, drep, \@HF\@, \@PARAM\@);", "FT_UINT$size", "BASE_HEX", "0", "NULL", $size/8);
+ $self->register_type($name, "offset = $dissectorname(tvb, offset, pinfo, tree, di, drep, \@HF\@, \@PARAM\@);", "FT_UINT$size", "BASE_HEX", "0", "NULL", $size/8);
}
sub ElementLevel($$$$$$$$)
@@ -292,26 +293,26 @@ sub ElementLevel($$$$$$$$)
} elsif ($l->{LEVEL} eq "EMBEDDED") {
$type = "embedded";
}
- $self->pidl_code("offset = dissect_ndr_$type\_pointer(tvb, offset, pinfo, tree, drep, $myname\_, $ptrtype_mappings{$l->{POINTER_TYPE}}, \"Pointer to ".field2name(StripPrefixes($e->{NAME}, $self->{conformance}->{strip_prefixes})) . " ($e->{TYPE})\",$hf);");
+ $self->pidl_code("offset = dissect_ndr_$type\_pointer(tvb, offset, pinfo, tree, di, drep, $myname\_, $ptrtype_mappings{$l->{POINTER_TYPE}}, \"Pointer to ".field2name(StripPrefixes($e->{NAME}, $self->{conformance}->{strip_prefixes})) . " ($e->{TYPE})\",$hf);");
} elsif ($l->{TYPE} eq "ARRAY") {
if ($l->{IS_INLINE}) {
error($e->{ORIGINAL}, "Inline arrays not supported");
} elsif ($l->{IS_FIXED}) {
$self->pidl_code("int i;");
$self->pidl_code("for (i = 0; i < $l->{SIZE_IS}; i++)");
- $self->pidl_code("\toffset = $myname\_(tvb, offset, pinfo, tree, drep);");
+ $self->pidl_code("\toffset = $myname\_(tvb, offset, pinfo, tree, di, drep);");
} else {
my $type = "";
$type .= "c" if ($l->{IS_CONFORMANT});
$type .= "v" if ($l->{IS_VARYING});
unless ($l->{IS_ZERO_TERMINATED}) {
- $self->pidl_code("offset = dissect_ndr_u" . $type . "array(tvb, offset, pinfo, tree, drep, $myname\_);");
+ $self->pidl_code("offset = dissect_ndr_u" . $type . "array(tvb, offset, pinfo, tree, di, drep, $myname\_);");
} else {
my $nl = GetNextLevel($e,$l);
$self->pidl_code("char *data;");
$self->pidl_code("");
- $self->pidl_code("offset = dissect_ndr_$type" . "string(tvb, offset, pinfo, tree, drep, sizeof(g$nl->{DATA_TYPE}), $hf, FALSE, &data);");
+ $self->pidl_code("offset = dissect_ndr_$type" . "string(tvb, offset, pinfo, tree, di, drep, sizeof(g$nl->{DATA_TYPE}), $hf, FALSE, &data);");
$self->pidl_code("proto_item_append_text(tree, \": %s\", data);");
}
}
@@ -324,10 +325,10 @@ sub ElementLevel($$$$$$$$)
if (property_matches($e, "flag", ".*LIBNDR_FLAG_STR_SIZE4.*") and property_matches($e, "flag", ".*LIBNDR_FLAG_STR_LEN4.*")) {
$self->pidl_code("char *data;\n");
- $self->pidl_code("offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, drep, $bs, $hf, FALSE, &data);");
+ $self->pidl_code("offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, $bs, $hf, FALSE, &data);");
$self->pidl_code("proto_item_append_text(tree, \": %s\", data);");
} elsif (property_matches($e, "flag", ".*LIBNDR_FLAG_STR_SIZE4.*")) {
- $self->pidl_code("offset = dissect_ndr_vstring(tvb, offset, pinfo, tree, drep, $bs, $hf, FALSE, NULL);");
+ $self->pidl_code("offset = dissect_ndr_vstring(tvb, offset, pinfo, tree, di, drep, $bs, $hf, FALSE, NULL);");
} elsif (property_matches($e, "flag", ".*STR_NULLTERM.*")) {
if ($bs == 2) {
$self->pidl_code("offset = dissect_null_term_wstring(tvb, offset, pinfo, tree, drep, $hf , 0);")
@@ -340,18 +341,16 @@ sub ElementLevel($$$$$$$$)
} elsif ($l->{DATA_TYPE} eq "DATA_BLOB") {
my $remain = 0;
$remain = 1 if (property_matches($e->{ORIGINAL}, "flag", ".*LIBNDR_FLAG_REMAINING.*"));
- $self->pidl_code("offset = dissect_ndr_datablob(tvb, offset, pinfo, tree, drep, $hf, $remain);");
+ $self->pidl_code("offset = dissect_ndr_datablob(tvb, offset, pinfo, tree, di, drep, $hf, $remain);");
} else {
my $call;
if ($self->{conformance}->{imports}->{$l->{DATA_TYPE}}) {
$call = $self->{conformance}->{imports}->{$l->{DATA_TYPE}}->{DATA};
$self->{conformance}->{imports}->{$l->{DATA_TYPE}}->{USED} = 1;
-
} elsif (defined($self->{conformance}->{imports}->{"$pn.$e->{NAME}"})) {
$call = $self->{conformance}->{imports}->{"$pn.$e->{NAME}"}->{DATA};
$self->{conformance}->{imports}->{"$pn.$e->{NAME}"}->{USED} = 1;
-
} elsif (defined($self->{conformance}->{types}->{$l->{DATA_TYPE}})) {
$call= $self->{conformance}->{types}->{$l->{DATA_TYPE}}->{DISSECTOR_NAME};
$self->{conformance}->{types}->{$l->{DATA_TYPE}}->{USED} = 1;
@@ -363,7 +362,7 @@ sub ElementLevel($$$$$$$$)
$t = $l->{DATA_TYPE};
}
- $self->pidl_code("offset = $ifname\_dissect_struct_" . $t . "(tvb,offset,pinfo,tree,drep,$hf,$param);");
+ $self->pidl_code("offset = $ifname\_dissect_struct_" . $t . "(tvb,offset,pinfo,tree,di,drep,$hf,$param);");
return;
}
@@ -381,7 +380,6 @@ sub ElementLevel($$$$$$$$)
my $hf2 = $self->register_hf_field($hf."_", "Subcontext length", "$ifname.$pn.$_->{NAME}subcontext", "FT_UINT$num_bits", "BASE_HEX", "NULL", 0, "");
$num_bits = 3264 if ($num_bits == 32);
$self->{hf_used}->{$hf2} = 1;
- $self->pidl_code("dcerpc_info *di = (dcerpc_info*)pinfo->private_data;");
$self->pidl_code("guint$num_bits size;");
$self->pidl_code("int conformant = di->conformant_run;");
$self->pidl_code("tvbuff_t *subtvb;");
@@ -391,19 +389,19 @@ sub ElementLevel($$$$$$$$)
$self->pidl_code("if (!conformant) {");
$self->indent;
$self->pidl_code("guint32 saved_flags = di->call_data->flags;");
- $self->pidl_code("offset = dissect_ndr_uint$num_bits(tvb, offset, pinfo, tree, drep, $hf2, &size);");
+ $self->pidl_code("offset = dissect_ndr_uint$num_bits(tvb, offset, pinfo, tree, di, drep, $hf2, &size);");
# This is a subcontext, there is normally no such thing as
# 64 bit NDR is subcontext so we clear the flag so that we can
# continue to dissect handmarshalled stuff with pidl
$self->pidl_code("di->call_data->flags &= ~DCERPC_IS_NDR64;");
- $self->pidl_code("subtvb = tvb_new_subset(tvb, offset, size, -1);");
+ $self->pidl_code("subtvb = tvb_new_subset(tvb, offset, (const gint)size, -1);");
if ($param ne 0) {
- $self->pidl_code("$myname\_(subtvb, 0, pinfo, tree, drep, $param);");
+ $self->pidl_code("$myname\_(subtvb, 0, pinfo, tree, di, drep, $param);");
} else {
- $self->pidl_code("$myname\_(subtvb, 0, pinfo, tree, drep);");
+ $self->pidl_code("$myname\_(subtvb, 0, pinfo, tree, di, drep);");
}
- $self->pidl_code("offset += size;");
+ $self->pidl_code("offset += (int)size;");
$self->pidl_code("di->call_data->flags = saved_flags;");
$self->deindent;
$self->pidl_code("}");
@@ -437,9 +435,9 @@ sub SwitchType($$;$)
return $switch_type
}
-sub Element($$$$$)
+sub Element($$$$$$)
{
- my ($self,$e,$pn,$ifname,$isoruseswitch) = @_;
+ my ($self,$e,$pn,$ifname,$isoruseswitch,%switchvars) = @_;
my $dissectorname = "$ifname\_dissect\_element\_".StripPrefixes($pn, $self->{conformance}->{strip_prefixes})."\_".StripPrefixes($e->{NAME}, $self->{conformance}->{strip_prefixes});
@@ -449,18 +447,36 @@ sub Element($$$$$)
my $type = $isoruseswitch->[0];
my $name = $isoruseswitch->[1];
+ my $switch_dt = getType($type);
my $switch_raw_type = SwitchType($e, $type, "uint32");
if (not defined($switch_raw_type)) {
die("Unknown type[$type]\n");
}
my $switch_type = "g${switch_raw_type}";
- $moreparam = ", $switch_type *".$name;
- $param = $name;
- $call_code = "offset = $dissectorname(tvb, offset, pinfo, tree, drep, &$name);";
+ if ($name ne "") {
+ $moreparam = ", $switch_type *".$name;
+ } else {
+ $moreparam = "";
+ }
+ if (($e->{PROPERTIES}->{switch_is} eq "") && ($switchvars{$name}) &&
+ #not a "native" type
+ (!($type =~ /^uint(8|16|1632|32|3264|64)/))) {
+ $param = $name;
+ } elsif ( $switch_dt->{DATA}->{TYPE} eq "ENUM") {
+ $param = $name;
+ } elsif ($name ne "") {
+ $param = "*".$name;
+ }
+
+ if ($name ne "") {
+ $call_code = "offset = $dissectorname(tvb, offset, pinfo, tree, di, drep, &$name);";
+ } else {
+ $call_code = "offset = $dissectorname(tvb, offset, pinfo, tree, di, drep);";
+ }
} else {
$moreparam = "";
- $call_code = "offset = $dissectorname(tvb, offset, pinfo, tree, drep);";
+ $call_code = "offset = $dissectorname(tvb, offset, pinfo, tree, di, drep);";
}
@@ -505,13 +521,16 @@ sub Element($$$$$)
foreach (@{$e->{LEVELS}}) {
if (defined $_->{SWITCH_IS}) {
$oldparam = $param;
- $param = "*$param";
+ if (($param ne "0") && (!($param =~ /\*/))) {
+ $param = "*$param";
+ }
}
next if ($_->{TYPE} eq "SWITCH");
- $self->pidl_def("static int $dissectorname$add(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_$moreparam);");
+ next if (defined($self->{conformance}->{noemit}->{"$dissectorname$add"}));
+ $self->pidl_def("static int $dissectorname$add(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_$moreparam);");
$self->pidl_fn_start("$dissectorname$add");
$self->pidl_code("static int");
- $self->pidl_code("$dissectorname$add(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_$moreparam)");
+ $self->pidl_code("$dissectorname$add(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_$moreparam)");
$self->pidl_code("{");
$self->indent;
@@ -539,7 +558,7 @@ sub Function($$$)
my %dissectornames;
foreach (@{$fn->{ELEMENTS}}) {
- $dissectornames{$_->{NAME}} = $self->Element($_, $fn->{NAME}, $ifname, undef) if not defined($dissectornames{$_->{NAME}});
+ $dissectornames{$_->{NAME}} = $self->Element($_, $fn->{NAME}, $ifname, undef, undef) if not defined($dissectornames{$_->{NAME}});
}
my $fn_name = $_->{NAME};
@@ -548,7 +567,7 @@ sub Function($$$)
$self->PrintIdl(DumpFunction($fn->{ORIGINAL}));
$self->pidl_fn_start("$ifname\_dissect\_$fn_name\_response");
$self->pidl_code("static int");
- $self->pidl_code("$ifname\_dissect\_${fn_name}_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)");
+ $self->pidl_code("$ifname\_dissect\_${fn_name}_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)");
$self->pidl_code("{");
$self->indent;
if ( not defined($fn->{RETURN_TYPE})) {
@@ -567,23 +586,23 @@ sub Function($$$)
error($fn, "unknown return type `$fn->{RETURN_TYPE}'");
}
- $self->pidl_code("pinfo->dcerpc_procedure_name=\"${fn_name}\";");
+ $self->pidl_code("di->dcerpc_procedure_name=\"${fn_name}\";");
foreach (@{$fn->{ELEMENTS}}) {
if (grep(/out/,@{$_->{DIRECTION}})) {
$self->pidl_code("$dissectornames{$_->{NAME}}");
- $self->pidl_code("offset = dissect_deferred_pointers(pinfo, tvb, offset, drep);");
+ $self->pidl_code("offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);");
$self->pidl_code("");
}
}
if (not defined($fn->{RETURN_TYPE})) {
} elsif ($fn->{RETURN_TYPE} eq "NTSTATUS") {
- $self->pidl_code("offset = dissect_ntstatus(tvb, offset, pinfo, tree, drep, hf\_$ifname\_status, &status);\n");
+ $self->pidl_code("offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf\_$ifname\_status, &status);\n");
$self->pidl_code("if (status != 0)");
$self->pidl_code("\tcol_append_fstr(pinfo->cinfo, COL_INFO, \", Error: %s\", val_to_str(status, NT_errors, \"Unknown NT status 0x%08x\"));\n");
$return_types{$ifname}->{"status"} = ["NTSTATUS", "NT Error"];
} elsif ($fn->{RETURN_TYPE} eq "WERROR") {
- $self->pidl_code("offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hf\_$ifname\_werror, &status);\n");
+ $self->pidl_code("offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf\_$ifname\_werror, &status);\n");
$self->pidl_code("if (status != 0)");
$self->pidl_code("\tcol_append_fstr(pinfo->cinfo, COL_INFO, \", Error: %s\", val_to_str(status, WERR_errors, \"Unknown DOS error 0x%08x\"));\n");
@@ -593,12 +612,12 @@ sub Function($$$)
my $return_type = "g".Parse::Pidl::Typelist::enum_type_fn($type->{DATA});
my $return_dissect = "dissect_ndr_" .Parse::Pidl::Typelist::enum_type_fn($type->{DATA});
- $self->pidl_code("offset = $return_dissect(tvb, offset, pinfo, tree, drep, hf\_$ifname\_$fn->{RETURN_TYPE}_status, &status);");
+ $self->pidl_code("offset = $return_dissect(tvb, offset, pinfo, tree, di, drep, hf\_$ifname\_$fn->{RETURN_TYPE}_status, &status);");
$self->pidl_code("if (status != 0)");
$self->pidl_code("\tcol_append_fstr(pinfo->cinfo, COL_INFO, \", Status: %s\", val_to_str(status, $ifname\_$fn->{RETURN_TYPE}\_vals, \"Unknown " . $fn->{RETURN_TYPE} . " error 0x%08x\"));\n");
$return_types{$ifname}->{$fn->{RETURN_TYPE}."_status"} = [$fn->{RETURN_TYPE}, $fn->{RETURN_TYPE}];
} elsif ($type->{DATA}->{TYPE} eq "SCALAR") {
- $self->pidl_code("offset = dissect_ndr_$fn->{RETURN_TYPE}(tvb, offset, pinfo, tree, drep, hf\_$ifname\_$fn->{RETURN_TYPE}_status, &status);");
+ $self->pidl_code("offset = dissect_ndr_$fn->{RETURN_TYPE}(tvb, offset, pinfo, tree, di, drep, hf\_$ifname\_$fn->{RETURN_TYPE}_status, &status);");
$self->pidl_code("if (status != 0)");
$self->pidl_code("\tcol_append_fstr(pinfo->cinfo, COL_INFO, \", Status: %d\", status);\n");
$return_types{$ifname}->{$fn->{RETURN_TYPE}."_status"} = [$fn->{RETURN_TYPE}, $fn->{RETURN_TYPE}];
@@ -612,14 +631,14 @@ sub Function($$$)
$self->pidl_fn_start("$ifname\_dissect\_$fn_name\_request");
$self->pidl_code("static int");
- $self->pidl_code("$ifname\_dissect\_${fn_name}_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_)");
+ $self->pidl_code("$ifname\_dissect\_${fn_name}_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)");
$self->pidl_code("{");
--
Samba Shared Repository
More information about the samba-cvs
mailing list