summaryrefslogtreecommitdiff
path: root/source4/lib/ldb/common
AgeCommit message (Collapse)AuthorFilesLines
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
2009-12-14s4-ldb: added a function to filter extended components of a ldb_dnAndrew Tridgell1-0/+16
We need to be able to filter out components that should not be exposed to users
2009-12-14s4-ldb: added a new "reveal" controlAndrew Tridgell1-0/+27
This control will allow inspection of internal ldb values, which would normally be stripped before being presented to users. The first use will be stripping linked attribute meta data extended components.
2009-12-14s4-ldb: sort the linearized extended DN by component nameAndrew Tridgell1-0/+14
This will make life easier when handling deleted linked attributes
2009-12-10s4-ldb: fixed 2 bugs in ldb_dn_set_extended_component()Andrew Tridgell1-2/+5
The first bug was that setting a component twice could cause it to appear twice in the DN. The second bug was that using an existing ldb_val from a previous call of ldb_dn_get_extended_component() as an argument to ldb_dn_set_extended_component() would cause a valgrind error (as the array the val pointed into will change).
2009-12-10s4-ldb: use GUID_to_ndr_blob()Andrew Tridgell1-1/+6
2009-12-07s4:ldb Add a function to match a message against an objectClassAndrew Bartlett1-0/+19
(as objectClass will always be a case insensitive ascii string, we can make a much simpler match function here than for the general case). Andrew Bartlett
2009-12-05s4-ldif: Fix memory leek in ldb_ldif_write()Kamen Mazdrashki1-0/+2
2009-11-30s4-ldb: changed ldb_msg_add_dn() to ldb_msg_add_linearized_dn()Crístian Deives1-3/+4
this makes the usage clearer Signed-off-by: Andrew Tridgell <tridge@samba.org>
2009-11-28s4: fix SD update and password change in upgrade scriptMatthieu Patou1-0/+27
- reserve a new Samba OID for recalculate SD control - fix the update SD function - fix handling of kvno in the update_machine_account_password function - fix handling of handles in RPC winreg server Signed-off-by: Andrew Tridgell <tridge@samba.org>
2009-11-27s4-ldb: better to test for valid arguments in ldb library than commandlineAndrew Tridgell1-0/+10
We were testing for valid DNs in ldbrename in the command line tool. This hid a bug in the ldb library where we caught a bad DN in the objectclass module rather than in the main ldb code. It is better to do validation of the DNs passed on the command line in the library code, as this gives us more consistent error handling between the programming APIs for ldb and the command line.
2009-11-20Some changes to allow processing of ldap controls on modify requests.Nadezhda Ivanova1-4/+13
ldap_backend used to filter out ldap controls on modify. Also, modified python binding for ldap_modify to allow writing tests for such controls.
2009-11-20s4-ldb: added a warning about ldb_msg_add_dnAndrew Tridgell1-0/+2
ldb_msg_add_dn does not copy the dn linearized string
2009-11-20added new function "ldb_msg_add_dn"Crístian Deives1-0/+9
a helper function to a DN element to an ldb_msg using ldb_msg_add_string. Signed-off-by: Andrew Tridgell <tridge@samba.org>
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 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 Bartlett1-0/+27
This will help simplify boilerplate comparison functions where we don't have a shortcut way to compare. Andrew Bartlett
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-10-27s4-ldb: '+' can also happen in base64 encoded index DNsAndrew Tridgell1-1/+1
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-25s4-ldb: allow for unescaped '=' in a index DNAndrew Tridgell1-0/+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-23s4-ldb: added ldb_transaction_cancel_noerr()Andrew Tridgell1-0/+13
This will be used to allow cancelling of transactions in a child after a fork()
2009-10-22s4-ldb: fast path for equal pointersAndrew Tridgell1-1/+1
We compare identical ldb_val values surprisingly often