Age | Commit message (Collapse) | Author | Files | Lines |
|
- add support for strings where the length excludes the NULLTERM
metze
(This used to be commit 8251d8b3e5af351972aa41aed63f7a7d2640910e)
|
|
the usage of external libraries.
(works currently only with the pkg-config detected libs)
metze
(This used to be commit 2640f2f57a4d56e07d946d7bb48d2a0ea110d06e)
|
|
(This used to be commit f9038ee62f623ea07ca4c320b979e876464dcc96)
|
|
metze
(This used to be commit e12595a750ea3f5ccc1ca8e628b707c0753394d7)
|
|
(This used to be commit f4c04fcf8f185b966c4ceb455aef4e9e54a98897)
|
|
(This used to be commit 8afc2b3bc19c627f7b970ee6ce0480039ed5d3cb)
|
|
total include lines in compiling C files in Samba (the .gch file is
now 5M instead of 12M)
This also gets rid of the silly gtk compile warning for non-gtk code
(This used to be commit 8ebd20cf551c8c1fad98ec723d91873fa202b85a)
|
|
I have created the include/system/ directory, which will contain the
wrappers for the system includes for logical subsystems. So far I have
created include/system/kerberos.h and include/system/network.h, which
contain all the system includes for kerberos code and networking code.
These are the included in subsystems that need kerberos or networking
respectively.
Note that this method avoids the mess of #ifdef HAVE_XXX_H in every C
file, instead each C module includes the include/system/XXX.h file for
the logical system support it needs, and the details are kept isolated
in include/system/
This patch also creates a "struct ipv4_addr" which replaces "struct
in_addr" in our code. That avoids every C file needing to import all
the system networking headers.
(This used to be commit 2e25c71853f8996f73755277e448e7d670810349)
|
|
(This used to be commit 8e25117103b0339441bc6328176ed34034005528)
|
|
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)
|
|
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)
|
|
(This used to be commit edbd789abb505accd3e72863d13acd2603d991f6)
|
|
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)
|
|
(This used to be commit 009488dfe55f5219b24c30222b1a8bf411a7e939)
|
|
auto-prototype objects, using
SMB_SUBSYSTEM_NOPROTO()
(This used to be commit e6b69183de785641144f9abb1853cab73c70073e)
|
|
(This used to be commit 12e037dbe3d497aff2415c0a22fab20a7932ab7a)
|
|
(This used to be commit deaa5159f41a8841d75801b441e7bd5cf2636870)
|
|
(This used to be commit 5dcb300fca592cc62d325c47c857b046c90e7b42)
|
|
unmarshalling arrays.
(This used to be commit ee535b6801e553d0a180f18cc2c4b4438ee23de1)
|
|
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)
|
|
structures generate a single _empty_ element in the header
(This used to be commit 00ff1ca1d284bb698e98c773b18a29695e927605)
|
|
(This used to be commit f490cd719cc02589e73e26fa983aff90708d1926)
|
|
(This used to be commit cc3f71c4658de6bb8216905d7657f6217dc55ba0)
|
|
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)
|
|
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)
|
|
(still incomplete, but should be a good start...)
can someone look for spelling and grammar mistakes...
metze
(This used to be commit 66565187724c9f42367b590c29ff9775cc7472b4)
|
|
(This used to be commit 6a3f356b763b0577e2ad3e7ea74bee932c04a46b)
|
|
spoolss. Doesn't quite work yet.
(This used to be commit 9045645ddf4eb8b5596d220ed936c8731641ef0a)
|
|
We can now unmarshall a single printer returned from an EnumPrinters.
(This used to be commit 89da7a9196d40699881f12c9a5fe62301aafd4cf)
|
|
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)
|
|
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)
|
|
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)
|
|
(This used to be commit 21ed51d47f7efd493ad64b564fb6362ef8fb067f)
|
|
(This used to be commit 24122eb93e39de8db3675618b6c227c95eb58d9c)
|
|
return WERROR values.
Clean up WERROR vs NTSTATUS handling a bit.
(This used to be commit e6756e3ee0af3e7e98f6deaf9dc83af9aac1b586)
|
|
(This used to be commit ab2a788fe75ddaf8ff493477f2006a03959e6ab5)
|
|
(This used to be commit cc00f9b6b87783d189df00de0ce9ae92b907e21a)
|
|
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)
|
|
(This used to be commit 96d31ff19d2fa5b0c5a0ee23000a97cb77637968)
|
|
(This used to be commit 6a47a079c003c2a139665ad2b5ede5d139049bd1)
|
|
(This used to be commit 8c9c94d578651c5884db0aa0feb6e16858274fbb)
|
|
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)
|
|
(This used to be commit 3318cf2722597e57d1731152b2607f6b167e45b9)
|
|
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)
|
|
(This used to be commit 309623447eef9ae554e2f25713c2123ab578cc6e)
|
|
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)
|
|
metze
(This used to be commit 285d1ea4b09d4fc325544ad1b98244cc1046759c)
|
|
(This used to be commit dc43666135a0d9f3be9ebe588ffb24d29027c42c)
|
|
test cases up till now haven't come across them yet!
(This used to be commit 5fd3c12d4fe3e572618bcd71c5915f69539fe7e6)
|