summaryrefslogtreecommitdiff
path: root/source4/lib/ldb/ldb_tdb/ldb_tdb.c
AgeCommit message (Collapse)AuthorFilesLines
2007-10-10r7527: - added a ldb_search_bytree() interface, which takes a ldb_parse_treeAndrew Tridgell1-9/+10
instead of a search expression. This allows our ldap server to pass its ASN.1 parsed search expressions straight to ldb, instead of going via strings. - updated all the ldb modules code to handle the new interface - got rid of the separate ldb_parse.h now that the ldb_parse structures are exposed externally - moved to C99 structure initialisation in ldb - switched ldap server to using ldb_search_bytree() (This used to be commit 96620ab2ee5d440bbbc51c1bc0cad9977770f897)
2007-10-10r7276: - moved static tdb function ltdb_dn_fold() into common/ so that it can beDerrell Lipman1-71/+5
called from multiple backends. (ldb_sqlite3 needs it too.) Added parameter for a callback function that determines whether an attribute needs case folding. - begin to prepare for sqlite3 in build process - work-in-progress updates, on ldb_sqlite3 (This used to be commit a80bced0b96ffb655559a43cf7f4d7a34deb5a7d)
2007-10-10r6867: this code will change the way the @ATTRIBUTES object is handledSimo Sorce1-1/+38
this object properties are now used as multivalue attributes now all values inserted are checked against a "valid values table" eg: this form is now accepted: dn: @ATTRIBUTES uid: CASE_INSENSITIVE uid: WILDCARD this form is now rejected: dn: @ATTRIBUTES uid: CASE_INSENSITIVE WILDCARD please update your .ldb files if you make use of @ATTRIBUTES (sam.ldb heavily uses it) the code passes all make test tests for both tdb and ldap, it also passes the new test to check for wrong @ATTRIBUTES attribute values Simo. (This used to be commit 1295b891a26c2cb2c34540f90ded83390cf87da2)
2007-10-10r6560: added a tdb_chainlock_read() call in ldb_search(). This guaranteesAndrew Tridgell1-0/+34
that ldb_search() sees a single consistent view of the database (by blocking writes during a ldb_search) (This used to be commit 917f2a8a073fd501f0626bea4f9deb91b95fdc90)
2007-10-10r6470: Remove ldb_search_free() it is not needed anymore.Simo Sorce1-1/+0
Just use talloc_free() to release the memory after an ldb_search(). (This used to be commit 4f0948dab0aa5e8b6a4ce486f3668ca8dfae23db)
2007-10-10r5585: LDB interfaces change:Simo Sorce1-11/+0
changes: - ldb_wrap disappears from code and become a private structure of db_wrap.c thanks to our move to talloc in ldb code, we do not need to expose it anymore - removal of ldb_close() function form the code thanks to our move to talloc in ldb code, we do not need it anymore use talloc_free() to close and free an ldb database - some minor updates to ldb modules code to cope with the change and fix some bugs I found out during the process (This used to be commit d58be9e74b786a11a57e89df36081d55730dfe0a)
2007-10-10r5374: - changed the dn key code in the ldb tdb backend to correctly honorAndrew Tridgell1-2/+79
the case sensitive/insensitive flags on sections of a dn. So if a dn is made up of 4 attributes, and 2 of those are case insensitive and 2 are case sensitive, then all the attribute names are uppercases, but only the values of the case insensitive attributes are uppercased when forming the tdb key. - added code to canonicalise the dn, removing leading and trailing spaces from attribute names and values - when the @ATTRIBUTES record changes, fix the dn keys of any records that should now have new dn keys due to changes in the case sensitivity of the record I really did this to allow me to make the WINS database properly case insensitive, but it is also the correct general fix for ldb, as it matches the LDAP specification (and w2k LDAP server behaviour) (This used to be commit 0f034dc5636d182a1d9207ad662b3fc8df7ca3e4)
2007-10-10r4714: move the ldb code to the new talloc interface (eg remove _p suffix)Simo Sorce1-10/+10
this helps standalone building of ldb renew the schema module split code into functions to improve readability and code reuse add and modify works correctly but we need a proper testsuite Simo (This used to be commit a681ae365ff1b5a2771b42ebd90336651ce1e513)
2007-10-10r4474: - converted ldb to use talloc internallyAndrew Tridgell1-99/+101
- added gcov flags to Makefile.ldb - expanded ldb test suite to get more coverage (This used to be commit 0ab98f50a7e0fe15347a99e5c29a6590a87729a0)
2007-10-10r4366: Fix ldb_modify_internal: Adding values to an existing attribute you ↵Volker Lendecke1-9/+36
could end up with a corrupt data structure on disk, namely with two attribute structures for the same attribute name. Volker (This used to be commit 284044b5b20102894a8128f84ab41d59cfcc9285)
2007-10-10r4281: fixed an ldb indexing bug in ldb found by volker.Andrew Tridgell1-5/+12
index entries were not always being removed on modify (This used to be commit 9c668e7b43dc2d82d3d639b64c53e887723ccba7)
2007-10-10r4071: - ldap does allow adding additional attribute values with a modifyAndrew Tridgell1-2/+7
operation, but not if the value already exists - fixed syntax of test.ldif for ldap backend (This used to be commit 29225d0bec39038e42e68849bd9378898f062081)
2007-10-10r3897: add a locking infrastructureSimo Sorce1-18/+32
(This used to be commit a99c0adb09e2bc77b876d23cb2d0711ccffd83ca)
2007-10-10r3783: - don't use make proto for ldb anymoreStefan Metzmacher1-5/+7
- split ldh.h out of samba's includes.h - make ldb_context and ldb_module private to the subsystem - use ltdb_ prefix for all ldb_tdb functions metze (This used to be commit f5ee40d6ce8224e280070975efc9911558fe675c)
2007-10-10r3754: merge in ldb modules support from the tmp branch ldbPluginsSimo Sorce1-74/+93
(This used to be commit 71323f424b4561af1fdddd2358629049be3dad8c)
2007-10-10r3095: - fix a free'ing of msg.dnStefan Metzmacher1-1/+2
- reenable index tests metze (This used to be commit 1e7e94fdb10db831090f9bd37e39053dfcde04ce)
2007-10-10r3093: - implment ldb_rename() and ldbrenameStefan Metzmacher1-0/+58
- 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-10r2192: removed an erroneous free() call on an error pathAndrew Tridgell1-1/+0
(This used to be commit c80d686f59a8b6c53305af1233137c22a26f6750)
2007-10-10r1511: fixed a free() that should be ldb_free()Andrew Tridgell1-1/+1
this might explain the tdb corruption that metze found - it caused heap corruption that affected tdb (This used to be commit 31d55dfb443612a341ff6ade77c6e4477c4fefca)
2007-10-10r1374: Fix signed/unsigned warnings (actually found by g++) after unsigned intTim Potter1-8/+10
changes in r1018. (This used to be commit 45b4016530fc0bfa13146f73a503866b5dbed517)
2007-10-10r811: make the ldb_modify REPLACE semantics better match LDAP (ie. no errorAndrew Tridgell1-7/+6
on the attribute not existing and allow an empty replace) (This used to be commit 1418b667d9041430786089713eafee63dd7b4a28)
2007-10-10r574: - another attempt at const cleanliness in ldbAndrew Tridgell1-2/+8
- fixed a problem with searching for values containing an '=' sign - fixed the semantics of attempting an attribute deletion on an attribute that doesn't exist. - added some more ldb_msg_*() utilities (This used to be commit 62b4ec367d170330d837b0f1fe5cd13205a53b59)
2007-10-10r502: modified ldb to allow the use of an external pool memoryAndrew Tridgell1-44/+62
allocator. The way to use this is to call ldb_set_alloc() with a function pointer to whatever memory allocator you like. It includes a context pointer to allow for pool based allocators. (This used to be commit 3955c482e6c2c9e975a4bb809ec8cb6068e48e34)
2007-10-10r462: added an explanation about the rather complex ltdb_key() functionAndrew Tridgell1-0/+9
(This used to be commit 894e44022d16d9ff43f421fb15495845710000ab)
2007-10-10r454: allow a non-URL form of a filename to be used in ldb_connect(). ThisAndrew Tridgell1-5/+8
makes it a little easier to work with the ldb tools (This used to be commit 03df31cef025b2087531579437d6bae1ec36e82f)
2007-10-10r435: a major upgrade for ldbAndrew Tridgell1-43/+143
- added the ability to mark record attributes as being CASE_INSENSITIVE, WILDCARD or INTEGER. - added the ability to support objectclass subclasses, and to search by a parent class - added internal support for case insensitive versus case sensitive indexing (not UTF8 compliant yet) - cleaned up a number of const warnings - added a number of helper functions for fetching integers, strings and doubles - added a in-memory cache for important database properties, supported by a database sequence number - changed some variable names to avoid conflicts with C++ (This used to be commit f2bf06f25c2e6c744817711c7bedbd1d3b52f994)
2007-10-10r381: make the code more C++ friendlyAndrew Tridgell1-8/+8
(This used to be commit 8acecc7f27e25ab876fffffe43ae75b5f77aff77)
2007-10-10r373: use a much larger default tdb hash size in ldbAndrew Tridgell1-1/+2
(This used to be commit 54f47c45b8f828ad5ddaa630d0c1e673f2c74b7a)
2007-10-10r343: added automatic reindexing of the database when the index list changesAndrew Tridgell1-0/+12
(This used to be commit a811640ce408373a5c2c0ee2c125bd735d96d5e1)
2007-10-10r152: a quick airport commit ....Andrew Tridgell1-1/+1
added ldbedit, a _really_ useful command added ldbadd, ldbdel, ldbsearch and ldbmodify to build solved lots of timezone issues, we now pass the torture tests with client and server in different zones fixed several build issues I know this breaks the no-LDAP build. Wait till I arrive in San Jose for that fix. (This used to be commit af34710d4da1841653624fe304b1c8d812c0fdd9)
2007-10-10r141: A number of changes to get things working on FreeBSD and reduce the ↵Richard Sharpe1-1/+1
breakage caused by someone recently ... 1. Add configure check HAVE_COMPARISON_FN_T to see if this is defined. I have not checked this on Linux yet, but will do so soon. 2. Add the definitions of malloc_p, realloc_p etc. 3. Check for LDAP and don't build stuff that depends on LDAP if we don't\ have it. It currently builds on FreeBSD but there is one warning printed out at the end. (This used to be commit 7b34fbe0f2ef175e5504e34e4f3cdf9a0563970f)
2004-04-03added the rest of the ldb_modify() code, which required a fairly largeAndrew Tridgell1-12/+251
change in the ldb API. The API is now much closer to LDAP. (This used to be commit e9e85c464411c561c5073d262a2e3533fec175ca)
2004-03-31make a more recent snapshot of ldb available to interestedAndrew Tridgell1-0/+303
people. Note that I decided to make it LGPL. ldb is not finished yet, but enough of it is there for people to get an idea of what it does, and quite a few simple tests work (This used to be commit dc6f41f9e777d37f883303ddef0d96840d80f78e)