summaryrefslogtreecommitdiff
path: root/source4/lib
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:dsdb Use new dsdb_dn code in LDB modules and Samba4 schemaAndrew Bartlett1-0/+12
This converts the code from using the binary DN code in ldb_dn to using a special Samba-specfic wrapper around ldb_dn. We also use the dsdb_dn code for DN+Binary and DN+String comparisons (changed from treating them as Binary blobs) Andrew Bartlett
2009-11-12s4:ldb-samba Use new ldb_any_comparison helper function in ldb-sambaAndrew Bartlett1-41/+5
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-12lib/util Split data_blob_hex_string() into upper and lowerAndrew Bartlett2-2/+2
Rather than have a repeat of the bugs we found at the plugfest where hexidecimal strings must be in upper or lower case in particular places, ensure that each caller chooses which case they want. This reverts most of the callers back to upper case, as things were before tridge's patch. The critical call in the extended DN code is of course handled in lower case. 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-07s4:lib/messaging - fix up the python bindingsMatthias Dieter Wallnöfer2-7/+8
This fixes up the broken "send" method of the python bindings and corrects some other parameter lists in parsing functions (this is only cosmetic). The reason for the bug was a superfluous "|"!
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:dsdb - Store SID as string in FDS.Endi S. Dewata1-2/+2
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-dsdb: call dsdb_make_schema_global() from ldb_wrapAndrew Tridgell1-0/+5
Calling it from samdb_connect() can cause a stale schema to be put into the global schema. Thanks to Andrew Bartlett for spotting this.
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 Tridgell4-4/+4
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: move the tdb_reopen_all() calls to ldb_wrap.cAndrew Tridgell1-1/+8
2009-10-23s4-ldb: use ldb_wrap_fork_hook() to cancel child transactionsAndrew Tridgell1-1/+5
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-ldbwrap: added re-use of ldb contexts in ldb_wrap_connect()Andrew Tridgell3-30/+99
This allows us to reuse a ldb context if it is open twice, instead of going through the expensive process of a full ldb open. We can reuse it if all of the parameters are the same. The change relies on callers using talloc_unlink() or free of a parent to close a ldb context.
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