summaryrefslogtreecommitdiff
path: root/source4/lib/ldb/common
AgeCommit message (Collapse)AuthorFilesLines
2010-07-19s4-dsdb: use ldb_msg_normalize() in source4/lib/ldb/common/ldb.cKamen Mazdrashki1-5/+7
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2010-07-19s4-ldb: Add ldb_msg_normalize() to accept a memory context from clientKamen Mazdrashki1-12/+41
Previos implementation from ldb_msg_canonicalize() was moved into this function and now ldb_msg_canonicalize() is based on ldb_msg_normalize() Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2010-07-19s4-ldb: Use _ldb_msg_add_el() in ldb_msg_add()Kamen Mazdrashki1-4/+10
Previous implementation was 'leaking' attribute name string, that is allocated by ldb_msg_add_empty() Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2010-07-19s4-ldb: Use _ldb_msg_add_el() in ldb_msg_add_empty()Kamen Mazdrashki1-22/+17
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2010-07-19s4-ldb: Add separate function to add empty element into ldb_msgKamen Mazdrashki1-0/+30
It just adds another element, nothing more. Caller is responsible to fill-in the added element and determine how to handle data allocation contexts. Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2010-07-19s4-ldb: Write more explanatory comment for ldb_msg_add()Kamen Mazdrashki1-3/+8
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2010-07-19s4-ldb: Implement ldb_msg_difference() function to accept a memory context ↵Kamen Mazdrashki1-23/+72
from client Old implementation from ldb_msg_diff() was moved into this this function but with changed interface so that a memory context may be passed. ldb_msg_diff() function is now based on ldb_msg_difference(), which fixes a hidden leak - internal ldb_msg object (returned from ldb_msg_canonicalize) wasn't freed and stays attached to ldb_context for the connection lifetime. Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2010-07-09ldb:common/ldb_dn.c - "ldb_dn_get_parent" - no need to manipulate the real DNMatthias Dieter Wallnöfer1-6/+0
Since the parent DN is a duplication of the passed DN parameter.
2010-07-09s4: fix warning: unused variable ‘i’Kamen Mazdrashki1-1/+0
2010-07-07s4-ldb: added ldb_error() and ldb_operr()Andrew Tridgell1-0/+16
These will be used to help avoid the problem we have with hundreds of places that do "return LDB_ERR_OPERATIONS_ERROR" without an explanation. It is very difficult to track down ldb errors which don't have any explanation. By replacing "return LDB_ERR_OPERATIONS_ERROR;" with "return ldb_operr(ldb);" we at least get a file:line message in the ldb error string. It isn't an ideal error message, but it is much better than just "operations error" This change also makes ldb_oom() return the error code (LDB_ERR_OPERATIONS_ERROR) so you can do: return ldb_oom(ldb); instead of: ldb_oom(ldb); return LDB_ERR_OPERATIONS_ERROR;
2010-07-07s4-ldb: added ldb_options_find()Andrew Tridgell2-4/+76
ldb_options_find() allows backends to find options in the options[] array passed to the connect operation. This will be used by the ldb_ldap bind code
2010-06-29ldb:ldb_modules.c - "ldb_dso_load_symbol" - remove unneeded caste before "dlsym"Matthias Dieter Wallnöfer1-2/+1
2010-06-29s4:ldb - "ldb_dn_update_components" - fix free of invalid DN partsMatthias Dieter Wallnöfer1-4/+3
Use "LDB_FREE" for such free operations and in addition wipe also the casefolded DN out.
2010-06-29ldb:ldb_dn.c - "ldb_dn_set_extended_component" - free the linearized string ↵Matthias Dieter Wallnöfer1-2/+4
when the components change
2010-06-29s4:ldb_dn.c - make the code parts which free extended components consistentMatthias Dieter Wallnöfer1-9/+7
Cosmetic
2010-06-29ldb:ldb_dn - "ldb_dn_explode" - move the "dn->comp_num" initalisation ↵Matthias Dieter Wallnöfer1-3/+3
upwards and use "LDB_FREE" for freeing "dn->components" Mostly cosmetic - no behaviour change
2010-06-20ldb:controls - add the "TREE_DELETE" control for allowing subtree deletesMatthias Dieter Wallnöfer1-0/+27
2010-06-20ldb: add a new control bypassioperationnalMatthieu Patou1-0/+27
Signed-off-by: Jelmer Vernooij <jelmer@samba.org>
2010-06-19ldb:ldb_dn.c - don't support "ldb_dn_add_child" on a "" parent DNMatthias Dieter Wallnöfer1-0/+7
It's meaningless and could end in DNs as "cn=child,".
2010-06-15ldb: Fix included ldb build.Jelmer Vernooij1-0/+4
2010-06-06ldb:ldb_msg_remove_attr - provide a better implementationMatthias Dieter Wallnöfer1-2/+3
We can have some special (bad) messages which contain multiple message elements for the same attribute. The AD password change ones are such an example.
2010-06-02s4:ldb_msg_element_compare - fix typo in commentMatthias Dieter Wallnöfer1-1/+1
2010-05-31ldb:ldb_msg_add_steal_string - prevent also there the addition of strings ↵Matthias Dieter Wallnöfer1-0/+5
with length 0
2010-05-22s4:ldb_controls: make it possible to pass arbitrary control via the command lineStefan Metzmacher1-0/+34
--controls=local_oid:1.3.6.1.4.1.7165.4.3.7:1 To specify the DSDB_CONTROL_PASSWORD_HASH_VALUES_OID control as critical. metze
2010-05-13ldb:ldb_msg.c - use result constantMatthias Dieter Wallnöfer1-1/+1
2010-05-10s4/dn: handle case 'base' dn has no componentsKamen Mazdrashki1-1/+1
This could if the 'base' dn is special for example.
2010-05-04s4/rodc: Support read-only databaseAnatoliy Atanasov1-0/+48
Check on modify if we are RODC and return referral. On the ldap backend side now we pass context and ldb_modify_default_callback to propagate the referral error to the client.
2010-04-12s4-ldb: fixed a crash bug for non-UTF8 stringsAndrew Tridgell1-1/+3
when one of the strings was not valid UTF8, we would try to dereference NULL
2010-03-09Fix typo and convert spaces to tabsSimo Sorce1-4/+4
2010-03-09s4:ldb fix escape parsingSimo Sorce1-2/+24
sscanf can return also on short reads, in this case an invalid escape sequence like '\1k' would be accepted, returning 1 as value and swallowing the 'k'. Use an auxiliar function to validate and convert hex escapes.
2010-03-08LDB:common - Change counters to "unsigned" where appropriateMatthias Dieter Wallnöfer11-67/+76
To count LDB objects use variables of type "unsigned (int)" or "long long int" on binary or downto searches. To count characters in strings use "size_t". To calculate differences between pointers use "ptrdiff_t".
2010-03-01s4:LDB - cosmetic fix for a "for" loopMatthias Dieter Wallnöfer1-1/+1
2010-02-26s4:ldb_dn: fix an uninitialized variable (found by make valgrindtest)Stefan Metzmacher1-1/+1
metze
2010-02-26s4:ldb_dn: remove dn->ext_linearized when ext_components is modified.Stefan Metzmacher1-3/+4
metze
2010-02-26s4:ldb_dn: reset dn->ext_comp_num in ldb_dn_explode()Stefan Metzmacher1-2/+2
metze
2010-02-22LDB related spelling fixes.Brad Hards4-4/+4
Signed-off-by: Matthias Dieter Wallnöfer <mwallnoefer@yahoo.de>
2010-02-14s4-ldb: use TYPESAFE_QSORT() in the rest of the ldb codeAndrew Tridgell2-4/+4
2010-02-11ldb_match - Ignore ":dn" part of extended matches for nowMatthias Dieter Wallnöfer1-2/+5
It's not fully clear what this ":dn" part means for us. What we know is that older AD implementations (Windows Server 2000, 2003) need it to have extended matches working in the expected way. To be able to interoperate with s3's winbind and other tools I and gd decided to transform this into a warning until we know what to do. This should fix bug #6511.
2010-01-13s4:ldb_msg: first try to decode integers as signed and then fallback to unsignedStefan Metzmacher1-0/+18
LDAP only knowns about signed integers, so let ldb_msg_find_attr_as_uint() and ldb_msg_find_attr_as_uint64() cope with it. metze
2010-01-13s4:ldb: be more strict in parsing ldb time stringsStefan Metzmacher1-4/+4
metze
2010-01-09s4-ldb: validate the type of the ldb argument to ldb_dn_new()Andrew Tridgell1-1/+7
It has been a common bug to get the first two arguments the wrong way around
2010-01-02s4-ldb: fixed valgrind error: ares can be freed by callbackAndrew Tridgell1-4/+1
2010-01-02s4-ldb: allow modules to override error return valuesAndrew Tridgell1-2/+4
The samldb module overrides the error code for some returns when handling primaryGroupID. We need to take the error from the async callback to allow this to work reliably
2010-01-02s4-ldb: use safe length limited conversions for int64 and timeAndrew Tridgell1-13/+48
2010-01-02s4-ldb: added ldb_val_to_time() Andrew Tridgell1-0/+27
This is intended as a replacement for ldb_string_to_time() for ldb_val inputs. This ensures it is length limited and includes additional validity checks
2010-01-02s4-ldb: added ldb_module_get_ops()Andrew Tridgell1-0/+5
This is needed to support DSDB_FLAG_OWN_MODULE Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2009-12-18s4-dsdb: added ldb_dn_update_components()Andrew Tridgell1-0/+23
This is used to udpate just the DN components of a ldb_dn, leaving the other extended fields alone. It is needed to prevent linked attribute updates from removing other extended components. Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2009-12-18s4-ldb: canonicalise the message on ldb_addAndrew Tridgell1-0/+9
This canonicalise avoids a problem with an add that has multiple elements with the same el->name. That is allowed by MS servers, and by ldb, but it breaks things like the tdb backend and the repl_meta_data RPMD handling. Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2009-12-16s4-ldb: fixed a transaction error on prepare_commitAndrew Tridgell1-2/+2
when a prepare commit fails, we need to give a cancel to all modules, not a commit! Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2009-12-15Removed ldb_modify_ctrl from ldb, implemented as a static in ldap_backend.Nadezhda Ivanova1-13/+4