Age | Commit message (Collapse) | Author | Files | Lines |
|
us somewhat cleaner IDL.
(This used to be commit b7b01bccd101654d1f5ec83cba9dea7e9431d6ce)
|
|
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 ecf583da71c2f80be124c17fccdcb284b47e0695)
|
|
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 13cf227615f6b9e0e5fa62e59197024410254f01)
|
|
Implement push side of NDR_LEN4|NDR_NOTERM strings (pull side was already present)
(This used to be commit ea61ec1122841716ed5d90085ba79e7bf691bd6a)
|
|
used to be)
Add oxid mapping table support in DCOM
(This used to be commit e193555f0eec2dda8c8760e9668181200fef0a1e)
|
|
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 a416de5825c540fd3741731c4be05e9a659a6fdb)
|
|
(This used to be commit 3538130bf5d656ed4b0e2c84294e995814860e34)
|
|
IDL for NotifyChangeKeyValue
(This used to be commit a40214243136ed5208a1bec494ad1fbf821524ba)
|
|
Support CreateKey in the RPC registry backend
(This used to be commit ad8d9e6f73619332d93c38a1879233e199e8ba25)
|
|
when dangerous tests are enabled.
(This used to be commit a763bd838558bdd7bcab3ca7ee91c1846d7a950f)
|
|
Initialisation data pointer in QueryValue torture test
(This used to be commit 72618dfe95c785d3a3a71cc4a70b59696f2d418e)
|
|
(This used to be commit 1c49de51aeb6041a3b53b8da7dc8e2bcf089bfe0)
|
|
of arrays.
(This used to be commit b47e203a054e26d5d0c133a3c3b8d9502bd6ac69)
|
|
QueryValue
(This used to be commit 659d0295314c6a070698fc81223044f4d7366993)
|
|
Thanks to Michael Allen for some hints on what was wrong with the previous IDL.
(This used to be commit 0fa6d847433eb281eaff15b8be4a26f898689f0a)
|
|
The thing that finally convinced me that minimal includes was worth
pursuing for rpc was a compiler (tcc) that failed to build Samba due
to reaching internal limits of the size of include files. Also the
fact that includes.h.gch was 16MB, which really seems excessive. This
patch brings it back to 12M, which is still too large, but
better. Note that this patch speeds up compile times for both the pch
and non-pch case.
This change also includes the addition iof a "depends()" option in our
IDL files, allowing you to specify that one IDL file depends on
another. This capability was needed for the auto-includes generation.
(This used to be commit b8f5fa8ac8e8725f3d321004f0aedf4246fc6b49)
|
|
the build on systems like solaris with the SunPRO compiler
(This used to be commit fe913ad11bf1c5e9fe04ed769a93b0ea16aa0a34)
|
|
transports.
ncalrpc uses the new config option "ncalrpc dir" for creating unix sockets.
(This used to be commit b15cfbe2512961a199ecb069730d9a19787579f5)
|
|
specifying a endpoint is now also 'endpoint' instead of 'endpoints'. The
default endpoint (if none is specified) is still "ncacn_np:[\\pipe\\ifacename]",
where ifacename is the name of the interface.
Examples:
[
uuid(60a15ec5-4de8-11d7-a637-005056a20182),
endpoint("ncacn_np:[\\pipe\\rpcecho]", "ncacn_ip_tcp:")
]
interface rpcecho
{
void dummy();
}
dcerpc_binding is now converted to ep_description in the server, but I hope to
completely eliminate ep_description later on.
The eventual goal of all these changes is to make it easier to add
transports as I'm going to add support for
ncalrpc (local RPC over named pipes) and ncacn_unix_stream (Unix sockets).
(This used to be commit f3da7c8b443a29b0c656c687a277384ae1353792)
|
|
security descriptor.
(This used to be commit bc5165e40a716fb7c612b32c0b6f03cb2d331d11)
|
|
didn't work with non-NULL registry value names.
Update testsuite to enumerate all keys and values two levels deep.
(This used to be commit c09f0f355ba6a589121588492aa2db5deb7121e0)
|
|
(This used to be commit 9250f745adc22b3f179cf363a9a9a5fba1ec6fc9)
|
|
to clean it up. (-:
(This used to be commit cc646f73b873292eaba152770be9500beff1c988)
|
|
- Samba4-style code in lib/registry (struct registry_key instead of REG_KEY, etc)
- Use hives (like Windows has drives) instead of one root key (like a Unix FS)
- usability fixes in the GTK utilities (autodetect the username,
enable/disable options, etc)
- fix gwsam compile
- several bugfixes in the registry rpc code
- do charset conversion in nt4 registry backend
(This used to be commit 2762ed3b9bf1d67dd54d63e02cddbfd71ea89892)
|
|
- IDL fixes + adding comments
- Start working on dcom infrastructure
(This used to be commit ef0fc269f06c82594c34ad8673c76c5ea099250e)
|
|
http://www.hsc.fr/ressources/articles/win_net_srv
(This used to be commit 8d36dbed8c5bdc82176083b2c6f8d989ae903ba5)
|
|
- moved some sec desc defines into misc.idl
- fixed pw_len field in UserInfo26
- made some pipes available on TCP
- added netr_DsrEnumerateDomainTrusts() to netlogon
- added templates for remaining netlogon IDL calls (from ethereal)
- added a unistr_noterm vs unistr error detector in ndr basic decoder
- added torture test for netr_DsrEnumerateDomainTrusts()
(This used to be commit ae5a5113fb83640dcb9ae4642c1b9eaf28487956)
|
|
(This used to be commit 02ddf78e5563b15cb45ae4bc6234469be0dc0210)
|
|
(This used to be commit 0a67057e9626c1539f964e978537e24544784263)
|
|
(This used to be commit 1d8a6d762aa4dab54bb58959cb1e7957a76e5b6e)
|
|
- Start with the LDB backend
- The API is now more windows-like, which should make it easier to use
in rpc_server
- Added a GTK+ front-end
- Added some more IDL
More updates will follow, especially in the RPC field..
(This used to be commit 3adffa021779b26047a20f16a3c0b53d74751560)
|
|
(This used to be commit 1396db85372af1824592ef66f963603e3f35803c)
|
|
(This used to be commit 9f13b7c60cc7e6edd095eee96625ee02cd0dd73b)
|
|
(This used to be commit 98224f5436695eb265f5d997cf4bc9cf735a4fb9)
|
|
for EnumKey and EnumValue.
(This used to be commit 817a2fe2e5824e6bb9547697d27c66c0c8356181)
|
|
(This used to be commit cc494086e796c0090a92ac36012727c67e3587d1)
|
|
including the termination. Using value(strlen_m((r->name)+1)*2) gives
the wrong answer for the NULL string.
(This used to be commit 7ae329e6630a07d29f83b6dd4572d26ab8a18c71)
|
|
(This used to be commit 1f56d4cd04840b350b098e698d369cd6b047cfe4)
|
|
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)
|
|
Implement all OpenXXX calls, EnumKey, OpenKey, QueryInfoKey.
Started EnumValue but it doesn't work yet.
(This used to be commit 5cba48252a8b3338a296d7ec8fa8ccba43dd190e)
|
|
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)
|
|
(This used to be commit 49f1654510f0ea7681b386296b67282791c4b319)
|
|
(This used to be commit c8b87f5feb7756c7a5b38135517788c9f4ade36f)
|