summaryrefslogtreecommitdiff
path: root/source4/lib/ldb
AgeCommit message (Collapse)AuthorFilesLines
2008-12-18Parse options (and open the database) before starting transactionsAndrew Bartlett1-2/+2
2008-12-18Print error strings when transactions fail in ldb toolsAndrew Bartlett3-6/+6
2008-12-18Rename ldb index pointer wrapper functionAndrew Bartlett1-8/+8
This also asserts that it is used only for index records. Andrew Bartlett
2008-12-17s4:ldb: add some python tests for extended dnsAndrew Bartlett1-27/+60
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2008-12-17s4:ldb: make it possible to return per entry controlsAndrew Bartlett14-13/+48
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2008-12-17s4:ldb.i: hang the dn on the NULL context as the python destructor will free itAndrew Bartlett1-0/+2
This fixes a bug in the ldb.i python wrapper, that showed up under valgrind. Signed-off-by: Stefan Metzmacher <metze@samba.org>
2008-12-17s4:ldb: use try to print the extended dn in the ldif outputAndrew Bartlett1-2/+4
This allows searches with the extended DN control to still print the extended DN in ldif output (it would otherwise be parsed and hidden in the structure). Signed-off-by: Stefan Metzmacher <metze@samba.org>
2008-12-17s4:ldb_ildap: try to pass extended DNs to the serverAndrew Bartlett1-5/+5
Whenever we pass a DN to the LDAP server, we now use ldb_dn_get_extended_linearized(). This allows us to send the extended DN if set, and therefore allows searches of the form '<GUID=aaa45ea0-94cd-45e9-8753-abe455d9a8f1>'. We actually use the '0' format (GUID=aaa45ea094cd45e98753abe455d9a8f1) because it is more widely supported (by Win2k in particular). Signed-off-by: Stefan Metzmacher <metze@samba.org>
2008-12-17s4:ldb: add infrastructure for extended dn handlersAndrew Bartlett4-60/+524
This introduces a new set of pluggable syntax, for use on the extended DN, and uses them when parsing the DN. If the DN appears to be in the extended form, we no longer return the full DN 'as is', but only return the normal part from ldb_dn_get_linearized(). When validating/parsing the DN we validate not only the format of the DN, but also the contents of the GUID or SID (to ensure they are plausable). We also have functions to set and get the extended components on the DN. For now, extended_dn_get_linearized() returns a newly constructed and allocated string each time. Signed-off-by: Stefan Metzmacher <metze@samba.org>
2008-12-17Merge branch 'master' of ssh://git.samba.org/data/git/sambaAndrew Tridgell1-1/+1
2008-12-17an experimental patch for fixing ldb bloatAndrew Tridgell3-9/+352
ldb indexing can cause huge files, and huge memory usage. This experiment allows us to keep indexes in memory during a transaction, then to write the indexes to disk when the transaction completes. The result is that the db is much smaller (we have seen improvements of about 100x in file size) and memory usage during large transactions is also greatly reduced Note that this patch uses the unusual strategy of putting pointers into a ldb (and thus into a tdb). This works because the pointers are only there during a transaction, so the pointers are not exposed to any other users of the database. The pointers allow us to avoid some really bad allocation problems with tdb record allocation during the re-indexing.
2008-12-16Add new script for building IDL files in librpc/idl, generating bothJelmer Vernooij1-1/+1
Samba 3 and Samba 4 output.
2008-12-16repack the ldb after re-indexingAndrew Tridgell1-0/+4
re-indexing in ldb is triggered on any modification to the @ATTRIBUTES or @INDEXLIST records. This happens to produce a worst-case fragmentation of the database, as all @INDEX records are deleted then re-created. By repacking after re-indexing we ensure that the database ends up without extreme fragmentation.
2008-12-16use transactions in ldbadd, ldbmodify and ldbeditAndrew Tridgell3-0/+30
The command line tools ldbadd, ldbmodify and ldbedit should operate within a transaction to make them more efficient. The ldbadd tool in particular is much faster when adding a large number of records if all the adds happen within a transaction. Previously there was a transaction per record.
2008-12-03Merge branch 'master' of ssh://git.samba.org/data/git/sambaAndrew Tridgell5-9/+11
2008-11-17Remove timeout event once we are calling the callback.Andrew Bartlett2-4/+6
(Even if the callback takes some time, this isn't a ldb_tdb timeout any more) Andrew Bartlett
2008-11-17Print unconvertable ldb element values as base64.Andrew Bartlett1-2/+4
If an LDB element cannot be converted into a printable form, we should still print it, just with safety applied. Andrew Bartlett
2008-11-17Always validate a DN when constructing from a string in pythonAndrew Bartlett1-1/+1
2008-11-11Regenerate SWIG output.Jelmer Vernooij1-1/+0
2008-11-11It is not valid to talloc_free() ldb_dn_get_linearized()Andrew Bartlett1-1/+0
2008-11-06fixed options argument to ldb connect in pythonAndrew Tridgell2-10/+18
The options argument to ldb connect() needs to be marked for the same special handling as attrs in search
2008-11-06don't give errors when an empty modules list is given to ldbAndrew Tridgell2-5/+9
2008-11-04Use ldb_dn_from_ldb_val to avoid possible over-run of the value.Andrew Bartlett4-8/+8
The ldb_val is length-limited, and while normally NULL terminated, this avoids the chance that this particular value might not be, as well as avoiding a cast. Andrew Bartlett
2008-10-30Revert "Length comparison of the linearized version is not correct."Simo Sorce1-0/+3
This reverts commit 753af36a3e194f645ec0b68a033199035e71c909.
2008-10-29Length comparison of the linearized version is not correct.Simo Sorce1-3/+0
The linearized version is not casefolded so length might not match and yet the strings be equivalent. This can happen if one component is case-insensitive and a letter that have an uppercase version of a multibyte character that differ in legth from the corresponding lowercase one.
2008-10-24Remove unused include param/param.h.Jelmer Vernooij1-1/+0
2008-10-20Make sure prototypes are always included, make some functions static andJelmer Vernooij5-4/+13
remove some unused functions.
2008-10-17Merge branch 'master' of ssh://git.samba.org/data/git/samba into master-develAndrew Bartlett8-131/+170
2008-10-16Transform the sequence_number operation into a normal extended operation as ↵Simo Sorce8-131/+170
it should always have been. Make it also async so that it is not a special case.
2008-10-16Assert that the server provides allowedAttributes (etc) on each entryAndrew Bartlett1-2/+6
This attribute is critical for the operation of nearly all the Microsoft Mangement Console tools Andrew Bartlett
2008-10-14Fix very old bug in ASQSimo Sorce1-2/+2
2008-10-08Fix subunit files location after cherrypicks.Jelmer Vernooij1-0/+1
2008-10-02s4:lib/ldb: fix stupid <SID=...> dn parsing bugsStefan Metzmacher1-2/+2
metze
2008-09-30Remove ldb_module_wait implementation - ldb_module.wait() is gone.Jelmer Vernooij1-17/+0
2008-09-29s4:lib/ldb: disable sqlite3 backend always as it doesn't compile anymoreStefan Metzmacher1-3/+3
metze
2008-09-29LDB ASYNC: ldb misc changesSimo Sorce2-54/+44
2008-09-29LDB ASYNC: core modulesSimo Sorce11-2152/+1534
2008-09-29LDB ASYNC: other backendsSimo Sorce3-582/+619
2008-09-29LDB ASYNC: ldb_tdb backendSimo Sorce4-315/+242
2008-09-29LDB ASYNC: Core filesSimo Sorce5-164/+489
2008-09-25Revert LDB return code patches from Matthias.Jelmer Vernooij16-107/+107
2008-09-24Cosmetic corrections for the LDB libraryMatthias Dieter Wallnöfer8-32/+32
This commit applies some cosmetic corrections for the LDB library.
2008-09-24Cosmetic corrections for the LDB backend modulesMatthias Dieter Wallnöfer8-75/+75
This commit applies some cosmetic corrections for the LDB backend modules.
2008-09-24Fix python test, we can't check only the first member, because the orderSimo Sorce1-1/+4
is not guaranteed
2008-09-24Use new binary name in merged build.Jelmer Vernooij1-2/+1
2008-09-23Merge ldb_search() and ldb_search_exp_fmt() into a simgle function.Simo Sorce12-96/+68
The previous ldb_search() interface made it way too easy to leak results, and being able to use a printf-like expression turns to be really useful.
2008-09-20Don't expose ldb_request in the Python API but rather use regularJelmer Vernooij3-84/+218
parameters.
2008-09-19Fix ldb standalone build.Simo Sorce8-47/+78
Add shared-build target to the ldb library, and make it possible to build it against libtalloc, libevents, libtdb as shared libraries.
2008-09-19Add support for implementing LDB modules in Python.Jelmer Vernooij5-24/+1318
2008-09-19Provide tdb.open and ldb.open python functions.Jelmer Vernooij2-0/+2