summaryrefslogtreecommitdiffstats
path: root/source4/lib/ldb
Commit message (Collapse)AuthorAgeFilesLines
* ldb:tdb backend - be also here more careful with the result valueMatthias Dieter Wallnöfer2009-10-271-2/+2
| | | | "msg_delete_attribute" doesn't return an LDB result constant.
* ldb:python bindings - make the intention by Jelmer ("int" vs. "enum") more clearMatthias Dieter Wallnöfer2009-10-271-0/+2
|
* Revert "ldb python bindungs - better use the "enum ldb_scope" for the search ↵Matthias Dieter Wallnöfer2009-10-271-3/+2
| | | | | | | | scope rather than "int"" This reverts commit 4f8826ff7f4789c5b5f363b733a42053f72aa526. Jelmer pointed out that the "enum"s don't work so well in combination with python.
* s4-ldb: '+' can also happen in base64 encoded index DNsAndrew Tridgell2009-10-271-1/+1
|
* s4:ldb Add detail to failures in the indexing codeAndrew Bartlett2009-10-271-2/+8
|
* s4:ldb Add additional tracing of the ldb APIAndrew Bartlett2009-10-272-4/+80
| | | | | | | This helps pin down where errors occour, by printing a call stack and setting error strings and trace messages in the transaction case. Andrew Bartlett
* Merge branch 'master' of ssh://git.samba.org/data/git/sambaAndrew Tridgell2009-10-254-15/+15
|\
| * ldb:backend "connect" functions - convert result values to LDB constantsMatthias Dieter Wallnöfer2009-10-254-15/+15
| | | | | | | | | | | | I think this is better since "ldb_backend_connect" and "ldb_connect" which propagate those values should return only LDB constants. Therefore a conversion (especially for "-1") would be needed.
* | s4-ldb: allow for unescaped '=' in a index DNAndrew Tridgell2009-10-252-4/+13
|/ | | | | | | The ldb_dn_explode code normally enforces all special characters, including a '=', must be escaped. Unfortunately this conflicts with the ltdb index DNs, which for binary attributes may be base64 encoded. This allows a unescaped '=' as a special case for index DNs.
* s4-ldb: ensure DNs pass validity tests in indexingAndrew Tridgell2009-10-251-0/+4
|
* s4-ldb: fixed string length handling on index recordsAndrew Tridgell2009-10-251-2/+2
|
* s4-ldb: don't allow modifies outside a transaction.Andrew Tridgell2009-10-251-0/+8
|
* s4-ldb: fixed re-index during a complex transactionAndrew Tridgell2009-10-251-10/+31
| | | | We may have modified index objects in the in-memory index tdb
* ldb python bindungs - better use the "enum ldb_scope" for the search scope ↵Matthias Dieter Wallnöfer2009-10-231-2/+3
| | | | rather than "int"
* s4-python: we need to include Python.h firstAndrew Tridgell2009-10-231-1/+1
| | | | | If we don't include Python.h first then we get a pile of warnings due to broken redefines of XOPEN_SOURCE in the Python includes.
* s4-ldb: added ldb_transaction_cancel_noerr()Andrew Tridgell2009-10-233-1/+20
| | | | | This will be used to allow cancelling of transactions in a child after a fork()
* s4-dsdb: create a static system_session contextAndrew Tridgell2009-10-231-1/+1
| | | | | | This patch adds a system_session cache, preventing us from having to recreate it on every ldb open, and allowing us to detect when the same session is being used in ldb_wrap
* s4-ldb: added a TODO about checking the indexlistAndrew Tridgell2009-10-221-0/+2
|
* s4-ldb: fixed some memory leaks in new indexing codeAndrew Tridgell2009-10-221-1/+3
|
* s4-ldb: don't try to index non-indexed attributesAndrew Tridgell2009-10-221-0/+4
|
* s4-ldb: ensure new dn_list elements are not owned by callerAndrew Tridgell2009-10-221-1/+1
|
* s4-ldb: over-allocate index records to save on realloc costsAndrew Tridgell2009-10-221-1/+5
|
* s4-ldb: fixed tdb error handling in ldb_index.cAndrew Tridgell2009-10-221-3/+8
|
* s4-ldb: delete empty index recordsAndrew Tridgell2009-10-221-0/+8
|
* s4-ldb: do more validation of idxptr listsAndrew Tridgell2009-10-221-12/+31
|
* s4-ldb: expose ltdb_err_map and ltdb_delete_noindexAndrew Tridgell2009-10-222-2/+5
| | | | These will be used by ldb_index.c
* s4-ldb: fast path for equal pointersAndrew Tridgell2009-10-221-1/+1
| | | | We compare identical ldb_val values surprisingly often
* s4-ldb: when taking a list intersection, the result can be as long as the ↵Andrew Tridgell2009-10-221-1/+1
| | | | | | | | first list Intuitively you would think it couldn't be longer than the minimum of the two lists, but we are deliberately allowing for duplicates at this level of the indexing code, which means the result can be longer
* s4-ldb: ldb indexing rewrite - part1Andrew Tridgell2009-10-224-909/+739
| | | | | | | | | | | | | | This gets rid of the @IDXPTR approach to in-transaction indexing, instead using an in-memory tdb to hold index values during a transaction. This also cleans up a lot of the internal indexing logic, hopefully making it easier to understand. One of the big changes is in memory management, with a lot more use made of talloc tricks to avoid copying dn lists, and shortcuts used to avoid high intersection and union calculation costs. The overall result is that a re-provision on my laptop goes from 48s to a bit over 10s.
* s4-ldb: ldb_oom() for modulesAndrew Tridgell2009-10-221-0/+1
|
* s4:ldb_sort - Add some more "const"Matthias Dieter Wallnöfer2009-10-221-2/+2
| | | | Signed-off-by: Andrew Bartlett <abartlet@samba.org>
* S4: ldb_map modules uses defines that are reservedTorgeir Lerkerød2009-10-214-58/+58
| | | | | | | On OpenSolaris MAP_RENAME and friends are defined in <sys/mman.h> e.g. mmap and friends. So on these systems MAP_* have a meaning. Cleaned up LDB name space by adding LDB_ in front of MAP_* e.g. MAP_RENAME => LDB_MAP_RENAME Signed-off-by: Torgeir Lerkerød <torgeir.lerkerod@gmail.com> Signed-off-by: Stefan Metzmacher <metze@samba.org>
* s4-ldb: allow for non-null terminated ldb_val in ldb_dn_from_ldb_valAndrew Tridgell2009-10-211-1/+1
| | | | The strlen() could go past the end of a non-null terminated value
* s4:ldb_map Fix use-after-free of memory in ldb_mapAndrew Bartlett2009-10-212-4/+8
| | | | | | | | We need to keep the old 'ares' from the remote server around so we can forward it back to the caller. We can't send the same controls (from the last search entry) twice (and it makes no sense anyway). Andrew Bartlett
* s4:ldb Put ltdb_private under the 'module'Andrew Bartlett2009-10-211-0/+1
| | | | | | | This helps track the memory better, as we can then place it under the partition hirarchy. Andrew Bartlett
* s4:ldb Add new function to create a cut down list of controlsAndrew Bartlett2009-10-212-0/+47
| | | | | | This I hope will be useful for removing controls from the ldb_reply Andrew Bartlett
* s4:ldb Add function to add controls to an LDB replyAndrew Bartlett2009-10-212-0/+45
|
* s4-pyldb: fixed 64 bit issuesAndrew Tridgell2009-10-191-2/+4
| | | | | The python argument parse functions take standard C types, not enums and time_t. This broken the python interface on PPC.
* s4:ldb_msg_check_string_attribute - add a comment about the result valuesMatthias Dieter Wallnöfer2009-10-182-1/+14
|
* Revert "s4:ldb_msg - Use LDB constants on results"Matthias Dieter Wallnöfer2009-10-181-3/+4
| | | | | This reverts commit 56a8baff3df6a5120b6c7bbca771dfb7c6934fd5. Simo pointed out that I was wrong here.
* s4:ldb_msg - Use LDB constants on resultsMatthias Dieter Wallnöfer2009-10-181-5/+7
|
* s4:ldb_ldap - Fix intendationMatthias Dieter Wallnöfer2009-10-181-8/+8
|
* s4:ldb - fixed dangling pointer in ldb_request_add_control()Endi S. Dewata2009-10-161-2/+7
|
* s4-ldaptest: "testgroup" is a bit too commonAndrew Tridgell2009-10-151-2/+2
| | | | | This failed on one of my test boxes that has a group called "testgroup". using "testgroupXX" should be a bit better.
* s4-ldap: test the rDN size limitAndrew Tridgell2009-10-151-0/+25
|
* s4-ldb: removed bugus RDN length checkAndrew Tridgell2009-10-151-5/+0
| | | | This isn't the rDN !
* s4:ldb_tdb - Revert some introduced "trivial gotos"Matthias Dieter Wallnöfer2009-10-121-21/+11
| | | | I hope that this makes abartlet & simo happy again (consider mailing list).
* Revert "s4:ldb - add a check which has to be done on beginning of a "modify" ↵Matthias Dieter Wallnöfer2009-10-121-8/+0
| | | | | | | | | | | | operation" This reverts commit f9990e9b391f330a8e6c5c158ee4e4eaa50f6176. abartlet claims that this behaviour is too AD specific to put here. Btw I had also some doubts if this is clean enough. I put it only here to make "ldap.py" pass. I'll try to find a new solution soon.
* s4:ldb Allow a NULL module listAndrew Bartlett2009-10-121-1/+1
|
* Allow (and ignore) distinguishedName on special recordsAndrew Bartlett2009-10-121-0/+2
| | | | | | | They are not stored, so we can ignore them (makes copying records much easier) Andrew Bartlett