1
0
mirror of https://github.com/samba-team/samba.git synced 2025-03-08 04:58:40 +03:00

383 Commits

Author SHA1 Message Date
Jelmer Vernooij
6ef03e7a84 r3432: Support WERROR's in arguments (not just as return type). Some of
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-10 13:05:10 -05:00
Jelmer Vernooij
a78c26beaa r3431: Allow optional semicolon after interface definitions
(This used to be commit edbd789abb505accd3e72863d13acd2603d991f6)
2007-10-10 13:05:10 -05:00
Andrew Tridgell
90067934cd r3428: switched to using minimal includes for the auto-generated RPC code.
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-10 13:05:09 -05:00
Andrew Tridgell
2c52f52e02 r3423: auto-generate prototypes for all external functions in pidl
(This used to be commit 009488dfe55f5219b24c30222b1a8bf411a7e939)
2007-10-10 13:05:08 -05:00
Andrew Tridgell
38ee8f04ef r3422: allow for subsystems that don't get included in the list of auto-prototype objects, using
SMB_SUBSYSTEM_NOPROTO()
(This used to be commit e6b69183de785641144f9abb1853cab73c70073e)
2007-10-10 13:05:08 -05:00
Tim Potter
751b412326 r3410: Handle conversion of DATA_BLOBs and pointers to DATA_BLOBs from python.
(This used to be commit 12e037dbe3d497aff2415c0a22fab20a7932ab7a)
2007-10-10 13:05:06 -05:00
Tim Potter
12fb5bc0cb r3406: Don't throw a werror exception for WERR_NO_MORE_ITEMS and WERR_MORE_DATA.
(This used to be commit deaa5159f41a8841d75801b441e7bd5cf2636870)
2007-10-10 13:05:06 -05:00
Tim Potter
fd608a16e2 r3310: Update dependencies for swig wrappers.
(This used to be commit 5dcb300fca592cc62d325c47c857b046c90e7b42)
2007-10-10 13:04:52 -05:00
Tim Potter
9d1e2b29eb r3303: Call pull function for correct type instead of spoolss_PrinterInfo when
unmarshalling arrays.
(This used to be commit ee535b6801e553d0a180f18cc2c4b4438ee23de1)
2007-10-10 13:04:51 -05:00
Andrew Tridgell
1a7a5c66f5 r3282: some C pre-processors don't like expressions like
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-10 13:04:49 -05:00
Andrew Tridgell
ba450de07c r3281: some compilers can't handle empty structures, so for empty IDL
structures generate a single _empty_ element in the header
(This used to be commit 00ff1ca1d284bb698e98c773b18a29695e927605)
2007-10-10 13:04:49 -05:00
Tim Potter
266e36aa54 r3204: Got unpacking of an array of PrinterInfo union elements working. Phew.
(This used to be commit f490cd719cc02589e73e26fa983aff90708d1926)
2007-10-10 13:04:40 -05:00
Tim Potter
1ca4b01031 r3196: Grr - add more useless dependencies to get swig wrappers to build.
(This used to be commit cc3f71c4658de6bb8216905d7657f6217dc55ba0)
2007-10-10 13:04:39 -05:00
Jelmer Vernooij
78e5bc76b6 r3163: Add server side support for ncalrpc: and ncacn_unix_stream:
Examples of binding strings are :

ncalrpc:[EPMAPPER]
ncacn_unix_stream:[/tmp/epmapper]

N.B. The unix socket support in lib/socket/ appears to close and remove the
socket it is listening on after the first client disconnects so until
that has been fixed, it is only possible to do one ncalrpc: or ncacn_unix_stream: request per instance of smbd :-)

Support for looking up NCALRPC names via the endpoint mapper will be added later.
(This used to be commit 426f3e63cae3d306dcdc13ee4b655eed30057ff8)
2007-10-10 13:02:28 -05:00
Jelmer Vernooij
40c5a1d99f r3162: Add client-side support for the ncalrpc: and ncacn_unix_stream: transports.
ncalrpc uses the new config option "ncalrpc dir" for creating unix sockets.
(This used to be commit b15cfbe2512961a199ecb069730d9a19787579f5)
2007-10-10 13:02:27 -05:00
Jelmer Vernooij
31403d548e r3043: Use binding strings for specifying endpoints. The property for
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-10 13:01:53 -05:00
Stefan Metzmacher
b1b8f49a5b r3041: a start of a README/HOWTO for the samba4 build system.
(still incomplete, but should be a good start...)

can someone look for spelling and grammar mistakes...

metze
(This used to be commit 66565187724c9f42367b590c29ff9775cc7472b4)
2007-10-10 13:00:01 -05:00
Andrew Tridgell
260b012f22 r3027: got rid of some configure checks we don't need any more
(This used to be commit 6a3f356b763b0577e2ad3e7ea74bee932c04a46b)
2007-10-10 12:59:59 -05:00
Tim Potter
605560149e r3022: Work on unmarshalling arrays of structs in a buffer (Python string) for
spoolss.  Doesn't quite work yet.
(This used to be commit 9045645ddf4eb8b5596d220ed936c8731641ef0a)
2007-10-10 12:59:59 -05:00
Tim Potter
c7a762bc74 r3009: Fix up unmarshall functions to return Python dict instead of a NTSTATUS.
We can now unmarshall a single printer returned from an EnumPrinters.
(This used to be commit 89da7a9196d40699881f12c9a5fe62301aafd4cf)
2007-10-10 12:59:56 -05:00
Tim Potter
addb2a9fd4 r3001: Expose unmarshalling functions for structures marked "public" in the
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-10 12:59:56 -05:00
Tim Potter
8f00427136 r2994: More cleanups. Move the generation of NTSTATUS and WERROR exceptions
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-10 12:59:55 -05:00
Jelmer Vernooij
fe15b46d61 r2990: Add support to pidl for autogenerating ndr_size_*() functions. Adding
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-10 12:59:55 -05:00
Andrew Tridgell
ddd1f092a5 r2988: this should fix support for negative switch levels in PIDL
(This used to be commit 21ed51d47f7efd493ad64b564fb6362ef8fb067f)
2007-10-10 12:59:55 -05:00
Andrew Tridgell
f1eaf60fa3 r2987: added support for signed 32 bit integers in pidl
(This used to be commit 24122eb93e39de8db3675618b6c227c95eb58d9c)
2007-10-10 12:59:54 -05:00
Tim Potter
dc2df2530f r2986: Add correct value to dict when generating wrapper for functions that
return WERROR values.

Clean up WERROR vs NTSTATUS handling a bit.
(This used to be commit e6756e3ee0af3e7e98f6deaf9dc83af9aac1b586)
2007-10-10 12:59:54 -05:00
Jelmer Vernooij
dc94f05f62 r2973: Allow comma's inside parentheses in property arguments
(This used to be commit ab2a788fe75ddaf8ff493477f2006a03959e6ab5)
2007-10-10 12:59:53 -05:00
Andrew Tridgell
da5cbd0886 r2968: fixed the byte order problem with the new RHS parsing on ncacn_ip_tcp
(This used to be commit cc00f9b6b87783d189df00de0ce9ae92b907e21a)
2007-10-10 12:59:53 -05:00
Tim Potter
1c4b87c788 r2966: Handle conversion of DATA_BLOB fields from Python in a slightly nicer
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-10 12:59:52 -05:00
Tim Potter
913d5df89e r2964: Add spoolss to list of wrapped client functions.
(This used to be commit 96d31ff19d2fa5b0c5a0ee23000a97cb77637968)
2007-10-10 12:59:52 -05:00
Tim Potter
1ddb14e22e r2963: Handle structures that contain more than one union as members.
(This used to be commit 6a47a079c003c2a139665ad2b5ede5d139049bd1)
2007-10-10 12:59:52 -05:00
Tim Potter
9fb065f2a6 r2962: Tweak to get conversion function for pointers to union compiling again.
(This used to be commit 8c9c94d578651c5884db0aa0feb6e16858274fbb)
2007-10-10 12:59:52 -05:00
Andrew Tridgell
bcd6d19c50 r2958: the warnings from the swig code in pidl were totally swamping valid
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-10 12:59:51 -05:00
Andrew Tridgell
0bd8d427d0 r2951: fixed the intptr_t test for discard_const()
(This used to be commit 3318cf2722597e57d1731152b2607f6b167e45b9)
2007-10-10 12:59:51 -05:00
Andrew Tridgell
8d0f79595b r2948: added support for the [range(low,high)] attribute in pidl. This allows
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-10 12:59:50 -05:00
Jelmer Vernooij
2e8b3926c6 r2933: Only pull a union once when it occurs in a subcontext
(This used to be commit 309623447eef9ae554e2f25713c2123ab578cc6e)
2007-10-10 12:59:49 -05:00
Andrew Tridgell
598e82e7ad r2900: rusty pointed out to me that discard_const() can be done via a macro
on systems that have the intptr_t type, and for systems that don't
have it, they also almost certainly won't have -Wcast-qual, so we can use a
void* cast.
(This used to be commit 2132d38f9c5ba59825558d5ba084a514ebc2626b)
2007-10-10 12:59:46 -05:00
Stefan Metzmacher
f210b98804 r2858: fix a few SMB_EXT_LIB_FROM_PKGCONFIG() bugs
metze
(This used to be commit 285d1ea4b09d4fc325544ad1b98244cc1046759c)
2007-10-10 12:59:39 -05:00
Tim Potter
9880410f1f r2806: Add winreg.i to dependencies for dcerpc.i
(This used to be commit dc43666135a0d9f3be9ebe588ffb24d29027c42c)
2007-10-10 12:59:36 -05:00
Tim Potter
b6c0f2cac2 r2805: Handle NULL pointers when converting structures to Python. All the
test cases up till now haven't come across them yet!
(This used to be commit 5fd3c12d4fe3e572618bcd71c5915f69539fe7e6)
2007-10-10 12:59:36 -05:00
Tim Potter
91346236c2 r2777: Correctly abort if an idl file fails to parse. Bloody perl...
(This used to be commit 35ff140b43b353a8848e417bb309046605e98085)
2007-10-10 12:59:32 -05:00
Tim Potter
cc2da2ad67 r2767: Get rid of some unnecessary %s formatting.
(This used to be commit b63a0ef0d41e6f0fdc6bf46435fb7b81925946da)
2007-10-10 12:59:31 -05:00
Tim Potter
db84d32d08 r2764: Use hand-written function for all occurrences of IDL strings, not just
those with a single pointer.
(This used to be commit c4c748ce63fd2d87d4388a1eac9afa586867ce28)
2007-10-10 12:59:31 -05:00
Jelmer Vernooij
b79602fab5 r2735: More DCOM updates:
- 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-10 12:59:27 -05:00
Jelmer Vernooij
8925932e81 r2704: Complain about 'object interfaces' that don't have version 0.0 (the 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-10 12:59:24 -05:00
Jelmer Vernooij
8c039e5c91 r2683: Fix a couple of compile warnings, depend on gtk+-2.4
(This used to be commit 4668384717eda878583477b8f455809056885120)
2007-10-10 12:59:21 -05:00
Andrew Tridgell
aeb9d1e1ad r2656: moved the seteuid configure tests into the posix backend (these tests
don't actually work yet, that will come later)
(This used to be commit 46b790c19da25ba88d29f555f828688bb05e531d)
2007-10-10 12:59:17 -05:00
Tim Potter
00e05a0b8b r2582: Merge checks for xattr and acl libraries from Samba3 so the {get,set}ntacl
programs can build on non-xattr machines.
(This used to be commit daad76207dbb4060c231a58c99970e837e1e858f)
2007-10-10 12:59:07 -05:00
Tim Potter
5821c39553 r2560: Don't require structure fields that have the pidl value() property
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-10 12:59:06 -05:00
Tim Potter
42b5bdf75f r2496: Check that reference parameters are not None.
(This used to be commit a2ab6c5ef9cc6db27fc8c73e6117f0f7a116d563)
2007-10-10 12:58:58 -05:00