1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-27 14:04:05 +03:00

291 Commits

Author SHA1 Message Date
James Peach
826614ed16 r15508: Use clock_gettime for profiling timstamps if it is available. Use
the fastest clock available on uniprocessors.
(This used to be commit d44862928206b524f826bd7c2997ab5353c0b6a0)
2007-10-10 11:16:55 -05:00
James Peach
584ac985ec r15448: New autoconf macro to test for sysconf variables.
(This used to be commit a19d4f2bb4aa94ab40e371efbad9f17e38e3bbc4)
2007-10-10 11:16:46 -05:00
Volker Lendecke
30832e95dc r15104: Implement Samba4's tdb_name().
Volker
(This used to be commit d52002c1c9d28e637ca4d1553e800b0b97790f36)
2007-10-10 11:16:23 -05:00
Volker Lendecke
e17302200c r15101: Little step towards getting Samba4 tdb into 3: tdb_lock_bystring does not
have the timeout argument in Samba4. Add a new routine
tdb_lock_bystring_with_timeout.

Volker
(This used to be commit b9c6e3f55602fa505859a4b2cd137b74105d685f)
2007-10-10 11:16:23 -05:00
Jeremy Allison
4ee43dbd47 r14954: Fix #3569 based on William Jojo's work. AIX also
has the linear posix locking issue which causes
CLEAR_IF_FIRST to cause performance problems.
As we know we're in a daemon architecture with
long-lived parent we can avoid this in the Samba
case. Add a comment explaining this.
Jeremy.
(This used to be commit 3cd5c3df0d1b98dfa90663973ab13b5d3dbf737e)
2007-10-10 11:15:55 -05:00
Jeremy Allison
8f0bdb9c4e r14030: Fix resource leak in error codepath. Coverity CID #64.
Jeremy.
(This used to be commit b51edde4d63e9b2f241f41b6780b026487890a7f)
2007-10-10 11:11:06 -05:00
Jeremy Allison
6b591819dd r14026: Fix resource leak on error exit. Coverity CID #65.
Jeremy.
(This used to be commit 3a1c4cb93dc262028ffbebd9ebeed69f4816cf09)
2007-10-10 11:11:06 -05:00
Jeremy Allison
894358a8f3 r13915: Fixed a very interesting class of realloc() bugs found by Coverity.
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-10 11:10:59 -05:00
Jeremy Allison
ac02620581 r13792: Merged Simo's fixes for tdbtraverse.
Jeremy.
(This used to be commit 9ed3bd431c8b8073e177df463e254cf45529bed6)
2007-10-10 11:10:54 -05:00
Lars Müller
0f46bfdce6 r13197: Add -k switch to dump the data of a single key.
(This used to be commit 23503ff45f2a377728bc5ebb1e6db2755bb5ca2b)
2007-10-10 11:06:17 -05:00
Volker Lendecke
92e85d325f r12760: Fix bug 3384
(This used to be commit 9d366da172a13fe9fd6e940f95d58dac534f3b31)
2007-10-10 11:06:03 -05:00
Jeremy Allison
2b509f470d r12713: Remove use of uint8_t -> uint8.
Jeremy.
(This used to be commit 4473ac4ef9c86574fc49b1e67089b59b14b6d10d)
2007-10-10 11:06:01 -05:00
Jeremy Allison
8d7c886671 r11137: Compile with only 2 warnings (I'm still working on that code) on a gcc4
x86_64 box.
Jeremy.
(This used to be commit d720867a788c735e56d53d63265255830ec21208)
2007-10-10 11:05:02 -05:00
Gerald Carter
54abd2aa66 r10656: BIG merge from trunk. Features not copied over
* \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-10 11:04:48 -05:00
Jeremy Allison
b3b2910f8f r10355: Merge back the clear-if-first fix from Samba4. Couldn't wait tridge, sorry :-).
Jeremy.
(This used to be commit b1722b7bd1eaabb725218a4fc5c8b012f0a1a0af)
2007-10-10 11:03:41 -05:00
Jeremy Allison
76a85f222f r9852: Add tridge's Samba4 tdb optimisations.
Jeremy.
(This used to be commit cfe5a7e5f8eccecf8876c36ddeb0f6e91eb6aac4)
2007-10-10 11:03:26 -05:00
Volker Lendecke
77670a2ec3 r9738: Adapt tdb_torture to the new CLEAR_IF_FIRST semantics. We need one parent
process holding the active if two cluster nodes access the same tdb.

Volker
(This used to be commit cbc66cc3cab0e1db31402505214c83e1be92663b)
2007-10-10 11:03:25 -05:00
Volker Lendecke
1a2316f644 r9095: Add crude chainlength statistics to the crude tdbtool.
Volker
(This used to be commit 5e6fef32b372e20cb570c578e2044e89f9ee45b3)
2007-10-10 11:00:25 -05:00
Tim Potter
9808b5e394 r8595: Delete unused prototypes.
(This used to be commit c525c276c3bebd97f2c86684bd248ed00e889349)
2007-10-10 11:00:12 -05:00
Jeremy Allison
19ca97a70f r7882: Looks like a large patch - but what it actually does is make Samba
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-10 10:58:00 -05:00
Jeremy Allison
eb2280663f r7640: Fix based on work from "Shlomi Yaakobovich" <Shlomi@exanet.com> to catch
loops in corrupted tdb files.
Jeremy.
(This used to be commit b438cb0a85217c978f1d7cb9f2a4fd97f38a3193)
2007-10-10 10:57:18 -05:00
Gerald Carter
f24d88cf9d r7139: trying to reduce the number of diffs between trunk and 3.0; changing version to 3.0.20pre1
(This used to be commit 9727d05241574042dd3aa8844ae5c701d22e2da1)
2007-10-10 10:57:02 -05:00
Derrell Lipman
54aee75980 r7025: 1 if not all data is available at the time we go to read a packet, retry
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-10 10:57:00 -05:00
Herb Lewis
61ffe158f2 r6623: This change fixes a few broken commands plus adds some
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-10 10:56:47 -05:00
Jeremy Allison
e79e98a9f6 r6235: Partial fix for bugid #2581. Ensure if realloc fails on an internal
tdb we fail gracefully.
Jeremy.
(This used to be commit 28772dfca1f9e7afd01f7ea522cb2e697c318e22)
2007-10-10 10:56:31 -05:00
Herb Lewis
978ca84860 r6225: get rid of warnings from my compiler about nested externs
(This used to be commit efea76ac71412f8622cd233912309e91b9ea52da)
2007-10-10 10:56:30 -05:00
Derrell Lipman
9840db418b r6149: Fixes bugs #2498 and 2484.
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-10 10:56:24 -05:00
Derrell Lipman
934d41d239 r6127: Eliminated all compiler warnings pertaining to mismatched "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-10 10:56:24 -05:00
Volker Lendecke
8a427cb623 r5861: Apply some const
(This used to be commit d89b40e9b175b194cc7bdbc0277083efff89699c)
2007-10-10 10:56:05 -05:00
Volker Lendecke
5ba3fb825b r5767: Get rid of some compiler warnings
(This used to be commit 66471de977a56cbe58921f61da28cc7dcbc6e93e)
2007-10-10 10:56:00 -05:00
Jeremy Allison
f7decc6b23 r5532: Patch to detect infinite loops when traversing a tdb from "Shlomi Yaakobovich" <Shlomi@exanet.com>
Jeremy.
(This used to be commit f997c28bb8ca253dca943a578a617b3c20ccfa5e)
2007-10-10 10:55:45 -05:00
Jeremy Allison
acf9d61421 r4088: Get medieval on our ass about malloc.... :-). Take control of all our 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-10 10:53:32 -05:00
Gerald Carter
b5eeca9f70 r3772: BUG 2006: patch from Michel Gravey <michel.gravey@optogone.com>; fix build when using gcc 3.0
(This used to be commit 1bc79a28080f2ff783b49e5cf3adfdfc4a4940ee)
2007-10-10 10:53:17 -05:00
Jeremy Allison
9e4b000b12 r2999: Remove lockedkeys code. Not used.
Jeremy.
(This used to be commit c3e87f9fa53b0be1dea5dad5cddd71d2617c3cf6)
2007-10-10 10:52:59 -05:00
Jeremy Allison
db2fa3bde8 r2979: Fix incorrect locks/unlocks in tdb_lockkeys()/tdb_unlockkeys().
Spotted by Taj Khattra <taj.khattra@gmail.com>.
Jeremy.
(This used to be commit 365b203164bc813579013afb5dbb74f3604906c9)
2007-10-10 10:52:58 -05:00
Tim Potter
4fb2bbb32b r2924: Another #if that should be an #ifdef.
(This used to be commit b6193f6d52a148c05b6b7cc33553f3b8ff94b64e)
2007-10-10 10:52:56 -05:00
Tim Potter
17f2560ce6 r2248: Merge of tridge's PRINTF_ATTRIBUTE fixes from samba4.
(This used to be commit 53bfb76608efa347d5fe154c5583a5e8e3d53740)
2007-10-10 10:52:37 -05:00
Jim McDonough
a1763b39a3 r2239: Fixup formatting errors in TDB_LOG calls. Add printf attribute support to
tdb log functions.
(This used to be commit 67c737118faaeae9bd723516ea60657046e135a8)
2007-10-10 10:52:37 -05:00
Jim McDonough
a79469a27f r2131: Fixup format string. The magic value format specifier was missing, so
the logged offset was really the magic value, and the true offset was
never displayed.
(This used to be commit 30da4e777191c557226d5615cee5a9e28b198a8b)
2007-10-10 10:52:32 -05:00
Jeremy Allison
f98af01f43 r2032: If you're selecting a hash algorithm for tdb, you need to do it at open time,
it doesn't make sense anywhere else.
Jeremy.
(This used to be commit d7ea1ea8fb3420ca1ad8d95acdc43313898200ff)
2007-10-10 10:52:29 -05:00
Jeremy Allison
fcbb2d3132 r2026: Simplify statcache to use an in-memory tdb. Modify tdb to use
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-10 10:52:29 -05:00
John Terpstra
73b9376e26 r923: Fixes so tdbtool and tdbtest can be built. Added build specs for tdbdump and tdbbackup.
(This used to be commit c5dc3da3406541891f412d32c292765d7b650f0f)
2007-10-10 10:51:49 -05:00
Gerald Carter
931df5850e r39: * importing .cvsignore files
* updateing WHATSNEW with vl's change
(This used to be commit a7e2730ec4389e0c249886a8bfe1ee14c5abac41)
2007-10-10 10:51:05 -05:00
Andrew Tridgell
fb53eff3e1 merge tdb changes from samba4 - this means tdb is now under the LGPL, as discussed and agreed previously
(This used to be commit 9d1a08d65c4235a2a3941bba5b71631c4c35c9b7)
2004-03-28 02:19:58 +00:00
Tim Potter
bc8b6cd9eb Merge from HEAD.
(This used to be commit 1bba071126b46032c97154fbf77242e15bcc5fa3)
2004-03-07 00:09:36 +00:00
Rafal Szczesniak
c0b23c6c8c Added copyrights I forgot about looong ago...
rafal
(This used to be commit 33d1e2dd63e3dbf592a666ae48bc013a8198d008)
2004-02-27 22:15:38 +00:00
Jeremy Allison
8eec62ebfb Fix the "too many fcntl locks" scalability problem raised by tridge.
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-19 01:55:24 +00:00
Tim Potter
6d69dd9ae2 Don't log an error in tdb_brlock() if a non-blocking lock returns EAGAIN -
it's supposed to do that.
(This used to be commit 2423a459471136d701b498ff0db797c70c6d0fce)
2004-02-01 10:55:54 +00:00
Andrew Bartlett
c69e4746d0 In tdb_allocate(), we would create a new record by writing a local variable
'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)
2004-01-08 05:37:23 +00:00
Jeremy Allison
86d65dc070 IRIX spinlock patch from James Peach <jpeach@sgi.com>.
Jeremy.
(This used to be commit 1ae1987a002716e8aa0d4bc0dd68f580ad762e47)
2003-12-09 22:41:26 +00:00