summaryrefslogtreecommitdiff
path: root/source4/lib/ldb
AgeCommit message (Collapse)AuthorFilesLines
2009-11-13s4-ldb: make DN escaping/unescaping consistentAndrew Tridgell1-20/+54
The DN escape function was using the form \c where c is any character. The unescape function was using \XX where XX is a 2 digit hex number. The asymmetry led to quite a few problems when we start to deal with DNs containing escape chars, such as CN=foo\0ADEL:XXX. The result was a DN that was not accessible. This patch changes the escaping to follow RFC2253 much more closely. We accept either type of escape, and produce the two types of escape, depending on the character being escaped
2009-11-12s4:ldb Allow ldb_msg_canonicalize to handle empty elementsAndrew Bartlett1-1/+1
(These are deliberately there in DRS replication). Andrew Bartlett
2009-11-12s4:ldb Don't segfault if we somehow get an unknown extended dn elementAndrew Bartlett1-0/+8
2009-11-12s4:ldb Change ldb_request_add_control to the normal 'for loop' patternAndrew Bartlett1-2/+1
2009-11-12s4:ldb Add Well Known GUID (WKGUID) tests to ldap.pyAndrew Bartlett1-0/+17
2009-11-12s4:ldb Remove DN+Binary code from the core ldb_dnAndrew Bartlett1-256/+6
This is now in dsdb_dn. Removing this to a specific wrapper avoids a number of bugs where Binary DNs were being handled incorrectly. This reverts much of tridge's commit fd22e0304782e20b9bbb29464b6c745d409ff4c6 Andrew Bartlett
2009-11-12s4:ldb Add a helper function for 'canonicalise' both strings base comparesAndrew Bartlett2-0/+33
This will help simplify boilerplate comparison functions where we don't have a shortcut way to compare. Andrew Bartlett
2009-11-10Fixes for some tests not eorking against Windows or Samba.Nadezhda Ivanova1-12/+8
2009-11-09s4-samdb: remove the rDN size constraint of 64Andrew Tridgell1-1/+4
This size constraint is not correct in it's current form, as windows does send us rDN values for CN with lengths longer than 64. Once we know how this constraint really works we can add it back in.
2009-11-07ldb_init: use constant for result of "ldb_setup_wellknown_attributes"Matthias Dieter Wallnöfer1-1/+1
2009-11-06s4/ldb: Fix double allocation for "ldb_url"Kamen Mazdrashki1-2/+2
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2009-11-05Python tests for the acl module.Zahari Zahariev1-0/+1104
Signed-off-by: Nadezhda Ivanova <nadezhda.ivanova@postpath.com> Author: Zahari Zahariev <zahari.zahariev@postpath.com>
2009-11-02s4:ldb Remove debug traces duplicated by the new generic trace codeAndrew Bartlett1-3/+0
2009-10-27ldb:tdb backend - be also here more careful with the result valueMatthias Dieter Wallnöfer1-2/+2
"msg_delete_attribute" doesn't return an LDB result constant.
2009-10-27ldb:python bindings - make the intention by Jelmer ("int" vs. "enum") more clearMatthias Dieter Wallnöfer1-0/+2
2009-10-27Revert "ldb python bindungs - better use the "enum ldb_scope" for the search ↵Matthias Dieter Wallnöfer1-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.
2009-10-27s4-ldb: '+' can also happen in base64 encoded index DNsAndrew Tridgell1-1/+1
2009-10-27s4:ldb Add detail to failures in the indexing codeAndrew Bartlett1-2/+8
2009-10-27s4:ldb Add additional tracing of the ldb APIAndrew Bartlett2-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
2009-10-25Merge branch 'master' of ssh://git.samba.org/data/git/sambaAndrew Tridgell4-15/+15
2009-10-25s4-ldb: allow for unescaped '=' in a index DNAndrew Tridgell2-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.
2009-10-25ldb:backend "connect" functions - convert result values to LDB constantsMatthias Dieter Wallnöfer4-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.
2009-10-25s4-ldb: ensure DNs pass validity tests in indexingAndrew Tridgell1-0/+4
2009-10-25s4-ldb: fixed string length handling on index recordsAndrew Tridgell1-2/+2
2009-10-25s4-ldb: don't allow modifies outside a transaction.Andrew Tridgell1-0/+8
2009-10-25s4-ldb: fixed re-index during a complex transactionAndrew Tridgell1-10/+31
We may have modified index objects in the in-memory index tdb
2009-10-23ldb python bindungs - better use the "enum ldb_scope" for the search scope ↵Matthias Dieter Wallnöfer1-2/+3
rather than "int"
2009-10-23s4-python: we need to include Python.h firstAndrew Tridgell1-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.
2009-10-23s4-ldb: added ldb_transaction_cancel_noerr()Andrew Tridgell3-1/+20
This will be used to allow cancelling of transactions in a child after a fork()
2009-10-23s4-dsdb: create a static system_session contextAndrew Tridgell1-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
2009-10-22s4-ldb: added a TODO about checking the indexlistAndrew Tridgell1-0/+2
2009-10-22s4-ldb: fixed some memory leaks in new indexing codeAndrew Tridgell1-1/+3
2009-10-22s4-ldb: don't try to index non-indexed attributesAndrew Tridgell1-0/+4
2009-10-22s4-ldb: ensure new dn_list elements are not owned by callerAndrew Tridgell1-1/+1
2009-10-22s4-ldb: over-allocate index records to save on realloc costsAndrew Tridgell1-1/+5
2009-10-22s4-ldb: fixed tdb error handling in ldb_index.cAndrew Tridgell1-3/+8
2009-10-22s4-ldb: delete empty index recordsAndrew Tridgell1-0/+8
2009-10-22s4-ldb: do more validation of idxptr listsAndrew Tridgell1-12/+31
2009-10-22s4-ldb: expose ltdb_err_map and ltdb_delete_noindexAndrew Tridgell2-2/+5
These will be used by ldb_index.c
2009-10-22s4-ldb: fast path for equal pointersAndrew Tridgell1-1/+1
We compare identical ldb_val values surprisingly often
2009-10-22s4-ldb: when taking a list intersection, the result can be as long as the ↵Andrew Tridgell1-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
2009-10-22s4-ldb: ldb indexing rewrite - part1Andrew Tridgell4-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.
2009-10-22s4-ldb: ldb_oom() for modulesAndrew Tridgell1-0/+1
2009-10-22s4:ldb_sort - Add some more "const"Matthias Dieter Wallnöfer1-2/+2
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2009-10-21S4: ldb_map modules uses defines that are reservedTorgeir Lerkerød4-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>
2009-10-21s4-ldb: allow for non-null terminated ldb_val in ldb_dn_from_ldb_valAndrew Tridgell1-1/+1
The strlen() could go past the end of a non-null terminated value
2009-10-21s4:ldb_map Fix use-after-free of memory in ldb_mapAndrew Bartlett2-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
2009-10-21s4:ldb Put ltdb_private under the 'module'Andrew Bartlett1-0/+1
This helps track the memory better, as we can then place it under the partition hirarchy. Andrew Bartlett
2009-10-21s4:ldb Add new function to create a cut down list of controlsAndrew Bartlett2-0/+47
This I hope will be useful for removing controls from the ldb_reply Andrew Bartlett
2009-10-21s4:ldb Add function to add controls to an LDB replyAndrew Bartlett2-0/+45