summaryrefslogtreecommitdiff
path: root/source4/lib
AgeCommit message (Collapse)AuthorFilesLines
2007-10-10r3443: the next stage in the include files re-organisation.Andrew Tridgell14-89/+166
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)
2007-10-10r3441: some include file cleanups and general housekeepingAndrew Tridgell11-315/+38
(This used to be commit 73ea8ee6c268371d05cf74160f2ad451dd2ae699)
2007-10-10r3428: switched to using minimal includes for the auto-generated RPC code.Andrew Tridgell1-0/+1
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-10r3425: got rid of a bunch of cruft from rewrite.hAndrew Tridgell1-0/+8
(This used to be commit 3f902f8d851d32fa81d89ed61bfda6edaea00984)
2007-10-10r3421: got rid of some unused codeAndrew Tridgell1-30/+0
(This used to be commit 0333f417a86a54a328ca9bd908076f9fe8405dc7)
2007-10-10r3374: Couple of bug fixesJelmer Vernooij1-1/+1
(This used to be commit f8e45e143087d333da4afc193b4fa1991ba04c63)
2007-10-10r3370: Initial work on Add Key/Delete Key/Add Value/Mod Value/Del Value ↵Jelmer Vernooij1-4/+4
support in gregedit (This used to be commit 33f429c61f2859e3ad60fa38823174bbd331d91a)
2007-10-10r3369: More registry updatesJelmer Vernooij1-3/+73
We now pass the RPC-WINREG torture test. Also, constructions like the following work now: regtree <-> smbd <-> NTUSER.DAT (This used to be commit df952e95cd1cbbfb62b4620e9452993aaef44ad3)
2007-10-10r3368: Default to rpc backend with binding "ncalrpc:" if no backend was ↵Jelmer Vernooij6-13/+24
specified in the various registry tools. Allow opening a remote registry to partly fail (I.e. if not all hives could be opened) (This used to be commit 313034b10d7a70d079e2bec1af38cf2a7cd918c1)
2007-10-10r3367: More registry updates.Jelmer Vernooij3-3/+44
Add support flush_key and close_hive. (This used to be commit c526273df238c994c4de3c1704c6e95433f2331c)
2007-10-10r3366: updates from the junkcode version of talloc.Andrew Tridgell1-5/+7
The main change is to get rid of talloc_parent_chunk() from all commonly used code paths, so talloc_free() is now O(1) again. It was originally O(1), but the last round of changes broke that. Also some documentation updates (This used to be commit d4fe21cdb982c8046b19f671d872b43cdd2efc72)
2007-10-10r3360: improved the deletion of tmp files. smbd now puts all tmp files in ↵Andrew Tridgell2-3/+26
var/locks/smbd.tmp/ and deletes that dir on startup. (This used to be commit 7e942e7f1bd2c293a0e6648df43a96f8b8a2a295)
2007-10-10r3357: removed the need to use TDB_CLEAR_IF_FIRST in Samba4.Andrew Tridgell1-6/+9
We found a few months ago that TDB_CLEAR_IF_FIRST is extremely inefficient for large numbers of connections, due to a fundamental limitation in the way posix byte range locking is implemented. Rather than the nasty workaround we had for Samba3, we now have a single "cleanup tmp files" function that runs when smbd starts. That deletes the tmp tdbs, so TDB_CLEAR_IF_FIRST is not needed at all. (This used to be commit ffa285bc783c775a2d53a58fb691ca339e6c76ae)
2007-10-10r3356: in the standard process model we need to make sure we close allAndrew Tridgell1-0/+22
listening sockets after the fork to prevent the child still listening on incoming requests. I have also added an optimisation where we use dup()/close() to lower the file descriptor number of the new socket to the lowest possible after closing our listening sockets. This keeps the max fd num passed to select() low, which makes a difference to the speed of select(). (This used to be commit f2a9bbc317ba86ebe87c3ca27a3a0192de91014d)
2007-10-10r3348: More registry fixes and additions. The following functions work right ↵Jelmer Vernooij3-7/+50
now against samba 4, at least with a ldb backend: winreg_Open* winreg_OpenKey winreg_EnumKey winreg_DeleteKey winreg_CreateKey (This used to be commit a71d51dd3b136a1bcde1704fe9830985e06bb01b)
2007-10-10r3340: Various fixes in the registry code. Implement the EnumKey callJelmer Vernooij3-3/+9
in the server. (This used to be commit da65a248c292a90342e1394ee4132ef2c7afd3c8)
2007-10-10r3335: better configure support for ipv6 - thanks to a quick tutorial from metzeAndrew Tridgell1-1/+7
(This used to be commit 76c4ba6d29a6ad1e21c2d7674e1f323e8d53d627)
2007-10-10r3334: Allow disabling IPv6 support using socket:noipv6Jelmer Vernooij1-0/+4
(This used to be commit 9c13f42c1fd489a6a663f614a41c59730c18a054)
2007-10-10r3333: added configure tests for ipv6 supportAndrew Tridgell2-1/+8
(This used to be commit 9794570c6d0646cc34147bf8128802b181f658f0)
2007-10-10r3329: Add support for IPv6Jelmer Vernooij4-0/+373
(This used to be commit d8298901243ca4ce2ec420fa523c8e1407e72513)
2007-10-10r3323: more warning reductionsAndrew Tridgell7-46/+27
(This used to be commit 5921587ec26e4892efc678421277e4969417d7f5)
2007-10-10r3322: fixed a bunch of warnings in the build, including one case where it ↵Andrew Tridgell1-5/+5
was a real bug (This used to be commit 02d5d0f685e44bd66aff4a007f0bf34c8f915574)
2007-10-10r3318: generate random STATUS_MORE_ENTRIES errors (1 in 10 packets) as wellAndrew Tridgell1-2/+10
as randomly short recv/send when socket:testnonblock is enabled (This used to be commit 718175a265d34bfdbcbf0cc6b55dbf6b389f3194)
2007-10-10r3314: added a option "socket:testnonblock" to the generic socket code. IfAndrew Tridgell5-14/+31
you set this option (either on the command line using --option or in smb.conf) then every socket recv or send will return short by random amounts. This allows you to test that the non-blocking socket logic in your code works correctly. I also removed the flags argument to socket_accept(), and instead made the new socket inherit the flags of the old socket, which makes more sense to me. (This used to be commit 406d356e698da01c84e8aa5b7894752b4403f63c)
2007-10-10r3313: in socket_accept() make the new socket non-blocking unless ↵Andrew Tridgell2-0/+16
SOCKET_FLAG_BLOCK is set. (This used to be commit a2d92aa431e0e9752387eebe741d9e6f376f74d7)
2007-10-10r3304: changed the API to lib/socket/ a little.Andrew Tridgell5-81/+41
The main change is to make socket_recv() take a pre-allocated buffer, rather than allocating one itself. This allows non-blocking users of this API to avoid a memcpy(). As a result our messaging code is now about 10% faster, and the ncacn_ip_tcp and ncalrpc code is also faster. The second change was to remove the unused mem_ctx argument from socket_send(). Having it there implied that memory could be allocated, which meant the caller had to worry about freeing that memory (if for example it is sending in a tight loop using the same memory context). Removing that unused argument keeps life simpler for users. (This used to be commit a16e4756cd68ca8aab4ffc59d4d9db0b6e44dbd1)
2007-10-10r3300: initialise *sendlen on failure, to allow for callers to check only forAndrew Tridgell1-0/+2
NT_STATUS_IS_ERR() (This used to be commit 80a109de8458420ac0b40c563f4b3bc51424d759)
2007-10-10r3279: Removed MSG_DONTWAIT flags as many platform don't have it.Andrew Tridgell2-19/+1
If a socket is non-blocking then adding MSG_DONTWAIT is pointless (it does nothing), so all we lose is the ability to set non-blocking on a packet-by-packet basis, which is not a very useful thing to have anyway if the socket is blocking then the code already adds MSG_WAITALL, so MSG_DONTWAIT is also not needed in that case. (This used to be commit b8a2afae67691a609b4a7a577fee3f9518adc9d2)
2007-10-10r3278: - rewrote the client side rpc connection code to use lib/socket/Andrew Tridgell7-125/+54
rather than doing everything itself. This greatly simplifies the code, although I really don't like the socket_recv() interface (it always allocates memory for you, which means an extra memcpy in this code) - fixed several bugs in the socket_ipv4.c code, in particular client side code used a non-blocking connect but didn't handle EINPROGRESS, so it had no chance of working. Also fixed the error codes, using map_nt_error_from_unix() - cleaned up and expanded map_nt_error_from_unix() - changed interpret_addr2() to not take a mem_ctx. It makes absolutely no sense to allocate a fixed size 4 byte structure like this. Dozens of places in the code were also using interpret_addr2() incorrectly (precisely because the allocation made no sense) (This used to be commit 7f2c771b0e0e98c5c9e5cf662592d64d34ff1205)
2007-10-10r3271: use "struct messaging_context *" instead of "void *" in messaging APIAndrew Tridgell1-22/+19
(This used to be commit cc93813e4a09c538ad485dc2b3cb4c9be34f3d18)
2007-10-10r3267: make LIBTDB depend on LIBREPLACE. This is needed for building the tdb ↵Andrew Tridgell1-0/+2
tools on Solaris. (This used to be commit c5d338d06137fe7464849df02671d8ab833e3b4e)
2007-10-10r3261: added seek to RAW-SEARCH testAndrew Tridgell1-10/+19
(This used to be commit 05530bfb99011db8a00f5debcf8eec19b5e8a5d6)
2007-10-10r3238: rename null_mtime() to the more accurate name "null_time()", andAndrew Tridgell1-7/+7
expose it for use by the posix backend (This used to be commit 687633b5d68c8f883a4d9cdd92c660dabc5d7cfa)
2007-10-10r3223: continue the effort on LIBREPLACE to try to get the ldb tools toAndrew Tridgell3-34/+35
compile on platforms like solaris without having to link to the whole of the Samba4 lib directory. (This used to be commit f6862bfc1cbc9278914b4b73365f63d3da0a08dd)
2007-10-10r3210: split lib/replace.o into a separate build subsystem LIBREPLACE, andAndrew Tridgell5-35/+44
make the ldb tools depend on it. This should help the build of the ldb tools on platforms without strnlen() or strndup() (This used to be commit e6ddb9d8f3a218b22b0176a2525b5daaca7170e4)
2007-10-10r3184: don't setup socket options on unix domain sockets (our smb.conf ↵Andrew Tridgell1-1/+0
socket options are really meant for tcp) (This used to be commit 238febb0088f85933c869052f4f83ff31f164df1)
2007-10-10r3183: moved the unlink of the messaging unixdom socket to the messaging ↵Andrew Tridgell2-9/+1
destructor (This used to be commit ab222b236a091d31b1f5f2cba150a11585ab5836)
2007-10-10r3169: unlink() is called on the listening unix socket every time a child ↵Jelmer Vernooij1-0/+4
process exits. Commenting it out until we have a clean way of doing this. (This used to be commit fa0760dd5fa361be3b72dc4adc8b736e8a862606)
2007-10-10r3164: Look up ncalrpc identifiers using the EPMAPPER. ncalrpc now works ↵Jelmer Vernooij1-1/+6
nicely :-) The various interface that support ncalrpc work nicely when tested with smbtorture and ncalrpc. Running RPC-SAMR against local smbd here is slightly faster using ncalrpc: ncalrpc: 1.8 sec ncacn_ip_tcp: 1.9 sec ncacn_np: 2.5 sec (This used to be commit 2cfc8f24ce209f47153d3a5bd7007dd1b0578b26)
2007-10-10r3130: - added a LOCAL-IDTREE test suiteAndrew Tridgell1-31/+37
- made idtree return a "struct idr_context *" instead of a void* - more efficient idr_remove for ids that are not present (patch from Jim Houston) (This used to be commit f8d12d4b4ae5a38de7869deb782cb8f48504844c)
2007-10-10r3102: typoStefan Metzmacher1-1/+1
metze (This used to be commit 3bbda7475a63f939019a41a0b7da8d179c533d79)
2007-10-10r3101: some minor fixesStefan Metzmacher1-8/+9
metze (This used to be commit 61de2229e27c55041cb4e1aac32bc1d8ed68a05c)
2007-10-10r3100: support 'bin/smbclient //w2k3-101/c$ -U ↵Stefan Metzmacher2-2/+7
\\administrator@w2k3.vmnet1.vm.base' we need to send an empty string as userdomain in this case. fix bug #1317 in the client side metze (This used to be commit 958aa8de630b2a88f29ccdf80ac0fc44a8205401)
2007-10-10r3095: - fix a free'ing of msg.dnStefan Metzmacher3-8/+8
- reenable index tests metze (This used to be commit 1e7e94fdb10db831090f9bd37e39053dfcde04ce)
2007-10-10r3093: - implment ldb_rename() and ldbrenameStefan Metzmacher9-13/+271
- add tests for ldbrename - disable all tests which regenerate the index (this is broken for me...the process hangs, tridge we need to discuss that) - link only the needed stuff to the ldb tools - build ldbtest inside samba metze (This used to be commit 18552f4786c24e0019cc87726ef4c05365fe586e)
2007-10-10r3092: prepare for build inside sambaStefan Metzmacher1-4/+4
metze (This used to be commit f7564bf4d2efb702cf3d11237fbe2adf5efb1ebf)
2007-10-10r3091: link only the needed stuffStefan Metzmacher1-2/+2
metze (This used to be commit 71ccac56c21635e7f6eb8d558230f637f50149ad)
2007-10-10r3089: fix memleakStefan Metzmacher1-0/+1
metze (This used to be commit 52eab8dc17a1cd1a8c0382ab8d6e7f6c7ddeea19)
2007-10-10r3073: Fix bug in the handling of null-terminated ASCII strings in RPC.Andrew Bartlett1-0/+18
Because we didn't count the null terminator, we would not move past it in the packet. Andrew Bartlett (This used to be commit 8b38bffc7098610c469ab61b7e0e6884f046f286)
2007-10-10r3064: - use UINT8_MAX and UINT16_MAX instead of hex values for ↵Andrew Tridgell1-2/+2
idr_get_new() limits - change idr_get_new() to use > instead of >= in the limit check (This used to be commit 834b09929bcb8aabdd151b7c2306001497cabdb4)