Age | Commit message (Collapse) | Author | Files | Lines |
|
when starting a pipe. Thanks to metze for a script that gave the idea.
do something like this to use it:
pidl.pl --parse --template librpc/idl/XXX.idl > rpc_server/XXX/rpc_XXX.c
then fill in the functions in rpc_XXX.c
(This used to be commit 68e71d7497ddc7b8239fc4bd7cb3e780a1f53a39)
|
|
for the server rpc boilerplate to correctly generate for multiple
interfaces on an endpoint
(This used to be commit 56143689ecf623e8a6ef5c453e6ad1ca9404411c)
|
|
on some systems
(This used to be commit a4aa9168c0f80cf6e758c380d41335db50d06869)
|
|
(This used to be commit fa45529af72090c2604708a651d5e5714a844d72)
|
|
pipe.
The server side code gets generated as librpc/gen_ndr/ndr_NAME_s.c and
gets included in the pipe module
(This used to be commit bd3dcfe5820489a838e19b244266bd9126af5eb4)
|
|
(This used to be commit 2afbd1e0005517d8ceb584ccbf8a85c4527cb866)
|
|
(This used to be commit 6f33109b102d41d98ffd536fe2234fbaae85b02e)
|
|
(This used to be commit 5fed4681edc93405a8b39080adfe72af8beea65d)
|
|
can simplify rpc servers a lot.
(This used to be commit 28fa62d63d020052a0d2f467f3f9cc6344aaf0ce)
|
|
don't cause fragmented pdus (I'll add fragments shortly)
* change data_blob_talloc() to not zero memory when the 2nd argument
is NULL. The zeroing just masks bugs, and can't even allow a DOS
attack
* modified pidl to ensure that [ref] arguments to the out side of
functions are allocated when parsing the in side. This allows rpc
backends to assume that [ref] variables are all setup. Doesn't work
correctly for [ref] arrays yet
* changed DLIST_ADD_END() to take the type instead of a tmp
variable. This means you don't need to declare a silly tmp variable in
the caller
(This used to be commit 46e0a358198eeb9af1907ee2a29025d3ab23b6d1)
|
|
(This used to be commit c598590a117d4281c530cded4bf9dae16ac1ee76)
|
|
flag to test. It's amazing that systems like that are ever sold.
(This used to be commit fe91635da87104544946983c7c63d5c584db614a)
|
|
(This used to be commit 2b1300386dc8a3e3e802c8b1dafdbea286cfbb46)
|
|
precedence rules
* build a standalone parser. When we come to distributing Samba4 we
can just include idl.pm and other developers won't need Parse::Yapp
installed
* avoid the recursive make in most cases in build_idl.sh
(This used to be commit be2c2be459d1bed41c113590e70711cb89ad12b9)
|
|
(This used to be commit 4e1a5a21a4c8da0d2a23d5ba02168eac1987c260)
|
|
(This used to be commit 788f6c44dbae48e13c9eeaca3bfa3ac7efbbd4e2)
|
|
(This used to be commit 76f48affe5d1e8fd96d5dc9af2ec1059f3dd741c)
|
|
makes pidl about 3x faster, and also gives us much better error
reporting and a more standard grammer definition that will be much
easier to code in lex/yacc if we want to do so at a later
date. (Parse::Yapp uses essentially the same grammer file as lex/yacc)
It also means we no longer need Parse::RecDescent, which should make
pidl much more portable.
(This used to be commit 4bbaffeb44dca99ad8c0245beb1fddbe01557215)
|
|
(This used to be commit c4c09e9413d3886e030e98739121bbae81f80ca5)
|
|
yet, but at least the request is understood by w2k3
Also modified pidl to allow multiple branches in a union to have the
same element. This is used in netlogon.
(This used to be commit 983c0e9683fa9666a6e055d1776ebeef8cd2e700)
|
|
machine account password.
* neater handling on value() options in IDL. The auto-print code
will now display the right value so you don't need to initialise
it in your C code
(This used to be commit 3dd978b12bb5571fba4e1839c0f7ee60cf729aa2)
|
|
(This used to be commit 4fa3ad3ecbfd8f8663fcdfaba9a7db481e303f2b)
|
|
(This used to be commit bb42107dccf3a384a4a5c029b4d2752e0898d7cb)
|
|
(This used to be commit 3d64eefb464d09fb6e84d6139f801887a278cf86)
|
|
(This used to be commit 86ab394806a5f9dfc20fabda071d72ca29703f62)
|
|
* allow for an interface to list its endpoints in the IDL file, so we
can automatically make the server listen on the right pipes, and
can scan pipes more easily (I don't take advantage of this yet,
just putting the infrastructure in place)
(This used to be commit c8b8480244b4ab6204403dc65e92e4317b410a84)
|
|
* make far more generated functions static
* get rid of gen_rpc, and include the client calls in ndr_*.c
* added placeholder IDL for a number of intefaces (dcom, wzcsvc, browser etc)
(This used to be commit a2bdf0be0119023df3c2b9ea515ed355020f2625)
|
|
places that need to be edited when someone adds a new IDL file.
(This used to be commit ccd9ddeed679baa6cbb05ac728b381b50420e00f)
|
|
uuid 82273fdc-e32a-18c3-3f78-827929dc23ea version 0x0000:0x0000 'eventlog'
24 calls available
WARNING: local IDL defines 4 calls
when all the WARNINGs are gone then we know we have all the calls :)
(This used to be commit f5821b2468a0c46d0e5590de59562926d746c349)
|
|
the servers endpoint mapper
(This used to be commit 4abf5376b00f580eb69196e55a792cc7eb4c9880)
|
|
(This used to be commit 3492f37b0bf14797514f1dc603f518bf5b801c3c)
|
|
* fixed a uninitialised variable bug in pidl (found by valgrind)
(This used to be commit 8bce61b8af6351c72c0dd84dc61b49d8aeb1fbbd)
|
|
(This used to be commit 420301969820ffaa0a87b091c7a79372c99cb658)
|
|
(This used to be commit 4a6034f2e37d1050364fc167f1b71b5c806dfdc9)
|
|
(This used to be commit 00f9b0e12061c175334f96805ca8333f28f74d91)
|
|
according to the current IDL taking the data from a file. In
combination with a little hack to ethereal to extract data this is a
quite powerful IDL development tool.
(This used to be commit 229a325c3cf0d4dc1e910ed32e1d7391040aeba1)
|
|
reference other elements of the same structure
(This used to be commit d8d17be290730670bad0fea91188d394160cb879)
|
|
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)
|
|
files at once, which means less perl startup time.
(This used to be commit 64b2c67e479ddc754d18f752d347ba22a6d77682)
|
|
easier to work with.
(This used to be commit 60be15d306e7b65efdd27df02250c0264996ccf3)
|
|
symbolic names for bitfields etc.
(This used to be commit 344a6e1682cc1afab24735e73d05cf15f6eb9816)
|
|
IDL is not valid
(This used to be commit c1b708708e262350d697829d444d0fb6a981a80f)
|
|
* fixed GetPrinter in spoolss after OpenPrinter
(This used to be commit 4aea2d79dd6b14e0fdfafd2236849ece01839ce0)
|
|
* 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)
|
|
* 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)
|
|
version. This should fix the problems Richard was seeing.
(This used to be commit 76c24a5cb09b096a9cb490f3bb42af0b9d0f5fa9)
|
|
(This used to be commit bc2fbc79cc7c0308934f351b067a88b4b397de37)
|
|
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 a5eeb3be0577e0ce91ac1f6e641782e4acbbda07)
|
|
(This used to be commit e9d18ecc2d513dc7aba9a0545808a95893544fe6)
|