summaryrefslogtreecommitdiff
path: root/source4/build/pidl
AgeCommit message (Collapse)AuthorFilesLines
2007-10-10r3689: Large number of COM updates:Jelmer Vernooij8-93/+455
- Work on server side and local COM support (should work, just no example classes yet) - Use vtables so that local and remote calls can be used transparently - Generate 'proxies and stubs' rather then heavily modified code in client.pm and server.pm. proxies (client side code) are generated in proxy.pm, stubs (server side dispatchers) are generated in stubs.pm - Support registering classes and interfaces - DCOM interfaces no longer have to be in the same IDL file as their base interface, which will allow us to split up dcom.idl (This used to be commit 7466947a23985f9bb15209b67880f7b94dc515c8)
2007-10-10r3667: Small COM fixesJelmer Vernooij3-7/+14
(This used to be commit 7484b9be7423ccd7e37432951700939e8a53d513)
2007-10-10r3626: More minor DCOM fixesJelmer Vernooij2-6/+2
(This used to be commit 709f279b192c8f9eeea04749169c00f2d57b20d3)
2007-10-10r3611: DCOM client support works!!Jelmer Vernooij4-0/+9
The torture test DCOM-SIMPLE now successfully does an IStream_Read and a IStream_Write call. This test can now be run successfully against the "Simple DCOM" Visual Studio example. (You have to quote out line 337 in pidl. pidl complains if the variable that contains the array size follows the array. I still need to fix this properly) Next goals: - Clean up code - Server side support - Support custom marshalling - Support DCOM interfaces in files other then dcom.idl (This used to be commit 8693344772a9b700533179f4bacfe27ec27dfcfe)
2007-10-10r3606: More DCOM fixes:Jelmer Vernooij2-5/+4
- OXID tables work now. IOXIDResolver is used if there is used for getting a STRINGBINDING if none is known yet - Add custom dissectors for STRINGARRAY and DUALSTRINGARRAY. If there's a way to get rid of these later on (by supporting them thru pidl somehow), I'd be happy to use that instead of doing it manually. I can now get to the point where we have created an object and are connected to it. The only thing left to do is being able to set the Object UUID properly.. (This used to be commit 54e1e5edca50d3cd496c080715e84ec62cb2a10c)
2007-10-10r3601: Lots of smaller DCOM updates and fixes. Adds oxid tables, properJelmer Vernooij2-19/+49
use of contexts. (This used to be commit 93eb3cd99c4fb065a69eabcead0c33804259c976)
2007-10-10r3586: Fix some of the issues with the module init functions.Jelmer Vernooij2-2/+2
Both subsystems and modules can now have init functions, which can be specified in .mk files (INIT_FUNCTION = ...) The build system will define : - SUBSYSTEM_init_static_modules that calls the init functions of all statically compiled modules. Failing to load will generate an error which is not fatal - BINARY_init_subsystems that calls the init functions (if defined) for the subsystems the binary depends on This removes the hack with the "static bool Initialised = " and the "lazy_init" functions (This used to be commit 7a8244761bfdfdfb48f8264d76951ebdfbf7bd8a)
2007-10-10r3516: dcerpc_epm_map_binding now checks the endpoints it nows firstJelmer Vernooij1-1/+0
and then possibly does a epm_Map call(). ncacn_np now also uses dcerpc_epm_map_binding() (This used to be commit 77eec3fa18dbbf4d774ccf04c7a38b0887f26ca6)
2007-10-10r3515: Fix RemoteActivation correctly this time (-:Jelmer Vernooij1-0/+1
Thanks to tridge for some help on this one! (This used to be commit 1104667190aa144e2c7d79ece9a55502b98d0351)
2007-10-10r3513: Add (the infrastructure for) DCOM support. Contents:Jelmer Vernooij5-7/+32
- Support for sending over the object UUID in DCERPC calls - Simple torture test for the DCOM "Simple" object - Generate extra argument for "object" interfaces in pidl - Some stubs for common DCOM functions (This used to be commit c052f2e1edd816206d8974af3140cec7ef97a70c)
2007-10-10r3484: - add support for conformant string arrays at the end of a structStefan Metzmacher2-2/+32
- add support for strings where the length excludes the NULLTERM metze (This used to be commit 8251d8b3e5af351972aa41aed63f7a7d2640910e)
2007-10-10r3442: Add support for the "call_as" and "local" attributes.Jelmer Vernooij4-664/+749
(This used to be commit 8e25117103b0339441bc6328176ed34034005528)
2007-10-10r3440: Add support for "coclass" to the pidl parser - the idl keyword thatJelmer Vernooij1-4/+17
describes a COM class. A coclass is the implementation of one or more interfaces. It has a UUID referred to as it's CLSID (Class ID). Also adding an example coclass called "CoffeeMachine". You can give it a string (or a cup, whatever you like ;-) and it will fill it with "COFFEE" (kind of the like the echo pipe is for regular RPC). CoffeeMachine's Windows implementation already works, a torture test for Samba will follow soon. (This used to be commit 05dd840b6ffba0d38d98e2e80d856e2f2b5d877c)
2007-10-10r3432: Support WERROR's in arguments (not just as return type). Some ofJelmer Vernooij1-1/+1
the DCOM calls are wrappers around several local calls, so you get things like: WERROR foobar ( [in] int num_ifaces, [in,size_is(num_ifaces)] IID *ifaces, [out,size_is(num_ifaces)] WERROR *results); (This used to be commit 0873bf2cbe3589988e518cf68ad4d14343b9240b)
2007-10-10r3431: Allow optional semicolon after interface definitionsJelmer Vernooij2-128/+151
(This used to be commit edbd789abb505accd3e72863d13acd2603d991f6)
2007-10-10r3428: switched to using minimal includes for the auto-generated RPC code.Andrew Tridgell3-5/+33
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)
2007-10-10r3423: auto-generate prototypes for all external functions in pidlAndrew Tridgell3-79/+147
(This used to be commit 009488dfe55f5219b24c30222b1a8bf411a7e939)
2007-10-10r3410: Handle conversion of DATA_BLOBs and pointers to DATA_BLOBs from python.Tim Potter1-1/+5
(This used to be commit 12e037dbe3d497aff2415c0a22fab20a7932ab7a)
2007-10-10r3406: Don't throw a werror exception for WERR_NO_MORE_ITEMS and WERR_MORE_DATA.Tim Potter1-1/+3
(This used to be commit deaa5159f41a8841d75801b441e7bd5cf2636870)
2007-10-10r3303: Call pull function for correct type instead of spoolss_PrinterInfo whenTim Potter1-1/+1
unmarshalling arrays. (This used to be commit ee535b6801e553d0a180f18cc2c4b4438ee23de1)
2007-10-10r3282: some C pre-processors don't like expressions likeAndrew Tridgell3-2/+14
uuid(1ff70682-0a51-30e8-076d-740be8cee98b) so we now accept uuid("1ff70682-0a51-30e8-076d-740be8cee98b") in pidl, and automagically add quotes only if needed (This used to be commit 4aab2cb210eb9678bb72aebb33dcf6fd499206c1)
2007-10-10r3281: some compilers can't handle empty structures, so for empty IDLAndrew Tridgell1-0/+6
structures generate a single _empty_ element in the header (This used to be commit 00ff1ca1d284bb698e98c773b18a29695e927605)
2007-10-10r3204: Got unpacking of an array of PrinterInfo union elements working. Phew.Tim Potter1-53/+44
(This used to be commit f490cd719cc02589e73e26fa983aff90708d1926)
2007-10-10r3043: Use binding strings for specifying endpoints. The property forJelmer Vernooij1-9/+7
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)
2007-10-10r3022: Work on unmarshalling arrays of structs in a buffer (Python string) forTim Potter1-6/+32
spoolss. Doesn't quite work yet. (This used to be commit 9045645ddf4eb8b5596d220ed936c8731641ef0a)
2007-10-10r3009: Fix up unmarshall functions to return Python dict instead of a NTSTATUS.Tim Potter1-18/+7
We can now unmarshall a single printer returned from an EnumPrinters. (This used to be commit 89da7a9196d40699881f12c9a5fe62301aafd4cf)
2007-10-10r3001: Expose unmarshalling functions for structures marked "public" in theTim Potter1-10/+33
idl. This allows us to pass a buffer of bytes returned from a spoolss call and convert it to a Python dictionary. Works for enumprinters level 1! (This used to be commit 4bc497a2994b12845a46b2d19f60bb81c9869fc9)
2007-10-10r2994: More cleanups. Move the generation of NTSTATUS and WERROR exceptionsTim Potter1-2/+19
from inside a swig %exception block and into the argout typemap. This will allow us to wrap functions that don't require exception handling, and also get rid of some ugly code in dcerpc.i (This used to be commit 558076cc8ddbdb563869f7d35150310217f30c31)
2007-10-10r2990: Add support to pidl for autogenerating ndr_size_*() functions. AddingJelmer Vernooij1-1/+129
the [gensize] property to a struct or union will make pidl generate a ndr_size_*() function. (not all nasty bits of NDR are completely covered yet by the ndr_size*() functions, support for those will be added when necessary) I also have a local patch (not applied now) that simplifies the pidl output and eliminates the number of functions required. It would, however, make pidl more complex. (This used to be commit 7c823f886afd0c4c6ee838f17882ca0658417011)
2007-10-10r2988: this should fix support for negative switch levels in PIDLAndrew Tridgell1-3/+3
(This used to be commit 21ed51d47f7efd493ad64b564fb6362ef8fb067f)
2007-10-10r2987: added support for signed 32 bit integers in pidlAndrew Tridgell1-0/+1
(This used to be commit 24122eb93e39de8db3675618b6c227c95eb58d9c)
2007-10-10r2986: Add correct value to dict when generating wrapper for functions thatTim Potter1-2/+19
return WERROR values. Clean up WERROR vs NTSTATUS handling a bit. (This used to be commit e6756e3ee0af3e7e98f6deaf9dc83af9aac1b586)
2007-10-10r2973: Allow comma's inside parentheses in property argumentsJelmer Vernooij2-234/+283
(This used to be commit ab2a788fe75ddaf8ff493477f2006a03959e6ab5)
2007-10-10r2968: fixed the byte order problem with the new RHS parsing on ncacn_ip_tcpAndrew Tridgell1-1/+1
(This used to be commit cc00f9b6b87783d189df00de0ce9ae92b907e21a)
2007-10-10r2966: Handle conversion of DATA_BLOB fields from Python in a slightly nicerTim Potter1-0/+5
manner. I'm hoping to get rid of DATA_BLOB's but for the moment they make it easy to get some spoolss action happening quickly. (This used to be commit 15f8f73f8bfec099973fb8bf167020ae50346cf6)
2007-10-10r2963: Handle structures that contain more than one union as members.Tim Potter1-2/+2
(This used to be commit 6a47a079c003c2a139665ad2b5ede5d139049bd1)
2007-10-10r2962: Tweak to get conversion function for pointers to union compiling again.Tim Potter1-1/+1
(This used to be commit 8c9c94d578651c5884db0aa0feb6e16858274fbb)
2007-10-10r2958: the warnings from the swig code in pidl were totally swamping validAndrew Tridgell2-15/+17
warnings, making real errors impossible to spot. this fixes the warnings, and probably fixes some pidl/python bugs as well. (This used to be commit 2f1e9954e3381b1864a6fd9fa8b2231478179d4d)
2007-10-10r2948: added support for the [range(low,high)] attribute in pidl. This allowsAndrew Tridgell1-0/+5
range checking of any integer value, to help protect against denial of service attacks (which could otherwise cause large memory allocations) (This used to be commit dbe6430d78f1b9aa59969074077e4afa5adf7570)
2007-10-10r2933: Only pull a union once when it occurs in a subcontextJelmer Vernooij1-2/+6
(This used to be commit 309623447eef9ae554e2f25713c2123ab578cc6e)
2007-10-10r2805: Handle NULL pointers when converting structures to Python. All theTim Potter1-1/+4
test cases up till now haven't come across them yet! (This used to be commit 5fd3c12d4fe3e572618bcd71c5915f69539fe7e6)
2007-10-10r2777: Correctly abort if an idl file fails to parse. Bloody perl...Tim Potter1-1/+1
(This used to be commit 35ff140b43b353a8848e417bb309046605e98085)
2007-10-10r2767: Get rid of some unnecessary %s formatting.Tim Potter1-2/+2
(This used to be commit b63a0ef0d41e6f0fdc6bf46435fb7b81925946da)
2007-10-10r2764: Use hand-written function for all occurrences of IDL strings, not justTim Potter1-2/+2
those with a single pointer. (This used to be commit c4c748ce63fd2d87d4388a1eac9afa586867ce28)
2007-10-10r2735: More DCOM updates:Jelmer Vernooij1-4/+10
- Several updates to the interface definitions after reading some more of the specs - Add Remote Activation interface - Add body extension uuids - Add oxidresolve torture test to list - Make pidl complain about object interfaces that don't inherit from IUnknown (This used to be commit 1bb471832830d73f0c7290e2ec12878518598379)
2007-10-10r2704: Complain about 'object interfaces' that don't have version 0.0 (the ↵Jelmer Vernooij2-1/+7
standard doesn't allow them to! I think the idea is that you just create a new interface that inherits your old interface, thus ensuring backwards-compatibility) Re-enable to validator (This used to be commit e364e46a88e5a222c94cdb9cf8e7a124e43f0bcf)
2007-10-10r2560: Don't require structure fields that have the pidl value() propertyTim Potter1-1/+5
to be set. They can be if you want, but will be overwritten by the pidl push code. (This used to be commit 3170f6ed84e0514bf18d2a346f153bf0231b245b)
2007-10-10r2496: Check that reference parameters are not None.Tim Potter1-1/+9
(This used to be commit a2ab6c5ef9cc6db27fc8c73e6117f0f7a116d563)
2007-10-10r2491: Handle pointers to scalars when converting to a Python dictionary (i.eTim Potter1-30/+1
resume handles). Remove some now unused debugging code. (This used to be commit f250203a5f54c689c09ba780e9e3af7f8f2311bb)
2007-10-10r2490: Some changes to take into account non-error NTSTATUS codes being ↵Tim Potter1-2/+6
returned: - Only throw an exception if NT_STATUS_IS_ERR() instead of !NT_STATUS_IS_OK(). - Add the NTSTATUS value to the returned dictionary under a key of 'result' so calling functions can access it. (This used to be commit 4ddcae90a2e9b93e58bd57932cd9ae4c95be6ae8)