1
0
mirror of https://github.com/samba-team/samba.git synced 2025-06-23 11:17:06 +03:00

60 Commits

Author SHA1 Message Date
Volker Lendecke
13b4dab31c pidl: fix an error message typo
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
2013-10-11 16:11:56 +02:00
Stefan Metzmacher
41f1c3969a pidl:NDR/Parser: correctly set $ndr->[relative_highest_]offset for relative_short pointers
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Günther Deschner <gd@samba.org>

Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Wed May  8 20:49:55 CEST 2013 on sn-devel-104
2013-05-08 20:49:55 +02:00
Stefan Metzmacher
5732c68403 Revert "Remove a bunch of "unused variable _relative_save_offset" warnings."
This reverts commit fa5898b6de797431d5ae9d2ce6dcddcb35a60b66.

This is the wrong fix for the warnings, the correct fix will follow.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Günther Deschner <gd@samba.org>
2013-05-08 09:36:49 -07:00
Jeremy Allison
fa5898b6de Remove a bunch of "unused variable _relative_save_offset" warnings.
Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Richard Sharpe <realrichardsharpe@gmail.com>

Autobuild-User(master): Richard Sharpe <sharpe@samba.org>
Autobuild-Date(master): Wed May  8 07:47:45 CEST 2013 on sn-devel-104
2013-05-08 07:47:45 +02:00
Andreas Schneider
a42527e51b pidl: Add skip option to elements.
This option allows to skip struct elements in pull and push function.
This can be used to pass flags to the structure e.g. for string values.

Reviewed-by: Günther Deschner <gd@samba.org>
2013-03-15 12:11:02 +01:00
Stefan Metzmacher
224379ba70 pidl/NDR/Parser: also do range checks on the array size
metze

Autobuild-User: Karolin Seeger <kseeger@samba.org>
Autobuild-Date: Tue Apr 10 18:21:59 CEST 2012 on sn-devel-104
2012-04-10 18:21:59 +02:00
Stefan Metzmacher
ab5560309a pidl/NDR/Parser: do array range validation in ParseArrayPullGetLength()
metze
2012-04-10 16:48:07 +02:00
Stefan Metzmacher
46123de7b7 pidl/NDR/Parser: use helper variables for array size and length
metze
2012-04-10 16:48:07 +02:00
Stefan Metzmacher
6e53b2db41 pidl/NDR/Parser: remember if we already know the array length
metze
2012-04-10 16:48:07 +02:00
Stefan Metzmacher
37313598af pidl/NDR/Parser: use ParseArrayPullGetLength() to get the number of array elements (bug #8815 / CVE-2012-1182)
An anonymous researcher and Brian Gorenc (HP DVLabs) working
with HP's Zero Day Initiative program have found this and notified us.

metze
2012-04-10 16:48:07 +02:00
Stefan Metzmacher
b6e74db293 pidl/NDR/Parser: split off ParseArrayPullGetSize() and ParseArrayPullGetLength()
metze
2012-04-10 16:48:07 +02:00
Stefan Metzmacher
2de81df668 pidl/NDR/Parser: simplify logic in DeclareArrayVariables*()
metze
2012-04-10 16:48:07 +02:00
Stefan Metzmacher
aad9449e56 pidl/NDR/Parser: declare all union helper variables in ParseUnionPull()
metze
2012-04-10 16:48:06 +02:00
David Disseldorp
6501b8bc6f idl: add parser for the to_null property
Compile into a ndr_pull_charset_to_null call.

Signed-off-by: Jeremy Allison <jra@samba.org>
2012-01-13 09:37:37 -08:00
Stefan Metzmacher
12123e751e pidl:Samba4/NDR/Parser: don't generate code for [ignore] pointers
metze

Autobuild-User: Stefan Metzmacher <metze@samba.org>
Autobuild-Date: Thu Nov 24 12:31:04 CET 2011 on sn-devel-104
2011-11-24 12:31:04 +01:00
Andrew Tridgell
3d5dd91f59 pidl: added checking of NDR flags in generated code
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2011-09-08 03:35:27 +02:00
Stefan Metzmacher
0ea3760cae pidl:NDR/Parser: allow [string,size_of()] together
metze
2011-08-01 15:46:11 +02:00
Stefan Metzmacher
e7a7a2451f pidl:NDR/Parser: use interface->{UUID} and {NAME} instead of the raw {PROPERTIES}
metze
2011-08-01 13:44:26 +02:00
Stefan Metzmacher
7ae14ed666 pidl:NDR/Parser: use '0' instead of 'NULL' for an uint32_t value
metze
2011-08-01 13:44:26 +02:00
Andrew Bartlett
1c34842db4 pidl: Add support for the [ignore] property
This is implemented to simply never push this pointer, but to push a
NULL in it's place.  Likewise a pull will simply return a NULL.

Andrew Bartlett
2011-04-05 23:46:04 +02:00
Stefan Metzmacher
f3465da072 pidl:Samba4/NDR/Parser: fix compiler warnings in 'pipe' related code
metze
2011-03-11 11:02:22 +01:00
Stefan Metzmacher
d79fb9098b pidl: add support for 'pipe' at the NDR layer
metze
2011-03-10 14:31:19 +01:00
Stefan Metzmacher
bd2b0076b4 Revert "Fix alignment issues in SPOOLSS "BUFFER" marshalling."
This reverts commit 187f695469071d0550613e037b36170facb85460.

This is the wrong fix.

metze
2011-02-28 15:54:13 -08:00
Jeremy Allison
187f695469 Fix alignment issues in SPOOLSS "BUFFER" marshalling.
Guenther and Metze please check !

Autobuild-User: Jeremy Allison <jra@samba.org>
Autobuild-Date: Fri Feb 18 18:49:55 CET 2011 on sn-devel-104
2011-02-18 18:49:55 +01:00
Stefan Metzmacher
34b7b552e8 pidl:Samba4/NDR/Parser: fix ndr_pull/ndr_push mismatch
metze
2011-02-01 18:35:22 +01:00
Stefan Metzmacher
9fe4b695fe pidl:Samba4/NDR/Parser: add support for 'ms_union' style aligment
metze

Autobuild-User: Stefan Metzmacher <metze@samba.org>
Autobuild-Date: Tue Feb  1 12:13:45 CET 2011 on sn-devel-104
2011-02-01 12:13:45 +01:00
Stefan Metzmacher
6124148d66 pidl:Samba4/NDR/Parser: only do the switch type alignment when we have a switch type
This doesn't change the logic, it just doesn't call the same aligment function
twice.

metze
2011-02-01 11:21:43 +01:00
Jelmer Vernooij
b320cc7990 Fix some formatting. 2011-01-03 01:48:04 +01:00
Jelmer Vernooij
9529fdab26 wmi: Remove unnecessary noprint statements. 2011-01-01 02:54:05 +01:00
Stefan Metzmacher
482c022840 pidl:Samba4/NDR/Parser: fix NDR64 union alignment
We need to align before the switch_type and before the
union arms. Both alignments are to the boundary of the largest
possible union arm.

This means that adding a new union arm with a larger alignment
would break compat!!!

metze

Autobuild-User: Stefan Metzmacher <metze@samba.org>
Autobuild-Date: Sun Oct 24 17:49:23 UTC 2010 on sn-devel-104
2010-10-24 17:49:23 +00:00
Tim Potter
391b24e3ed Fix some warnings at higher -W levels in pidl generated code.
Match data type for info levels to data type returned by utility
functions.

Autobuild-User: Tim Potter <tpot@samba.org>
Autobuild-Date: Mon Oct 11 12:18:22 UTC 2010 on sn-devel-104
2010-10-11 12:18:21 +00:00
Stefan Metzmacher
d4636c47c7 pidl:NDR/Parser: remove unused code for array element index
metze
2010-09-28 23:06:51 +02:00
Stefan Metzmacher
7fff22c29d pidl:NDR/Parser: simplify logic in ParseMemCtxPullFlags()
metze
2010-09-28 23:06:49 +02:00
Stefan Metzmacher
96666d48a7 pidl: remove unused async property handling
metze
2010-09-28 23:06:45 +02:00
Stefan Metzmacher
bea4948acb pidl:NDR/Parser: fix range() for arrays
metze
2010-09-23 13:34:08 -07:00
Andrew Tridgell
83a24ff2ef pidl: prevent ndr_print_*() dying on NULL pointers
when using ndrdump you can get uninitialised structures containing
pointers. Don't segfault when trying to print them
2010-09-16 21:09:17 +10:00
Jelmer Vernooij
f9ca9e46ad Finish removal of iconv_convenience in public API's. 2010-05-18 11:45:30 +02:00
Günther Deschner
a049d75193 pidl: use ndr_push_relative_ptr2_start and ndr_push_relative_ptr2_end.
Guenther
2010-02-18 13:43:59 +01:00
Matthieu Patou
678f2ca14b pidl: Introduce new dirrective: relative_short
relative_short is like relative but instead of having the offset coded on 4 bytes
it's coded on 2 bytes. Such things happen in GET_DFS_REFERAL messages.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
2009-12-12 10:26:05 +01:00
Stefan Metzmacher
ab1c92950f pidl:NDR/Parser: $size can be 'foo / 2' so we need to add '(' and ')'
foo / 5 * sizeof(bar)' isn't the same as
'(foo / 2) * sizeof(bar)'.

metze
2009-11-26 11:47:41 +01:00
Stefan Metzmacher
05850d1894 pidl:NDR/Parser.pm: update ndr_pull->relative_highest_offset after handling relative pointers
metze
2009-11-20 13:48:36 +01:00
Andrew Tridgell
9eb78be4a6 ndr64: added support for trailing gap alignment
NDR64 has a 'trailing gap' alignment, which aligns the end of a
structure on the overall structure alignment.

This explains the discrepancy we had with the RPC-SAMR test and NDR64
2009-10-02 12:05:59 +10:00
Andrew Tridgell
64e08fef16 pidl: added union padding for NDR64
This fixes the problem with samr UserInfo16 when NDR64 is enabled
2009-09-29 18:08:22 +10:00
Andrew Tridgell
1a1cb92583 ndr: split out ndr enum functions
This allows for easier implementation of the NDR32/NDR64 split
2009-09-17 15:19:30 -07:00
Andrew Tridgell
db5e7f3d05 s4-pidl: add support for NDR64
Added support for NDR64 to the samba4 pidl generator
2009-09-17 15:19:28 -07:00
Andrew Tridgell
011f103501 when we get an NDR error in the logs, it is useful to know where it happened 2009-08-12 15:33:37 +10:00
Stefan Metzmacher
92791ce9a8 pidl: allow foo being on the wire after [length_is(foo)] uint8 *buffer
metze
2009-07-27 17:51:32 +02:00
Stefan Metzmacher
7ccc9a6ef5 pidl: add support for [string] on fixed size arrays.
midl also supports this:

struct {
	long l1;
	[string] wchar_t str[16];
	long l2;
};

Where the wire size of str is encoded like a length_is() header:
4-byte offset == 0;
4-byte array length;

The strings are zero terminated.

metze
2009-07-27 17:51:32 +02:00
Tim Prouty
cfb4757386 pidl: Don't generate variables declarations for pointless array counters.
Code isn't generated to iterate over arrays of length 0, but the
variable declarations still are.  The result is 'unused variable'
warnings. This only seems to be happening in one place right now, so I
targeted the fix to this case, but refactoring could be done to make
all variable declarations do this zero length check.  Making it the
default would be a much more invasive fix.

Jelmer, please check!
2009-03-04 18:32:13 -08:00
Jelmer Vernooij
e2469e3748 Don't generate array iterators when the length of the array is always 0.
(bug #6140)
2009-03-01 17:09:07 +01:00