summaryrefslogtreecommitdiff
path: root/source3/tdb
AgeCommit message (Collapse)AuthorFilesLines
2007-10-10r14030: Fix resource leak in error codepath. Coverity CID #64.Jeremy Allison1-2/+6
Jeremy. (This used to be commit b51edde4d63e9b2f241f41b6780b026487890a7f)
2007-10-10r14026: Fix resource leak on error exit. Coverity CID #65.Jeremy Allison1-0/+2
Jeremy. (This used to be commit 3a1c4cb93dc262028ffbebd9ebeed69f4816cf09)
2007-10-10r13915: Fixed a very interesting class of realloc() bugs found by Coverity.Jeremy Allison1-4/+7
realloc can return NULL in one of two cases - (1) the realloc failed, (2) realloc succeeded but the new size requested was zero, in which case this is identical to a free() call. The error paths dealing with these two cases should be different, but mostly weren't. Secondly the standard idiom for dealing with realloc when you know the new size is non-zero is the following : tmp = realloc(p, size); if (!tmp) { SAFE_FREE(p); return error; } else { p = tmp; } However, there were *many* *many* places in Samba where we were using the old (broken) idiom of : p = realloc(p, size) if (!p) { return error; } which will leak the memory pointed to by p on realloc fail. This commit (hopefully) fixes all these cases by moving to a standard idiom of : p = SMB_REALLOC(p, size) if (!p) { return error; } Where if the realloc returns null due to the realloc failing or size == 0 we *guarentee* that the storage pointed to by p has been freed. This allows me to remove a lot of code that was dealing with the standard (more verbose) method that required a tmp pointer. This is almost always what you want. When a realloc fails you never usually want the old memory, you want to free it and get into your error processing asap. For the 11 remaining cases where we really do need to keep the old pointer I have invented the new macro SMB_REALLOC_KEEP_OLD_ON_ERROR, which can be used as follows : tmp = SMB_REALLOC_KEEP_OLD_ON_ERROR(p, size); if (!tmp) { SAFE_FREE(p); return error; } else { p = tmp; } SMB_REALLOC_KEEP_OLD_ON_ERROR guarentees never to free the pointer p, even on size == 0 or realloc fail. All this is done by a hidden extra argument to Realloc(), BOOL free_old_on_error which is set appropriately by the SMB_REALLOC and SMB_REALLOC_KEEP_OLD_ON_ERROR macros (and their array counterparts). It remains to be seen what this will do to our Coverity bug count :-). Jeremy. (This used to be commit 1d710d06a214f3f1740e80e0bffd6aab44aac2b0)
2007-10-10r13792: Merged Simo's fixes for tdbtraverse.Jeremy Allison1-2/+2
Jeremy. (This used to be commit 9ed3bd431c8b8073e177df463e254cf45529bed6)
2007-10-10r13197: Add -k switch to dump the data of a single key.Lars Müller1-5/+41
(This used to be commit 23503ff45f2a377728bc5ebb1e6db2755bb5ca2b)
2007-10-10r12760: Fix bug 3384Volker Lendecke1-0/+30
(This used to be commit 9d366da172a13fe9fd6e940f95d58dac534f3b31)
2007-10-10r12713: Remove use of uint8_t -> uint8.Jeremy Allison1-3/+3
Jeremy. (This used to be commit 4473ac4ef9c86574fc49b1e67089b59b14b6d10d)
2007-10-10r11137: Compile with only 2 warnings (I'm still working on that code) on a gcc4Jeremy Allison3-4/+4
x86_64 box. Jeremy. (This used to be commit d720867a788c735e56d53d63265255830ec21208)
2007-10-10r10656: BIG merge from trunk. Features not copied overGerald Carter3-9/+14
* \PIPE\unixinfo * winbindd's {group,alias}membership new functions * winbindd's lookupsids() functionality * swat (trunk changes to be reverted as per discussion with Deryck) (This used to be commit 939c3cb5d78e3a2236209b296aa8aba8bdce32d3)
2007-10-10r10355: Merge back the clear-if-first fix from Samba4. Couldn't wait tridge, ↵Jeremy Allison1-6/+5
sorry :-). Jeremy. (This used to be commit b1722b7bd1eaabb725218a4fc5c8b012f0a1a0af)
2007-10-10r9852: Add tridge's Samba4 tdb optimisations.Jeremy Allison1-0/+48
Jeremy. (This used to be commit cfe5a7e5f8eccecf8876c36ddeb0f6e91eb6aac4)
2007-10-10r9738: Adapt tdb_torture to the new CLEAR_IF_FIRST semantics. We need one parentVolker Lendecke1-33/+33
process holding the active if two cluster nodes access the same tdb. Volker (This used to be commit cbc66cc3cab0e1db31402505214c83e1be92663b)
2007-10-10r9095: Add crude chainlength statistics to the crude tdbtool.Volker Lendecke1-0/+4
Volker (This used to be commit 5e6fef32b372e20cb570c578e2044e89f9ee45b3)
2007-10-10r8595: Delete unused prototypes.Tim Potter1-2/+0
(This used to be commit c525c276c3bebd97f2c86684bd248ed00e889349)
2007-10-10r7882: Looks like a large patch - but what it actually does is make SambaJeremy Allison1-2/+2
safe for using our headers and linking with C++ modules. Stops us from using C++ reserved keywords in our code. Jeremy (This used to be commit 9506b8e145982b1160a2f0aee5c9b7a54980940a)
2007-10-10r7640: Fix based on work from "Shlomi Yaakobovich" <Shlomi@exanet.com> to catchJeremy Allison1-6/+7
loops in corrupted tdb files. Jeremy. (This used to be commit b438cb0a85217c978f1d7cb9f2a4fd97f38a3193)
2007-10-10r7139: trying to reduce the number of diffs between trunk and 3.0; changing ↵Gerald Carter2-8/+45
version to 3.0.20pre1 (This used to be commit 9727d05241574042dd3aa8844ae5c701d22e2da1)
2007-10-10r7025: 1 if not all data is available at the time we go to read a packet, retryDerrell Lipman1-10/+17
the read using a timeout to ensure that all data for the packet is received. 2 some minor changes to meet coding standards 3 eliminate some compiler warnings (This used to be commit 7b4d4f6109d815ec70c65564435d7d9bd22f66d9)
2007-10-10r6623: This change fixes a few broken commands plus adds someHerb Lewis3-215/+324
new commands. It also restructures it so you can execute a single command from the command line. Input strings are parsed to allow input of arbitrary characters using the \xx syntax for hex values. (This used to be commit 94e53472666edfb390605b8a7e9f9dffc3c845f5)
2007-10-10r6235: Partial fix for bugid #2581. Ensure if realloc fails on an internalJeremy Allison1-3/+8
tdb we fail gracefully. Jeremy. (This used to be commit 28772dfca1f9e7afd01f7ea522cb2e697c318e22)
2007-10-10r6225: get rid of warnings from my compiler about nested externsHerb Lewis1-2/+3
(This used to be commit efea76ac71412f8622cd233912309e91b9ea52da)
2007-10-10r6149: Fixes bugs #2498 and 2484.Derrell Lipman2-3/+3
1. using smbc_getxattr() et al, one may now request all access control entities in the ACL without getting all other NT attributes. 2. added the ability to exclude specified attributes from the result set provided by smbc_getxattr() et al, when requesting all attributes, all NT attributes, or all DOS attributes. 3. eliminated all compiler warnings, including when --enable-developer compiler flags are in use. removed -Wcast-qual flag from list, as that is specifically to force warnings in the case of casting away qualifiers. Note: In the process of eliminating compiler warnings, a few nasties were discovered. In the file libads/sasl.c, PRIVATE kerberos interfaces are being used; and in libsmb/clikrb5.c, both PRIAVE and DEPRECATED kerberos interfaces are being used. Someone who knows kerberos should look at these and determine if there is an alternate method of accomplishing the task. (This used to be commit 994694f7f26da5099f071e1381271a70407f33bb)
2007-10-10r6127: Eliminated all compiler warnings pertaining to mismatched ↵Derrell Lipman2-3/+3
"qualifiers". The whole of samba comiles warning-free with the default compiler flags. Temporarily defined -Wall to locate other potential problems. Found an unused static function (#ifdefed out rather than deleted, in case it's needed for something in progress). There are also a number of uses of undeclared functions, mostly krb5_*. Files with these problems need to have appropriate header files included, but they are not fixed in this update. oplock_linux.c.c has undefined functions capget() and capset(), which need to have "#undef _POSIX_SOURCE" specified before including <sys/capability.h>, but that could potentially have other side effects, so that remains uncorrected as well. The flag -Wall should be added permanently to CFLAGS, and all warnings then generated should be eliminated. (This used to be commit 5b19ede88ed80318e392f8017f4573fbb2ecbe0f)
2007-10-10r5861: Apply some constVolker Lendecke1-2/+2
(This used to be commit d89b40e9b175b194cc7bdbc0277083efff89699c)
2007-10-10r5767: Get rid of some compiler warningsVolker Lendecke1-1/+6
(This used to be commit 66471de977a56cbe58921f61da28cc7dcbc6e93e)
2007-10-10r5532: Patch to detect infinite loops when traversing a tdb from "Shlomi ↵Jeremy Allison1-0/+7
Yaakobovich" <Shlomi@exanet.com> Jeremy. (This used to be commit f997c28bb8ca253dca943a578a617b3c20ccfa5e)
2007-10-10r4088: Get medieval on our ass about malloc.... :-). Take control of all our ↵Jeremy Allison3-3/+40
allocation functions so we can funnel through some well known functions. Should help greatly with malloc checking. HEAD patch to follow. Jeremy. (This used to be commit 620f2e608f70ba92f032720c031283d295c5c06a)
2007-10-10r3772: BUG 2006: patch from Michel Gravey <michel.gravey@optogone.com>; fix ↵Gerald Carter1-1/+1
build when using gcc 3.0 (This used to be commit 1bc79a28080f2ff783b49e5cf3adfdfc4a4940ee)
2007-10-10r2999: Remove lockedkeys code. Not used.Jeremy Allison2-72/+0
Jeremy. (This used to be commit c3e87f9fa53b0be1dea5dad5cddd71d2617c3cf6)
2007-10-10r2979: Fix incorrect locks/unlocks in tdb_lockkeys()/tdb_unlockkeys().Jeremy Allison1-4/+4
Spotted by Taj Khattra <taj.khattra@gmail.com>. Jeremy. (This used to be commit 365b203164bc813579013afb5dbb74f3604906c9)
2007-10-10r2924: Another #if that should be an #ifdef.Tim Potter1-2/+2
(This used to be commit b6193f6d52a148c05b6b7cc33553f3b8ff94b64e)
2007-10-10r2248: Merge of tridge's PRINTF_ATTRIBUTE fixes from samba4.Tim Potter1-0/+8
(This used to be commit 53bfb76608efa347d5fe154c5583a5e8e3d53740)
2007-10-10r2239: Fixup formatting errors in TDB_LOG calls. Add printf attribute ↵Jim McDonough2-2/+5
support to tdb log functions. (This used to be commit 67c737118faaeae9bd723516ea60657046e135a8)
2007-10-10r2131: Fixup format string. The magic value format specifier was missing, soJim McDonough1-1/+1
the logged offset was really the magic value, and the true offset was never displayed. (This used to be commit 30da4e777191c557226d5615cee5a9e28b198a8b)
2007-10-10r2032: If you're selecting a hash algorithm for tdb, you need to do it at ↵Jeremy Allison3-11/+7
open time, it doesn't make sense anywhere else. Jeremy. (This used to be commit d7ea1ea8fb3420ca1ad8d95acdc43313898200ff)
2007-10-10r2026: Simplify statcache to use an in-memory tdb. Modify tdb to useJeremy Allison2-26/+34
a customer hash function for this tdb (yes it does make a difference on benchmarks). Remove the no longer used hash.c code. Jeremy. (This used to be commit 3fbadac85b8cad89b93d295968e99c38c8677575)
2007-10-10r923: Fixes so tdbtool and tdbtest can be built. Added build specs for ↵John Terpstra1-1/+4
tdbdump and tdbbackup. (This used to be commit c5dc3da3406541891f412d32c292765d7b650f0f)
2007-10-10r39: * importing .cvsignore filesGerald Carter1-11/+0
* updateing WHATSNEW with vl's change (This used to be commit a7e2730ec4389e0c249886a8bfe1ee14c5abac41)
2004-03-28merge tdb changes from samba4 - this means tdb is now under the LGPL, as ↵Andrew Tridgell3-44/+64
discussed and agreed previously (This used to be commit 9d1a08d65c4235a2a3941bba5b71631c4c35c9b7)
2004-03-07Merge from HEAD.Tim Potter1-1/+0
(This used to be commit 1bba071126b46032c97154fbf77242e15bcc5fa3)
2004-02-27Added copyrights I forgot about looong ago...Rafal Szczesniak2-2/+4
rafal (This used to be commit 33d1e2dd63e3dbf592a666ae48bc013a8198d008)
2004-02-19Fix the "too many fcntl locks" scalability problem raised by tridge.Jeremy Allison2-11/+23
I've now tested this in daemon mode and also on xinetd and I'm pretty sure it's working. Jeremy. (This used to be commit 14dee038019b11300466b148c53515fc76e5e870)
2004-02-01Don't log an error in tdb_brlock() if a non-blocking lock returns EAGAIN -Tim Potter1-4/+8
it's supposed to do that. (This used to be commit 2423a459471136d701b498ff0db797c70c6d0fce)
2004-01-08In tdb_allocate(), we would create a new record by writing a local variableAndrew Bartlett1-0/+2
'newrec' into the tdb. This was not initialised, so valgrind warned about it. (Note: valgrind only makes sense on tdbs with 'mmap = no' in your smb.conf) Andrew Bartlett (This used to be commit c9f9d6d3171d720b4ec0ba6af8c0c8ab178cd98b)
2003-12-09IRIX spinlock patch from James Peach <jpeach@sgi.com>.Jeremy Allison1-0/+45
Jeremy. (This used to be commit 1ae1987a002716e8aa0d4bc0dd68f580ad762e47)
2003-10-24Add some debugs in the error paths for tdb_brlock() to help track downTim Potter1-1/+6
a locking problem on HPUX. (This used to be commit 2d03d81f753fd819086d24a92eec5503f70246a0)
2003-10-18fixed spinlocks in tdbAndrew Tridgell4-3/+10
I still wouldn't recommend them, but at least they now work (This used to be commit 76992e7d1655ed15d61254f2be651db020ec4f5e)
2003-10-06split some security related functions in their own files.Simo Sorce1-2/+1
(no need to include all of smbd files to use some basic sec functions) also minor compile fixes couldn't compile to test these due to some kerberos problems wirh 3.0, but on HEAD they're working well, so I suppose it's ok to commit (This used to be commit c78f2d0bd15ecd2ba643bb141cc35a3405787aa1)
2003-10-02Portability fixes from schmitz@hp.com (Joachim Schmitz). Bug #549.Jeremy Allison2-0/+23
Jeremy. (This used to be commit 93669f329eccec34d4a1da6239ae9759f067fb8b)
2003-09-22fix some warnings found by the Sun C compilerGerald Carter1-2/+2
(This used to be commit e1fac713e25692a5790c3261ba323732930f5249)