Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2009-11-13 | s4-ldb: make DN escaping/unescaping consistent | Andrew Tridgell | 1 | -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-12 | s4:ldb Allow ldb_msg_canonicalize to handle empty elements | Andrew Bartlett | 1 | -1/+1 | |
(These are deliberately there in DRS replication). Andrew Bartlett | |||||
2009-11-12 | s4:ldb Don't segfault if we somehow get an unknown extended dn element | Andrew Bartlett | 1 | -0/+8 | |
2009-11-12 | s4:ldb Change ldb_request_add_control to the normal 'for loop' pattern | Andrew Bartlett | 1 | -2/+1 | |
2009-11-12 | s4:ldb Add Well Known GUID (WKGUID) tests to ldap.py | Andrew Bartlett | 1 | -0/+17 | |
2009-11-12 | s4:ldb Remove DN+Binary code from the core ldb_dn | Andrew Bartlett | 1 | -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-12 | s4:ldb Add a helper function for 'canonicalise' both strings base compares | Andrew Bartlett | 2 | -0/+33 | |
This will help simplify boilerplate comparison functions where we don't have a shortcut way to compare. Andrew Bartlett | |||||
2009-11-10 | Fixes for some tests not eorking against Windows or Samba. | Nadezhda Ivanova | 1 | -12/+8 | |
2009-11-09 | s4-samdb: remove the rDN size constraint of 64 | Andrew Tridgell | 1 | -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-07 | ldb_init: use constant for result of "ldb_setup_wellknown_attributes" | Matthias Dieter Wallnöfer | 1 | -1/+1 | |
2009-11-06 | s4/ldb: Fix double allocation for "ldb_url" | Kamen Mazdrashki | 1 | -2/+2 | |
Signed-off-by: Stefan Metzmacher <metze@samba.org> | |||||
2009-11-05 | Python tests for the acl module. | Zahari Zahariev | 1 | -0/+1104 | |
Signed-off-by: Nadezhda Ivanova <nadezhda.ivanova@postpath.com> Author: Zahari Zahariev <zahari.zahariev@postpath.com> | |||||
2009-11-02 | s4:ldb Remove debug traces duplicated by the new generic trace code | Andrew Bartlett | 1 | -3/+0 | |
2009-10-27 | ldb:tdb backend - be also here more careful with the result value | Matthias Dieter Wallnöfer | 1 | -2/+2 | |
"msg_delete_attribute" doesn't return an LDB result constant. | |||||
2009-10-27 | ldb:python bindings - make the intention by Jelmer ("int" vs. "enum") more clear | Matthias Dieter Wallnöfer | 1 | -0/+2 | |
2009-10-27 | Revert "ldb python bindungs - better use the "enum ldb_scope" for the search ↵ | Matthias Dieter Wallnöfer | 1 | -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-27 | s4-ldb: '+' can also happen in base64 encoded index DNs | Andrew Tridgell | 1 | -1/+1 | |
2009-10-27 | s4:ldb Add detail to failures in the indexing code | Andrew Bartlett | 1 | -2/+8 | |
2009-10-27 | s4:ldb Add additional tracing of the ldb API | Andrew Bartlett | 2 | -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-25 | Merge branch 'master' of ssh://git.samba.org/data/git/samba | Andrew Tridgell | 4 | -15/+15 | |
2009-10-25 | s4-ldb: allow for unescaped '=' in a index DN | Andrew Tridgell | 2 | -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-25 | ldb:backend "connect" functions - convert result values to LDB constants | Matthias Dieter Wallnöfer | 4 | -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-25 | s4-ldb: ensure DNs pass validity tests in indexing | Andrew Tridgell | 1 | -0/+4 | |
2009-10-25 | s4-ldb: fixed string length handling on index records | Andrew Tridgell | 1 | -2/+2 | |
2009-10-25 | s4-ldb: don't allow modifies outside a transaction. | Andrew Tridgell | 1 | -0/+8 | |
2009-10-25 | s4-ldb: fixed re-index during a complex transaction | Andrew Tridgell | 1 | -10/+31 | |
We may have modified index objects in the in-memory index tdb | |||||
2009-10-23 | ldb python bindungs - better use the "enum ldb_scope" for the search scope ↵ | Matthias Dieter Wallnöfer | 1 | -2/+3 | |
rather than "int" | |||||
2009-10-23 | s4-python: we need to include Python.h first | Andrew Tridgell | 1 | -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-23 | s4-ldb: added ldb_transaction_cancel_noerr() | Andrew Tridgell | 3 | -1/+20 | |
This will be used to allow cancelling of transactions in a child after a fork() | |||||
2009-10-23 | s4-dsdb: create a static system_session context | Andrew Tridgell | 1 | -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-22 | s4-ldb: added a TODO about checking the indexlist | Andrew Tridgell | 1 | -0/+2 | |
2009-10-22 | s4-ldb: fixed some memory leaks in new indexing code | Andrew Tridgell | 1 | -1/+3 | |
2009-10-22 | s4-ldb: don't try to index non-indexed attributes | Andrew Tridgell | 1 | -0/+4 | |
2009-10-22 | s4-ldb: ensure new dn_list elements are not owned by caller | Andrew Tridgell | 1 | -1/+1 | |
2009-10-22 | s4-ldb: over-allocate index records to save on realloc costs | Andrew Tridgell | 1 | -1/+5 | |
2009-10-22 | s4-ldb: fixed tdb error handling in ldb_index.c | Andrew Tridgell | 1 | -3/+8 | |
2009-10-22 | s4-ldb: delete empty index records | Andrew Tridgell | 1 | -0/+8 | |
2009-10-22 | s4-ldb: do more validation of idxptr lists | Andrew Tridgell | 1 | -12/+31 | |
2009-10-22 | s4-ldb: expose ltdb_err_map and ltdb_delete_noindex | Andrew Tridgell | 2 | -2/+5 | |
These will be used by ldb_index.c | |||||
2009-10-22 | s4-ldb: fast path for equal pointers | Andrew Tridgell | 1 | -1/+1 | |
We compare identical ldb_val values surprisingly often | |||||
2009-10-22 | s4-ldb: when taking a list intersection, the result can be as long as the ↵ | Andrew Tridgell | 1 | -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-22 | s4-ldb: ldb indexing rewrite - part1 | Andrew Tridgell | 4 | -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-22 | s4-ldb: ldb_oom() for modules | Andrew Tridgell | 1 | -0/+1 | |
2009-10-22 | s4:ldb_sort - Add some more "const" | Matthias Dieter Wallnöfer | 1 | -2/+2 | |
Signed-off-by: Andrew Bartlett <abartlet@samba.org> | |||||
2009-10-21 | S4: ldb_map modules uses defines that are reserved | Torgeir Lerkerød | 4 | -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-21 | s4-ldb: allow for non-null terminated ldb_val in ldb_dn_from_ldb_val | Andrew Tridgell | 1 | -1/+1 | |
The strlen() could go past the end of a non-null terminated value | |||||
2009-10-21 | s4:ldb_map Fix use-after-free of memory in ldb_map | Andrew Bartlett | 2 | -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-21 | s4:ldb Put ltdb_private under the 'module' | Andrew Bartlett | 1 | -0/+1 | |
This helps track the memory better, as we can then place it under the partition hirarchy. Andrew Bartlett | |||||
2009-10-21 | s4:ldb Add new function to create a cut down list of controls | Andrew Bartlett | 2 | -0/+47 | |
This I hope will be useful for removing controls from the ldb_reply Andrew Bartlett | |||||
2009-10-21 | s4:ldb Add function to add controls to an LDB reply | Andrew Bartlett | 2 | -0/+45 | |