summaryrefslogtreecommitdiff
path: root/lib/tdb
AgeCommit message (Collapse)AuthorFilesLines
2010-12-10build: introduce SAMBA_CHECK_PYTHON_HEADERSMatthieu Patou1-1/+1
This function is a wrapper around waf's check_python_header. It avoids searching more than once for the headers bringing a small speed improvement and a better lisibility of the logs. But it's mainly to avoid a nasty bug when python libraries are in path pointed by python_LIBPL (ie. /usr/local/lib/python2.6/config/) instead of python_LIBDIR (ie. /usr/local/lib). On the first call waf will correctly find that in order to link with python libs it needs to add -L$python_LIBPL. But on the next calls of check_python_headers, waf will use both the current library path value (ie. -L/usr/local/lib/python2.6/config) and -L$python_LIBDIR (ie. /usr/local/lib/) which will make him beleive that python libraries are in $python_LIBDIR which at the end will make the final link test fails in check_python_headers as it will not use the good directory. So by avoiding calling check_python_headers more than once we avoid making waf fooling itself.
2010-12-09waf: remove the restriction that private libraries must not have a vnumAndrew Tridgell1-3/+1
we need the vnum for ABI checking for public libraries built as private libraries when bundled Autobuild-User: Andrew Tridgell <tridge@samba.org> Autobuild-Date: Thu Dec 9 12:47:41 CET 2010 on sn-devel-104
2010-12-09waf-abi: auto-generate per-symbol versions from ABI filesAndrew Tridgell1-1/+1
This changes our version-script generation to use the ABI files that are saved in git with each version number change of our public libraries. We use these ABI files to generate a linker version script that gives the exact version number that each symbol was introduced. This provides us with automatic fine grained symbol versioning. Pair-Programmed-With: Jelmer Vernooij <jelmer@samba.org> Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-12-08s4-pkgconfig: add @LIB_RPATH@ to our link flagsAndrew Tridgell1-1/+1
this is only set when rpath is used on install. It ensures that applications that link against Samba libraries get the rpath right Autobuild-User: Andrew Tridgell <tridge@samba.org> Autobuild-Date: Wed Dec 8 12:46:00 CET 2010 on sn-devel-104
2010-11-27tdb:common/open.c - use "discard_const_p" for certain "tdb->name" assignmentsMatthias Dieter Wallnöfer1-2/+2
In order to suppress compiler warnings.
2010-11-27tdb:tdbstore.c - remove an useless '\'Matthias Dieter Wallnöfer1-1/+1
Discovered by a warning of the Tru64 host on the buildfarm.
2010-11-22Avoid the use of PyAPI_DATA, which is for internal Python API's.Arnaud Faucher1-1/+1
Signed-off-by: Jelmer Vernooij <jelmer@samba.org> Autobuild-User: Jelmer Vernooij <jelmer@samba.org> Autobuild-Date: Mon Nov 22 00:52:56 CET 2010 on sn-devel-104
2010-11-12tdb: set tdb->name early, as it's needed for tdb_name()Stefan Metzmacher1-6/+27
tdb_name() might be used within the given log function, which might be called from within tdb_open_ex(). metze Autobuild-User: Stefan Metzmacher <metze@samba.org> Autobuild-Date: Fri Nov 12 11:22:21 UTC 2010 on sn-devel-104
2010-11-03waf: added reconfigure targets to our librariesAndrew Tridgell1-0/+5
This allows you to do "make reconfigure" to re-run configure only if needed
2010-11-01tdb: Use waf by default.Jelmer Vernooij2-14/+15
Autobuild-User: Jelmer Vernooij <jelmer@samba.org> Autobuild-Date: Mon Nov 1 06:04:14 UTC 2010 on sn-devel-104
2010-10-31s4: Remove the old perl/m4/make/mk-based build system.Jelmer Vernooij1-66/+0
The new waf-based build system now has all the same functionality, and the old build system has been broken for quite some time. Autobuild-User: Jelmer Vernooij <jelmer@samba.org> Autobuild-Date: Sun Oct 31 02:01:44 UTC 2010 on sn-devel-104
2010-10-26waf: Only specify vnum for non-private libraries.Jelmer Vernooij1-6/+12
2010-10-23waf: Rename some BUNDLED_ functios to PRIVATE_.Jelmer Vernooij1-1/+1
2010-10-23tdb: Revert re-addition of tdb_set_logging_function.Jelmer Vernooij3-3/+0
I accidentally committed this patch which we carry in the Debian packages. Autobuild-User: Jelmer Vernooij <jelmer@samba.org> Autobuild-Date: Sat Oct 23 18:37:16 UTC 2010 on sn-devel-104
2010-10-23tdb: commit the version 1.2.7 signaturesMatthias Dieter Wallnöfer1-0/+61
2010-10-21Lowercase socket_wrapper name.Jelmer Vernooij3-0/+3
Avoid linking against socket_wrapper outside of developer mode. Autobuild-User: Jelmer Vernooij <jelmer@samba.org> Autobuild-Date: Thu Oct 21 20:26:11 UTC 2010 on sn-devel-104
2010-10-21tdb: Set _PUBLIC_ in C file rather than header files (Debian bug 600898)Jelmer Vernooij12-128/+126
Autobuild-User: Jelmer Vernooij <jelmer@samba.org> Autobuild-Date: Thu Oct 21 11:47:22 UTC 2010 on sn-devel-104
2010-10-21waf: replace the is_bundled option with private_libraryAndrew Tridgell1-1/+1
'private_library' better captures what we are trying to get at when we bundle a library
2010-10-21s4-build: fixed some formattingAndrew Tridgell1-1/+2
indentation was far too deep
2010-10-17tdb: Bump version to 1.2.7 after addition of pytdb.__version__.Jelmer Vernooij1-1/+1
Autobuild-User: Jelmer Vernooij <jelmer@samba.org> Autobuild-Date: Sun Oct 17 18:23:16 UTC 2010 on sn-devel-104
2010-10-07waf: fixed exit status of test suitesAndrew Tridgell1-2/+4
use RUN_COMMAND() to handle signal errors and exit status
2010-10-04tdb: Only use system pytdb when using system tdb.Jelmer Vernooij1-2/+2
2010-10-04tdb: Support using system pytdb.Jelmer Vernooij1-8/+9
2010-10-04pytdb: Add __version__ attribute.Jelmer Vernooij3-1/+10
2010-10-02pytdb: Include Python.h first to prevent warning.Jelmer Vernooij1-1/+1
2010-10-02pytdb: Check errors after PyObject_New() callsKirill Smelkov1-0/+7
The call could fail with e.g. MemoryError, and we'll dereference NULL pointer without checking. Signed-off-by: Kirill Smelkov <kirr@landau.phys.spbu.ru> Signed-off-by: Jelmer Vernooij <jelmer@samba.org>
2010-10-02pytdb: Add support for tdb_repack()Kirill Smelkov2-0/+15
Cc: 597386@bugs.debian.org Signed-off-by: Kirill Smelkov <kirr@landau.phys.spbu.ru> Signed-off-by: Jelmer Vernooij <jelmer@samba.org>
2010-10-02pytdb: Add TDB_INCOMPATIBLE_HASH open flagKirill Smelkov1-0/+1
In 2dcf76 Rusty added TDB_INCOMPATIBLE_HASH open flag which selects Jenkins lookup3 hash for new databases. Expose this flag to python users too. Cc: Rusty Russell <rusty@rustcorp.com.au> Signed-off-by: Kirill Smelkov <kirr@mns.spb.ru> Signed-off-by: Jelmer Vernooij <jelmer@samba.org>
2010-09-27tdb: fix non-WAF build, commit 1.2.6 ABI file.Rusty Russell2-1/+62
Sorry Jeremy. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2010-09-27tdb: TDB_INCOMPATIBLE_HASH, to allow safe changing of default hash.Rusty Russell6-6/+23
This flag to tdb_open/tdb_open_ex effects creation of a new database: 1) Uses the Jenkins lookup3 hash instead of the old gdbm hash if none is specified, 2) Places a non-zero field in header->rwlocks, so older versions of TDB will refuse to open it. This means that the caller (ie Samba) can set this flag to safely change the hash function. Versions of TDB from this one on will either use the correct hash or refuse to open (if a different hash is specified). Older TDB versions will see the nonzero rwlocks field and refuse to open it under any conditions. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2010-09-27tdb: automatically identify Jenkins hash tdbsRusty Russell1-14/+27
If the caller to tdb_open_ex() doesn't specify a hash, and tdb_old_hash doesn't match, try tdb_jenkins_hash. This was Metze's idea: it makes life simpler, especially with the upcoming TDB_INCOMPATIBLE_HASH flag. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2010-09-27tdb: add Bob Jenkins lookup3 hash as helper hash.Rusty Russell7-18/+447
This is a better hash than the default: shipping it with tdb makes it easy for callers to use it as the hash by passing it to tdb_open_ex(). This version taken from CCAN and modified, which took it from http://www.burtleburtle.net/bob/c/lookup3.c. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2010-09-23tdb: add restoreVolker Lendecke5-2/+310
Based on an idea by Simon McVittie, largely rewritten
2010-09-20lib/tdb: fix c++ build warning in tdb_header_hash().Günther Deschner1-1/+1
Guenther
2010-09-19pytdb: Make filename argument optional.Jelmer Vernooij2-13/+15
2010-09-19pytdb: Add support for tdb_freelist_size()Kirill Smelkov2-0/+9
Cc: 597386@bugs.debian.org Signed-off-by: Kirill Smelkov <kirr@landau.phys.spbu.ru> Signed-off-by: Jelmer Vernooij <jelmer@samba.org>
2010-09-19pytdb: Add support for tdb_transaction_prepare_commit()Kirill Smelkov2-0/+18
Cc: 597386@bugs.debian.org Signed-off-by: Kirill Smelkov <kirr@landau.phys.spbu.ru> Signed-off-by: Jelmer Vernooij <jelmer@samba.org>
2010-09-19pytdb: Add support for tdb_enable_seqnum, tdb_get_seqnum and ↵Kirill Smelkov2-0/+30
tdb_increment_seqnum_nonblock Cc: 597386@bugs.debian.org Signed-off-by: Kirill Smelkov <kirr@landau.phys.spbu.ru> Signed-off-by: Jelmer Vernooij <jelmer@samba.org>
2010-09-19pytdb: Update open flags to match those for tdb_open() in tdb.hKirill Smelkov1-0/+6
Namely TDB_NOSYNC, TDB_SEQNUM, TDB_VOLATILE, TDB_ALLOW_NESTING and TDB_DISALLOW_NESTING were missing. Cc: 597386@bugs.debian.org Signed-off-by: Kirill Smelkov <kirr@mns.spb.ru> Signed-off-by: Jelmer Vernooij <jelmer@samba.org>
2010-09-19pytdb: Fix repr segfault for internal dbKirill Smelkov2-1/+11
The problem was tdb->name is NULL for TDB_INTERNAL databases, and so it was crashing ... #0 0xb76944f3 in strlen () from /lib/i686/cmov/libc.so.6 #1 0x0809862b in PyString_FromFormatV (format=0xb72b6a26 "Tdb('%s')", vargs=0xbfc26a94 "") at ../Objects/stringobject.c:211 #2 0x08098888 in PyString_FromFormat (format=0xb72b6a26 "Tdb('%s')") at ../Objects/stringobject.c:358 #3 0xb72b65f2 in tdb_object_repr (self=0xb759e060) at ./pytdb.c:439 Cc: 597089@bugs.debian.org Signed-off-by: Kirill Smelkov <kirr@mns.spb.ru> Signed-off-by: Jelmer Vernooij <jelmer@samba.org>
2010-09-19pytdb: Add support for tdb_add_flags() & tdb_remove_flags()Kirill Smelkov2-0/+27
Note, unlike tdb_open where flags is `int', tdb_{add,remove}_flags want flags as `unsigned', so instead of "i" I used "I" in PyArg_ParseTuple. Cc: 597386@bugs.debian.org Signed-off-by: Kirill Smelkov <kirr@mns.spb.ru> Signed-off-by: Jelmer Vernooij <jelmer@samba.org>
2010-09-16tdb: added TDB_NO_FSYNC env variableAndrew Tridgell1-0/+4
this might help reduce test times and load on test machines
2010-09-14tdb: add ABI/tdb-1.2.4.sigsStefan Metzmacher1-0/+60
metze
2010-09-13lib/tdb: change version to 1.2.4 after hash checking improvmentsStefan Metzmacher2-2/+2
lib/tdb: change version to 1.2.4 after hash checking improvments metze Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2010-09-13tdb: put example hashes into header, so we notice incorrect hash_fn.Rusty Russell3-2/+65
This is Stefan Metzmacher <metze@samba.org>'s patch with minor changes: 1) Use the TDB_MAGIC constant so both hashes aren't of strings. 2) Check the hash in tdb_check (paranoia, really). 3) Additional check in the (unlikely!) case where both examples hash to 0. 4) Cosmetic changes to var names and complaint message. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2010-09-13tdb: fix tdb_check() on other-endian tdbs.Rusty Russell1-1/+1
We must not endian-convert the magic string, just the rest. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2010-09-13tdb: fix tdb_check() on read-only TDBs to actually work.Rusty Russell1-5/+17
Commit bc1c82ea137 "Fix tdb_check() to work with read-only tdb databases." claimed to do this, but tdb_lockall_read() fails on read-only databases. Also make sure we can still do tdb_check() inside a transaction (weird, but we previously allowed it so don't break the API). Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2010-09-13tdb: make check more robust against recovery failures.Rusty Russell1-5/+36
We can end up with dead areas when we die during transaction commit; tdb_check() fails on such a (valid) database. This is particularly noticable now we no longer truncate on recovery; if the recovery area was at the end of the file we used to remove it that way. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2010-08-31tdb/waf: the deps for rt are provided by libreplaceBjörn Jacke1-1/+1
2010-08-22Use DocBook DTD rather than Samba one, as no Samba-specific things areJelmer Vernooij3-3/+3
used in the tdb manpages.