summaryrefslogtreecommitdiff
path: root/source4/lib/ldb/ldb_tdb
AgeCommit message (Collapse)AuthorFilesLines
2007-10-10r7602: fix some compiler warningsDerrell Lipman1-1/+1
(This used to be commit ce9966e091d36f66d409ac6f7b5e462c9dc37325)
2007-10-10r7601: ldb_sqlite3 work in progressDerrell Lipman1-2/+5
(This used to be commit 0a64948152a446b5e127578d49b1ed8a90a1a222)
2007-10-10r7582: Better way to have a fast path searching for a specific DN.Simo Sorce2-13/+12
Old way was ugly and had a bug, you couldn't add an attribute named dn or distinguishedName and search for it, tdb would change that search in a dn search. This makes it also possible to search by dn against an ldap server as the old method was not supported by ldap syntaxes. sss (This used to be commit a614466dec2484a0d39bdfae53da822cfcf80926)
2007-10-10r7561: moved OID constants into ldb.h and used manifest constants in ldb_match.cDerrell Lipman1-2/+2
(This used to be commit 42cbb155c20779c458f727488c8554842b24681b)
2007-10-10r7559: support 64 bit matching in bitopsAndrew Tridgell1-6/+6
(This used to be commit 0c44a67001b9ae91c1ba7fc52f22d1eafc22dcc7)
2007-10-10r7558: added support in ldb for extended ldap search requests. These areAndrew Tridgell2-13/+106
using to perform such things as bitop tests on integers. So far I have only added support for the 1.2.840.113556.1.4.803 and 1.2.840.113556.1.4.804 rules, which are for bitwise and/or (This used to be commit 5f773b065f1db959e59c02de68bcf30cef1a6c2c)
2007-10-10r7527: - added a ldb_search_bytree() interface, which takes a ldb_parse_treeAndrew Tridgell5-26/+41
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-10r7514: make the ldb_parse code not depend on a ldb_context, so we can now ↵Andrew Tridgell1-1/+1
potentially use it in our ldap client code, instead of replicating all the code (This used to be commit 5b3575d9303d54a771e080a670dcd2f444b10c20)
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-10r6967: fixed the new multi-value dn=@ATTRIBUTES so it actually works :-)Andrew Tridgell1-4/+6
this demonstrates that we need a improved test suite as well (This used to be commit 959c73e93faa243154288c91a716e5a293d7a51c)
2007-10-10r6867: this code will change the way the @ATTRIBUTES object is handledSimo Sorce3-28/+77
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-10r6759: let us have a wildcard attribute so that we can set a default for all ↵Simo Sorce1-1/+7
attributes example: *: CASE_INSENSITIVE by placing it in the @ATTRIBUTES object you make all the matching be case insensitive to make an excepion to the general rule now you just need to create an entry like: name: CASE_SENSITIVE the key CASE_SENSITIVE currently does not exist but has the effect of making the code ignore the wildcard default flag and being ldb case sensitive by default it let the "name" attribute be case sensitive again Tridge, can you look at this commit? Should we introduce a CASE_SENSITVE/BINARY flag and handle it in the code ? Simo. (This used to be commit 5f10707e8ac36db03f3aa3e1ee1c40a9d9da2016)
2007-10-10r6560: added a tdb_chainlock_read() call in ldb_search(). This guaranteesAndrew Tridgell3-0/+43
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 Sorce3-16/+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 Tridgell2-2/+89
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-10r5298: - got rid of pstring.h from includes.h. This at least makes it a bitAndrew Tridgell1-0/+1
less likely that anyone will use pstring for new code - got rid of winbind_client.h from includes.h. This one triggered a huge change, as winbind_client.h was including system/filesys.h and defining the old uint32 and uint16 types, as well as its own pstring and fstring. (This used to be commit 9db6c79e902ec538108d6b7d3324039aabe1704f)
2007-10-10r5296: - only include the tdb headers where they are neededAndrew Tridgell1-1/+3
- removed the u32 hack in events.c as I think this was only needed as tdb.h defines u32. Metze, can you check that this hack is indeed no longer needed on your suse system? (This used to be commit 6f79432fe656164d4770dbce114a30dda5e7bf9a)
2007-10-10r5189: fixed a double free bug in the ltdb indexing codeAndrew Tridgell1-7/+0
(This used to be commit 7be0bc93bd6757e52fd10bd3d3b3d1a8f5221452)
2007-10-10r4744: until we decide what to do about attribute aliasing (see my recentAndrew Tridgell1-3/+5
samba-technical posting), this is an interim solution that makes us work pretty much like w2k3 does. (This used to be commit 789325145651f2f6fc8716aa4bced83a2eb31994)
2007-10-10r4714: move the ldb code to the new talloc interface (eg remove _p suffix)Simo Sorce5-47/+47
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-10r4488: removed an unused variableAndrew Tridgell1-1/+0
(This used to be commit 1dfc41c9a3b6418236a1f04b5cf3f9ef9e8b608e)
2007-10-10r4486: fixed some memory leaks in the new ldb code, by ensuring that memory ↵Andrew Tridgell3-7/+7
is always allocated as a child of the right context (This used to be commit 1071712cf5951fa2e94f314bd7678cfa51b2dbcd)
2007-10-10r4477: expanded the test suite to increase code coverage a lotAndrew Tridgell2-12/+52
(This used to be commit 4edbd1b18ee38e584cf844b64c7fcb2645921837)
2007-10-10r4474: - converted ldb to use talloc internallyAndrew Tridgell7-454/+471
- added gcov flags to Makefile.ldb - expanded ldb test suite to get more coverage (This used to be commit 0ab98f50a7e0fe15347a99e5c29a6590a87729a0)
2007-10-10r4466: rather than defining "STANDALONE" for building tdb, ldb and tallocAndrew Tridgell1-1/+1
outside the tree, instead defined _SAMBA_BUILD_ inside the Samba build. This makes it easier to pull code out of Samba for external use. (This used to be commit 09e98c8745cca7ccb1ad7134c0c09b8e4c0f4f06)
2007-10-10r4424: fixed a simple bug in the '|' handling in indexed ldb searches. I'mAndrew Tridgell1-0/+1
amazed we got along for so long with this bug! (This used to be commit 937159cf2c6ae08808bd10946fcdbd8741e1a560)
2007-10-10r4397: Fix a bug where ↵Volker Lendecke1-0/+1
'(&(objectclass=domain)(!(objectclass=builtindomain)))' fell back to a full search. Volker (This used to be commit 55c9fbd4f4afdde30a0d92bfd31f5c9ebb98c59b)
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-10r4282: removed a spurious error message now we remove index entries in the ↵Andrew Tridgell1-1/+0
modify call (This used to be commit 58fcc326241e73cc8a122e6130b5ff0d6a3b9232)
2007-10-10r4281: fixed an ldb indexing bug in ldb found by volker.Andrew Tridgell3-8/+19
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-10r4040: sorry today is not my day...Stefan Metzmacher1-2/+2
uint32 != uint8_t ... metze (This used to be commit a8a3b8ee341fda041383df225ea2b7f9b589fc04)
2007-10-10r4038: fix sign/unsign bug I introduced in -r 4022Stefan Metzmacher1-2/+2
this caused new ldb record to be corrupt if the length was > 12b byte thanks tridge for finding this metze (This used to be commit 6998c37b473d8efeb2ed5285f10f469a29ad787a)
2007-10-10r4022: fix compiler warningsStefan Metzmacher4-6/+7
metze (This used to be commit 79d0eb2f677f9e985ba476a9680f68537d41be6f)
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 Metzmacher7-66/+121
- 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-10r3782: use ldb_ namespaceStefan Metzmacher1-2/+2
metze (This used to be commit 9003698e0fba28551d41d41dec159cc9c42ce7d2)
2007-10-10r3754: merge in ldb modules support from the tmp branch ldbPluginsSimo Sorce5-206/+247
(This used to be commit 71323f424b4561af1fdddd2358629049be3dad8c)
2007-10-10r3095: - fix a free'ing of msg.dnStefan Metzmacher2-2/+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-10r3089: fix memleakStefan Metzmacher1-0/+1
metze (This used to be commit 52eab8dc17a1cd1a8c0382ab8d6e7f6c7ddeea19)
2007-10-10r2713: better handling of binary values in index key creationAndrew Tridgell1-1/+1
(This used to be commit b0c92616fb69d8139f66dc8144cfcc88ea6825dc)
2007-10-10r2667: Remove forward declaration of static function from function. GCC 3.5 ↵Jelmer Vernooij1-2/+3
and 4.0 don't accept declarations of static functions inside other functions, see http://gcc.gnu.org/ml/gcc-patches/2004-08/msg02514.html (This used to be commit 8768168aadf51b9559831954e349d9aa94101c41)
2007-10-10r2556: fixed the -s one bug that jelmer pointed outAndrew Tridgell1-1/+1
(This used to be commit 03c38477add0c5f78072700615b2c1513cbc7663)
2007-10-10r2485: - add a test case in ldbtest for a bug pointed out by Jon Haswell.Andrew Tridgell1-2/+6
- fixed the bug shown with the above test, by initialising the sequence number to something different from the value used in ltdb_cache_free() (This used to be commit 856cdf82f24aada074ee5c605cccb2e8ceeea487)
2007-10-10r2192: removed an erroneous free() call on an error pathAndrew Tridgell1-1/+0
(This used to be commit c80d686f59a8b6c53305af1233137c22a26f6750)
2007-10-10r1901: add missing include of <fnmatch.h>Stefan Metzmacher1-0/+1
metze (This used to be commit 5e5681e2830bfd487d7e783249fe069b41be1f37)
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 Potter5-35/+44
changes in r1018. (This used to be commit 45b4016530fc0bfa13146f73a503866b5dbed517)