1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-30 13:18:05 +03:00
Commit Graph

381 Commits

Author SHA1 Message Date
Andrew Tridgell
1b9452ffc5 fixed the handling of value() attributes on scalars in IDL that
reference other elements of the same structure
(This used to be commit d8d17be290)
2003-11-23 07:14:17 +00:00
Tim Potter
03eda90641 Actually call right function name.
(This used to be commit 634ea43720)
2003-11-23 06:54:18 +00:00
Tim Potter
8cd945501b Call enumkey for tridge.
(This used to be commit cc71bd2a90)
2003-11-23 06:38:37 +00:00
Tim Potter
136c2d7961 String termination fix.
Re-arrange winreg tests - currently it's failing with an input validation
error on tridge's test pull/push test code.
(This used to be commit 8f154f8b9f)
2003-11-23 06:31:10 +00:00
Tim Potter
aa42dd6269 Strings in the winreg pipe are terminated.
(This used to be commit 1f56d4cd04)
2003-11-23 06:29:11 +00:00
Andrew Tridgell
800d3e0134 ooh, this is fun!
I have recoded the core dcerpc packet structures (all the PDUs etc) in
terms of IDL, which means we now use pidl to generate all the code for
handling the most basic dcerpc packets. This is not normally possible
as it isn't completely valid NDR, but pidl has a number of extensions
that make it quite easy.

This also means we get the server side dcerpc
marshalling/unmarshalling code for free.
(This used to be commit 92bcad0258)
2003-11-23 06:28:12 +00:00
Andrew Tridgell
02dc7536dd save about 35% of the time for "make idl" by processing multiple IDL
files at once, which means less perl startup time.
(This used to be commit 64b2c67e47)
2003-11-23 03:42:20 +00:00
Andrew Tridgell
231ae2430e get rid of some more unused headers
(This used to be commit 48276c768b)
2003-11-23 03:10:50 +00:00
Andrew Tridgell
11e9184895 by using a single proto.h we gain another factor of 4 in the speed of
"make proto"
(This used to be commit f6bb118799)
2003-11-23 03:03:27 +00:00
Andrew Tridgell
1bd5a8ac1a final bit of tidyup and speedup
(This used to be commit 1c980e6c4e)
2003-11-23 02:44:23 +00:00
Andrew Tridgell
5577992f25 much faster inner loop and neater code
(This used to be commit 9ea02c51d4)
2003-11-23 02:33:46 +00:00
Andrew Tridgell
b9dd8d34a0 fixed loadparm handling properly
(This used to be commit 945ada7e7e)
2003-11-23 02:11:55 +00:00
Andrew Tridgell
4df03a8921 nicer base type handling
(This used to be commit e58384eb53)
2003-11-23 02:00:40 +00:00
Andrew Tridgell
d47d14f2ff reduced the number of magic types we need in mkproto.pl
In general I prefer "struct foo" to just "foo" for most
structures. There are exceptions.
(This used to be commit 04eb12b56c)
2003-11-23 01:53:54 +00:00
Andrew Tridgell
7ab05c2ffa we don't need awk now
(This used to be commit db6d7daaef)
2003-11-23 01:31:40 +00:00
Andrew Tridgell
5052c65fd3 get rid of our awk scripts
(This used to be commit f11f757c87)
2003-11-23 01:30:58 +00:00
Andrew Tridgell
fec4b5b0cc changed to perl for mkproto, patch from vance
(This used to be commit 9386326868)
2003-11-23 01:29:42 +00:00
Andrew Tridgell
868555bca5 added support for enumerated types in IDL files. This makes unions
easier to work with.
(This used to be commit 60be15d306)
2003-11-22 22:53:08 +00:00
Andrew Tridgell
e79e6bc472 added support for 'const' in IDL files. This makes it easy to define
symbolic names for bitfields etc.
(This used to be commit 344a6e1682)
2003-11-22 22:09:10 +00:00
Andrew Tridgell
277322b9d4 added the beginnings of an IDL validator, to give clearer errors when
IDL is not valid
(This used to be commit c1b708708e)
2003-11-22 12:25:20 +00:00
Andrew Tridgell
be77d9c60d * fixed null terminated string handling
* fixed nested relative offsets in push functions

the spoolss torture test now passes!
(This used to be commit 60ced76160)
2003-11-22 11:49:22 +00:00
Andrew Tridgell
677fb26deb * fixed handling of relative subcontext unions
* fixed GetPrinter in spoolss after OpenPrinter
(This used to be commit 4aea2d79dd)
2003-11-22 10:37:00 +00:00
Andrew Tridgell
0b0ca9f754 dfs torture test now passes
(This used to be commit 201cb6116d)
2003-11-22 09:45:40 +00:00
Andrew Tridgell
4666ec9301 * fixed NDR flag inheritance across push subcontexts
* don't consider not doing lsa_QueryInfoPolicy level 11 a failure
   (w2k3 doesn't have this level, w2k does)

 * on a NDR validation failure dump the failed data at level 3
(This used to be commit 9d5078962f)
2003-11-22 09:32:35 +00:00
Andrew Tridgell
175e947579 * enable RPC/NDR validation in all smbtorture code
* allow us to distinguish between null arrays and zero length arrays,
   by making the allocation size a minimum of 1 on array pull
(This used to be commit 11c0fe548e)
2003-11-22 08:41:40 +00:00
Andrew Tridgell
86a604429e a fairly major upgrade to the dcerpc system
* added a NDR validator. The way it works is that when the
   DCERPC_DEBUG_VALIDATE_* flags are set the dcerpc system will
   perform NDR buffer validation. On sending a request the packet is
   first marshalled, then unmarahslled, then marshalled again, and it is
   confirmed that the two marshalling results are idential. This
   ensures that our pull and push routines are absolutely in sync, so
   that we can be very confident that if a routine works in the client
   then the corresponding routine must work on the server side. A
   similar validation is performed on all replies.

 * a result of this change is that pidl is fussier about the [ref]
   tag. You can only use it on pointers (which is the only place it
   makes sense)

 * fixed a basic alignment bug in the push side of the NDR code

 * added server side pull/push support. Our dcerpc system is now fully
   ready to be used on the server side.

 * fixed the relative offset pointer list. It must be traversed in
   reverse order on push

 * added automatic value setting for the size parameter in outgoing
   SdBuf structures.

 * expanded the ndr debugging code to always give a message on any
   failure

 * fixed the subcontext push code

 * fixed some memory leaks in smbtorture RPC tests
(This used to be commit 8ecf720206)
2003-11-22 08:11:32 +00:00
Andrew Tridgell
5950020266 * you can't have two parameters with the same name (pidl doesn't enforce
that currently, but will in a couple of hours when I've finished my
   NDR validator code)

 * only a pointer can be [ref]
(This used to be commit 4e174564ae)
2003-11-22 06:10:32 +00:00
Tim Potter
c674672a08 Convert all NTSTATUS return codes to WERROR.
Implement all OpenXXX calls, EnumKey, OpenKey, QueryInfoKey.

Started EnumValue but it doesn't work yet.
(This used to be commit 5cba48252a)
2003-11-22 05:34:25 +00:00
Andrew Tridgell
3f2598abad added Parse::RecDescent module into pidl to ensure we all use the same
version. This should fix the problems Richard was seeing.
(This used to be commit 76c24a5cb0)
2003-11-22 01:40:24 +00:00
Andrew Tridgell
2ca65a99c7 added some explanations for epmapper IDL and dom_sid2
(This used to be commit 5962f1cffa)
2003-11-22 01:27:40 +00:00
Andrew Tridgell
0a0f8b5e3a fixed a bug with pushing non-pointer unions
(This used to be commit bc2fbc79cc)
2003-11-21 22:34:45 +00:00
Andrew Tridgell
32831d5af9 fix a smbtorture memory leak
(This used to be commit 0eff7c519b)
2003-11-21 22:00:38 +00:00
Andrew Tridgell
0739d3dafd cleaner handling of relative pointers to strings
(This used to be commit 4022e71075)
2003-11-21 22:00:00 +00:00
Andrew Tridgell
7c5f6ead80 don't ignore .h files here
(This used to be commit b1863f897f)
2003-11-21 21:25:48 +00:00
Andrew Tridgell
e1260ef0eb forgot to commit this, sorry
(This used to be commit ff883d1cba)
2003-11-21 21:25:03 +00:00
Andrew Tridgell
55410a073f print out the UUIDs from the end point mapper
(This used to be commit f90e5db8f9)
2003-11-21 13:27:58 +00:00
Andrew Tridgell
a465add90f * changed the way strings are handled in pidl to a much more general
interface. We now support an arbitrary set of flags to each parser,
  and these can be used to control the string types. I have provided
  some common IDL string types in librpc/idl/idl_types.h which needs to
  be included in every IDL file.

* added IDL for the endpoint mapper. Added a test suite that enumerates
  all endpoints on the server.
(This used to be commit d2665f36a7)
2003-11-21 13:14:17 +00:00
Tim Potter
82d6f5587b Implement DeleteKey, DeleteValue, FlushKey.
(This used to be commit 49f1654510)
2003-11-21 06:14:14 +00:00
Tim Potter
49c02c6634 Start of winreg idl. Implement OpenHKLM, GetVersion and CloseKey.
(This used to be commit c8b87f5feb)
2003-11-21 05:28:36 +00:00
Tim Potter
a20352959e More work on eventlog - still doesn't work. (-:
(This used to be commit 9109cb832a)
2003-11-21 03:07:02 +00:00
Andrew Tridgell
1d7534efd7 avoid calling the print routines completely if debug level < 2
(This used to be commit 63b9d2803c)
2003-11-21 02:50:40 +00:00
Andrew Tridgell
236e44c65a only display really verbose packet dumps when smbtorture is run at
debug level 2 or above. This is more useful for checking that
something hasn't broken without swamping yourself with output.
(This used to be commit 53ff3a572a)
2003-11-21 02:44:31 +00:00
Andrew Tridgell
38ce2ef4bb added 4 more levels to samr_QueryDisplayInfo()
(This used to be commit f4cc593a5c)
2003-11-21 02:19:47 +00:00
Andrew Tridgell
9fc7be869b added support for 'ascstr', a ascii string in MSRPC !
(This used to be commit a5eeb3be05)
2003-11-21 02:19:09 +00:00
Andrew Tridgell
d869d8c8eb ignore generated idl.pm
(This used to be commit e9d18ecc2d)
2003-11-20 22:51:02 +00:00
Andrew Tridgell
4fd867a240 Todd Sabin pointed out that a couple of the values I marked as hyper_t
are in fact 4 byte aligned. Create a ULONG8 type in samr for
those. This type should probably be made global later.
(This used to be commit e7dd116138)
2003-11-20 22:47:20 +00:00
Andrew Tridgell
15776970a5 we now use a copy of pidl inside the samba4 source tree at
source/build/pidl/

I imported the code using direct respository manipulation to preserve
the commit history
(This used to be commit 2ed87a52cc)
2003-11-20 22:46:01 +00:00
Tim Potter
20730626af Add initial work on eventlog - doesn't quite work yet.
(This used to be commit 99fff7b1e2)
2003-11-20 21:52:40 +00:00
Andrew Tridgell
ddd2f9ced0 added samr_QueryDisplayInfo() (only level 1 so far)
(This used to be commit 8601305c81)
2003-11-20 12:10:41 +00:00
Andrew Tridgell
b1e5882eb3 * fixed libndr.h header
* "make clean" now removed the generated files
(This used to be commit 683259a4dd)
2003-11-20 11:17:06 +00:00