1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-09 09:57:48 +03:00

331 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 d8d17be290730670bad0fea91188d394160cb879)
2003-11-23 07:14:17 +00:00
Tim Potter
03eda90641 Actually call right function name.
(This used to be commit 634ea437201fbf61f3157a4b0ebabfcb15507166)
2003-11-23 06:54:18 +00:00
Tim Potter
8cd945501b Call enumkey for tridge.
(This used to be commit cc71bd2a903ba1f12f08758e885f1f07e61f7c86)
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 8f154f8b9f0bb8d9c7915945d4a0b1c20a206999)
2003-11-23 06:31:10 +00:00
Tim Potter
aa42dd6269 Strings in the winreg pipe are terminated.
(This used to be commit 1f56d4cd04840b350b098e698d369cd6b047cfe4)
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 92bcad02587c3c1b31b523ee9fa46658a6cef9ff)
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 64b2c67e479ddc754d18f752d347ba22a6d77682)
2003-11-23 03:42:20 +00:00
Andrew Tridgell
231ae2430e get rid of some more unused headers
(This used to be commit 48276c768bc58aa531771e0172a7480ec94d3254)
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 f6bb118799887e8e29399343e377ba8e9f059f20)
2003-11-23 03:03:27 +00:00
Andrew Tridgell
1bd5a8ac1a final bit of tidyup and speedup
(This used to be commit 1c980e6c4e89b24aa8fedf0b6684cd73f34b6c25)
2003-11-23 02:44:23 +00:00
Andrew Tridgell
5577992f25 much faster inner loop and neater code
(This used to be commit 9ea02c51d449095b7f17edb3fb82d3722cdd9c20)
2003-11-23 02:33:46 +00:00
Andrew Tridgell
b9dd8d34a0 fixed loadparm handling properly
(This used to be commit 945ada7e7ec0f4b4df559bc171b9b18d30eff834)
2003-11-23 02:11:55 +00:00
Andrew Tridgell
4df03a8921 nicer base type handling
(This used to be commit e58384eb53b654768d2eb53c222529849674753c)
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 04eb12b56c653f98801ab29411f47564ab32fa58)
2003-11-23 01:53:54 +00:00
Andrew Tridgell
7ab05c2ffa we don't need awk now
(This used to be commit db6d7daaef4d51e3c463fe76eefa2b22ff71a546)
2003-11-23 01:31:40 +00:00
Andrew Tridgell
5052c65fd3 get rid of our awk scripts
(This used to be commit f11f757c871dcb66813e44a3144df0f927108d8e)
2003-11-23 01:30:58 +00:00
Andrew Tridgell
fec4b5b0cc changed to perl for mkproto, patch from vance
(This used to be commit 9386326868f43dab95b5508ce0ca5a9c1160a2eb)
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 60be15d306e7b65efdd27df02250c0264996ccf3)
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 344a6e1682cc1afab24735e73d05cf15f6eb9816)
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 c1b708708e262350d697829d444d0fb6a981a80f)
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 60ced76160e4f4e2b511ebbeec31130c8ebcdd22)
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 4aea2d79dd6b14e0fdfafd2236849ece01839ce0)
2003-11-22 10:37:00 +00:00
Andrew Tridgell
0b0ca9f754 dfs torture test now passes
(This used to be commit 201cb6116df8ad74569d78827815855105a1ea11)
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 9d5078962f0f8aef3360dea4c4774cf8de1fdc26)
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 11c0fe548ecfb03424f51e1354b86d4692e8f07c)
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 8ecf720206a2eef3f8ea7cbdb1f460664a5dba9a)
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 4e174564ae4e8f84053d23ac2d40a59926f7e9e3)
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 5cba48252a8b3338a296d7ec8fa8ccba43dd190e)
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 76c24a5cb09b096a9cb490f3bb42af0b9d0f5fa9)
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 5962f1cffa9273cc06c8a3c4a112f3ce94b84dae)
2003-11-22 01:27:40 +00:00
Andrew Tridgell
0a0f8b5e3a fixed a bug with pushing non-pointer unions
(This used to be commit bc2fbc79cc7c0308934f351b067a88b4b397de37)
2003-11-21 22:34:45 +00:00
Andrew Tridgell
32831d5af9 fix a smbtorture memory leak
(This used to be commit 0eff7c519b87d9c69da61a7dfeecd0483f1ad7e9)
2003-11-21 22:00:38 +00:00
Andrew Tridgell
0739d3dafd cleaner handling of relative pointers to strings
(This used to be commit 4022e710755a61a3439f739a78fa6965b9b7788e)
2003-11-21 22:00:00 +00:00
Andrew Tridgell
7c5f6ead80 don't ignore .h files here
(This used to be commit b1863f897ffeec551ff8b1bad91fcfeede30beef)
2003-11-21 21:25:48 +00:00
Andrew Tridgell
e1260ef0eb forgot to commit this, sorry
(This used to be commit ff883d1cba4e998aa0a4b160d4fee118f79ca277)
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 f90e5db8f9d1fa7062762af0ab3e0696998bf8bb)
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 d2665f36a75b482ff82733f72ffac938c2acf87a)
2003-11-21 13:14:17 +00:00
Tim Potter
82d6f5587b Implement DeleteKey, DeleteValue, FlushKey.
(This used to be commit 49f1654510f0ea7681b386296b67282791c4b319)
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 c8b87f5feb7756c7a5b38135517788c9f4ade36f)
2003-11-21 05:28:36 +00:00
Tim Potter
a20352959e More work on eventlog - still doesn't work. (-:
(This used to be commit 9109cb832a3807b3eee9e52c8c533e2bf0c8007a)
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 63b9d2803c9e5b44680a72b127f6a58eb44a3c60)
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 53ff3a572a23c2f45c5d503255bc6b535ca99134)
2003-11-21 02:44:31 +00:00
Andrew Tridgell
38ce2ef4bb added 4 more levels to samr_QueryDisplayInfo()
(This used to be commit f4cc593a5c7d75adaced2c33dd83c2ec741751be)
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 a5eeb3be0577e0ce91ac1f6e641782e4acbbda07)
2003-11-21 02:19:09 +00:00
Andrew Tridgell
d869d8c8eb ignore generated idl.pm
(This used to be commit e9d18ecc2d513dc7aba9a0545808a95893544fe6)
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 e7dd116138ed21922c8578bebe0452f03221b3b7)
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 2ed87a52ccc343c281e29f5a18f3f99fe06beb28)
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 99fff7b1e24ee7231fa41ca9cb85382637f2b2b0)
2003-11-20 21:52:40 +00:00
Andrew Tridgell
ddd2f9ced0 added samr_QueryDisplayInfo() (only level 1 so far)
(This used to be commit 8601305c8100f03ffaee4754eae12e9b332508a4)
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 683259a4dd30861ed24e8e5df918c8725ae13800)
2003-11-20 11:17:06 +00:00