1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-28 07:21:54 +03:00
Commit Graph

81 Commits

Author SHA1 Message Date
Jelmer Vernooij
4fcd6cfb75 Add [todo] for functions that are obviously incomplete.
(This used to be commit b7b46ddd41)
2008-04-08 03:15:55 +02:00
Stefan Metzmacher
4473a07fb3 winreg.idl: get rid of initshutdown_String and use lsa_StringLarge
metze
(This used to be commit 1ccea2a260)
2008-02-19 15:59:23 +01:00
Stefan Metzmacher
6512ad57f3 winreg.idl: don't use pointer_default_top() and specify "unique" explizit
Note: this doesn't change the generated output!

metze
(This used to be commit f195093a86)
2008-02-04 18:37:08 +01:00
Jelmer Vernooij
236a780baa idl: Use typedef rather than declare.
(This used to be commit 3fd750bd54)
2008-01-12 01:18:53 +01:00
Günther Deschner
cfd09eed40 r25731: Document winreg_NotifyChangeKeyValue's notify flags.
Guenther
(This used to be commit 4468b1cc49)
2007-12-21 05:43:32 +01:00
Günther Deschner
ade07a34d9 r25730: Fix IDL for incorrect winreg_SetKeySecurity.
Guenther
(This used to be commit 767867c3ee)
2007-12-21 05:43:31 +01:00
Jelmer Vernooij
34659685e1 r21415: Add tests for spoolss and drsuapi. Still need to add validators.
(This used to be commit 61cb52b65b)
2007-10-10 14:48:29 -05:00
Jelmer Vernooij
b7a46675fb r21386: Run all NDR tests in the buildfarm, import some functions from Samba3's IDL.
(This used to be commit 15a4b81ba0)
2007-10-10 14:48:24 -05:00
Jelmer Vernooij
8bcad6b901 r21373: More tests.
(This used to be commit 83a47e30b5)
2007-10-10 14:48:22 -05:00
Jelmer Vernooij
a009659e46 r21372: Tests, more tests! Some are still commented out, because the code they test is broken at the moment.
(This used to be commit 8f039a25cd)
2007-10-10 14:48:21 -05:00
Jelmer Vernooij
bd7df755f3 r21350: Add more tests for the NDR layer of winreg. I actually discovered a pidl bug,
so there are still two tests commented out.
(This used to be commit b7f6ec5c1c)
2007-10-10 14:48:17 -05:00
Simo Sorce
d090fddd14 r21348: Fix the build.
(This used to be commit 4d52b42926)
2007-10-10 14:48:17 -05:00
Jelmer Vernooij
25a0c9146e r21347: All current tests in the testsuite mainly test the RPC code in general. Since
we're running the testsuite mainly against ourselves, we only check that the
push/pull functions work in our own environment, not whether they generate/parse
the same data that other systems do.

This commit adds the infrastructure for a testsuite for just the marshalling
code. The idea is that you provide a data blob, a function name and a function
to check the resulting struct for correctness.
(This used to be commit 9bd2421e44)
2007-10-10 14:48:17 -05:00
Jelmer Vernooij
be852780b4 r21343: Add access masks, pointed out by Ronnie Sahlberg.
(This used to be commit e8cdfd0a61)
2007-10-10 14:48:16 -05:00
Jelmer Vernooij
600c167e3b r21341: Improve QueryKeyInfo idl, pointed out by Ronnie Sahlberg.
(This used to be commit 736330d23b)
2007-10-10 14:48:16 -05:00
Jelmer Vernooij
60b401efb9 r19846: Fix bunch of IDL warnings.
(This used to be commit 48e6df5944)
2007-10-10 14:28:24 -05:00
Jelmer Vernooij
863dcbfa06 r19588: Use include and import statements rather than depends() and helper().
(This used to be commit 347ae96282)
2007-10-10 14:24:58 -05:00
Jelmer Vernooij
cd9057a0bb r18639: Get rid of the keepref support
(This used to be commit d1364ef0cd)
2007-10-10 14:18:59 -05:00
Andrew Tridgell
6adb5717f5 r18566: fixed the winreg pipe and winreg tests
Jerry, there is a big difference on the wire between these two:

  [out] uint32 x;
and
  [out] uint32 *x;

if you change from

  [out] uint32 x;

then you need to change to:

  [out,ref] uint32 *x;

otherwise it changes the format on the wire, which means we are no
longer compatible with MS servers.

but be aware that even if you change to a ref ptr, you also need to
change all the client code to set all the return variables in the out
part of the structure. That's why I don't like the MIDL restriction of
forcing the use of ref pointers for output variables - it makes life
much harder when writing client code, and makes the code much more
error prone (just look at all the extra code needed to make this work
again).

I know we could auto-allocate these variables in the generated client
side NDR code, but if we did that then we would have no way of doing a
_real_ ref out pointer, which we really wanted to set to some already
allocated variable.

So please hold off on changing our idl to use the MIDL convention for
output variables until Jelmer and I have had a good "chat" about this :-)
(This used to be commit 555aed43ba)
2007-10-10 14:18:47 -05:00
Gerald Carter
dce0c9e4fd r18561: Fix [out] pointers in winreg IDL
(This used to be commit 694677dafe)
2007-10-10 14:18:46 -05:00
Jelmer Vernooij
af7886614a r18212: Use bitmap for access mask. Patch by Ronnie Sahlberg.
(This used to be commit d03aaecdcd)
2007-10-10 14:17:50 -05:00
Jelmer Vernooij
9727b061f3 r15776: Don't generate ref pointers in Samba4-generated code. There is no point
in having pointers for outgoing data when you can already modify the top-level
element.

This can be overridden (temporarily) by specifying the new "keepref"
attribute. Once we've removed keepref from all IDL files, I'll remove this
attribute as well.
(This used to be commit bdc6dd3750)
2007-10-10 14:08:18 -05:00
Jelmer Vernooij
d86da81304 r15653: Remove idl_types.h include where possible. Remove
types from .h file that are now in pidls' aliases list.
(This used to be commit fadb9529ec)
2007-10-10 14:08:03 -05:00
Jelmer Vernooij
8528016978 r14464: Don't include ndr_BASENAME.h files unless strictly required, instead
try to include just the BASENAME.h files (containing only structs)
(This used to be commit 3dd477ca51)
2007-10-10 13:57:27 -05:00
Stefan Metzmacher
96ca571f42 r13131: windows sends termination here, this fixes access with regedit
metze
(This used to be commit 79293227d6)
2007-10-10 13:51:28 -05:00
Andrew Tridgell
e8c23e4e2d r11457: fixed the winreg IDL and torture code so key and value enumerations
work again. The automatic value() is fine for the length, but cannot
be used for the size as the size is not the number of bytes being
sent, but the number of bytes that the server is allowed to use in the
reply
(This used to be commit 46e91f269c)
2007-10-10 13:45:39 -05:00
Tim Potter
9759d435ca r11261: Rename access_required field in winreg idl to access_mask so it matches
the other interfaces.
(This used to be commit 8eb582b578)
2007-10-10 13:45:09 -05:00
Jelmer Vernooij
568dd26ac7 r11243: length and size can now be filled in automatically.
(This used to be commit 99444c129d)
2007-10-10 13:45:06 -05:00
Jelmer Vernooij
9fe24f4e9c r11101: Remove last instances of unistr
(This used to be commit 7e057e6bda)
2007-10-10 13:44:49 -05:00
Andrew Tridgell
3eb52c6cd6 r9574: - made the sec_info fields in lsa and samr use a IDL bitmap
- fixed winreg_GetKeySecurity() to use a sec_info field correctly

- simplied the winreg torture code, removing the separate opens for
  each hive

- added torture cleanup code in winreg test

- added 'create with security descriptor' in the winreg torture test
(This used to be commit f20695decd)
2007-10-10 13:34:30 -05:00
Andrew Tridgell
649882d8d5 r9567: fixed the winreg IDL for CreateKey, including a security
descriptor. To keep it simple I just use normal IDL buffers for now,
avoiding the complex methods metze used in spoolss. We might change
that later

Also added decoding of the security_descriptor in
winreg_GetKeySecurity() in smbtorture
(This used to be commit 439f34a962)
2007-10-10 13:34:29 -05:00
Andrew Tridgell
7927513fef r9495: - added an enum for winreg key types, making it easier to read the debug logs
- got rid of winreg_Time, as its just a NTTIME
(This used to be commit 198aff894e)
2007-10-10 13:34:22 -05:00
Andrew Tridgell
22d2239893 r9360: fixed the IDL for winreg_SetValue()
(This used to be commit 8aff6a0bd8)
2007-10-10 13:33:28 -05:00
Andrew Tridgell
9fffd12799 r9338: fixed the winreg IDL to be correct for the EnumKey and EnumValue
calls. The previous IDL was just a workaround for the limitations of
our older rpc infrastructure. Now that Jelmer has added much improved
string support using the charset keyword we can correctly implemenent
the unusual winreg string buffers.

Jelmer, note the little comment I put on winreg_StringBuf() about why
I couldn't use [value()] for the length field.

This also fixes EnumKey() and EnumValue() to use NTTIME fields for the
last_changed_time. I don't know why we were using a pair of uint32's,
as it is just a NTTIME.
(This used to be commit 8354b01612)
2007-10-10 13:33:25 -05:00
Stefan Metzmacher
c56befeb62 r9157: fix white spaces
metze
(This used to be commit 475b413cfe)
2007-10-10 13:31:25 -05:00
Andrew Tridgell
31fa87f23b r9146: - enable winreg pipe from ejs
- map the result code from rpc calls into the ejs objects

- treat winreg_String like lsa_String, hiding the length elements
(This used to be commit 2f6311c9a3)
2007-10-10 13:31:23 -05:00
Tim Potter
372f3fae88 r8171: According to Samba 3 and Ethereal, the winreg_OpenUnkown stuff is
actually a uint16 * without the [string] attribute, a la the the
system_name argument to samr_Connect().

Initialising the pointer to NULL is sufficient and we still pass the
RPC-WINREG test against win2k3.
(This used to be commit 407d962dac)
2007-10-10 13:19:16 -05:00
Andrew Tridgell
7fc49243f3 r7870: fixed the RPC-SCHANNEL test. It turned out it was my const changes, as
they slightly changed the semantics of value() in pidl, which broke
a optimisation hack in some of our IDL files.

I've changed the idl files to remove the hack for now. Sometime we
need to find a better way to handle these :-)
(This used to be commit 765f75ea63)
2007-10-10 13:18:45 -05:00
Jelmer Vernooij
c420c5a4c4 r7552: Use ParseExpr() for [value] attributes; allows
us somewhat cleaner IDL.
(This used to be commit b7b01bccd1)
2007-10-10 13:18:07 -05:00
Jelmer Vernooij
50d2bf0066 r7029: Make array support in pidl similar to that in other IDL compilers. We should
now able to use constructions like these:

[size_is(20)] int *x; -> Pointer to array of 20 ints
[size_is(20)] int x[]; -> Array of 20 ints
[size_is(20)] int *x[]; -> Array of 20 pointers to ints
[size_is(20,)] int *x[] -> Array of 20 pointers to ints
[size_is(,20)] int *x[]; -> Pointer to array of 20 ints
[size_is(,20)] int **x; -> Pointer to pointer to array of 20 ints
[size_is(20)] int x[][30]; -> 20 blocks of 30 ints
(This used to be commit ecf583da71)
2007-10-10 13:17:07 -05:00
Jelmer Vernooij
e427f58622 r6973: Merge new version of pidl into the main SAMBA_4_0 branch.
The main difference in this new version is the extra data structure generated
between the IDL data structure and the NDR parser:

IDL -> NDR -> { ndr_parser, ndr_header, eparser, etc }

This makes the ndr_parser.pm internals much more sane.

Other changes include:

- Remove unnecessary calls with NDR_BUFFERS (for example, GUID doesn't have any buffers, just scalars) as well as some (unnecessary) nested setting of flags.
- Parse array loops in the C code rather then calling ndr_pull_array(). This allows us to have, for example, arrays of pointers or arrays of pointers to arrays, etc..
- Use if() {} rather then if () goto foo; everywhere
- NDR_IN no longer implies LIBNDR_FLAG_REF_ALLOC
- By default, top level pointers are now "ref" (as is the default in
  most other IDL compilers). This can be overridden using the
  default_pointer_top() property.
- initial work on new ethereal parser generators by Alan DeKok and me
- pidl now writes errors in the standard format used by compilers, which
  is parsable by most editors
- ability to warn about the fact that pidl extension(s) have been used,
  useful for making sure IDL files work with other IDL compilers.

oh, and there's probably some other things I can't think of right now..
(This used to be commit 13cf227615)
2007-10-10 13:17:01 -05:00
Jelmer Vernooij
ef213b0248 r5866: Add InitShutdown IDL and torture test.
Implement push side of NDR_LEN4|NDR_NOTERM strings (pull side was already present)
(This used to be commit ea61ec1122)
2007-10-10 13:11:05 -05:00
Jelmer Vernooij
e9ca6e48ff r5775: Remove some unused functions (unions are no longer as special as they used to be)
Add oxid mapping table support in DCOM
(This used to be commit e193555f0e)
2007-10-10 13:11:02 -05:00
Jelmer Vernooij
631aa1f0ef r5661: Be a little stricter on syntax regarding arrays. A pointer to an
array can now only be :

 type *name[];

rather then :

 type *name;

which was supported in the past. Warnings will be given when the first
syntax is used. Reasons for this change in behaviour include improved
readability and the fact that the second format makes dealing with multiple
levels of pointers harder.
(This used to be commit a416de5825)
2007-10-10 13:10:57 -05:00
Jelmer Vernooij
fedca61e8f r4175: InitiateSystemShutdownEx IDL and torture test
(This used to be commit 3538130bf5)
2007-10-10 13:07:22 -05:00
Jelmer Vernooij
1971d529b4 r4168: Implement QueryValue in the server
IDL for NotifyChangeKeyValue
(This used to be commit a402142431)
2007-10-10 13:07:21 -05:00
Jelmer Vernooij
4c202a20fa r4167: Fix CreateKey
Support CreateKey in the RPC registry backend
(This used to be commit ad8d9e6f73)
2007-10-10 13:07:21 -05:00
Jelmer Vernooij
65e688f5dd r4158: Fix IDL for InitiateShutdown and AbortShutdown and run both only
when dangerous tests are enabled.
(This used to be commit a763bd8385)
2007-10-10 13:07:20 -05:00
Jelmer Vernooij
59cfd5495e r4157: QueryMultipleValues IDL and torture test
Initialisation data pointer in QueryValue torture test
(This used to be commit 72618dfe95)
2007-10-10 13:07:20 -05:00
Jelmer Vernooij
43ddb0a7ae r4156: GetKeySecurity() IDL and torture test
(This used to be commit 1c49de51ae)
2007-10-10 13:07:20 -05:00