summaryrefslogtreecommitdiff
path: root/source4/lib/ldb/common
AgeCommit message (Collapse)AuthorFilesLines
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
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 Add new function to create a cut down list of controlsAndrew Bartlett1-0/+41
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 Bartlett1-0/+34
2009-10-18s4:ldb_msg_check_string_attribute - add a comment about the result valuesMatthias Dieter Wallnöfer1-1/+5
2009-10-18Revert "s4:ldb_msg - Use LDB constants on results"Matthias Dieter Wallnöfer1-3/+4
This reverts commit 56a8baff3df6a5120b6c7bbca771dfb7c6934fd5. Simo pointed out that I was wrong here.
2009-10-18s4:ldb_msg - Use LDB constants on resultsMatthias Dieter Wallnöfer1-5/+7
2009-10-16s4:ldb - fixed dangling pointer in ldb_request_add_control()Endi S. Dewata1-2/+7
2009-10-15s4-ldb: removed bugus RDN length checkAndrew Tridgell1-5/+0
This isn't the rDN !
2009-10-12Revert "s4:ldb - add a check which has to be done on beginning of a "modify" ↵Matthias Dieter Wallnöfer1-8/+0
operation" This reverts commit f9990e9b391f330a8e6c5c158ee4e4eaa50f6176. abartlet claims that this behaviour is too AD specific to put here. Btw I had also some doubts if this is clean enough. I put it only here to make "ldap.py" pass. I'll try to find a new solution soon.
2009-10-12s4:ldb Allow a NULL module listAndrew Bartlett1-1/+1
2009-10-12s4:ldb Allow a module string of ""Andrew Bartlett1-0/+6
(We may have no modules set) Andrew Bartlett
2009-10-08s4:ldb - add a check which has to be done on beginning of a "modify" operationMatthias Dieter Wallnöfer1-0/+8
2009-10-02Revert "s4:ldb always talloc_free() the ldb_ldif_write context, even on success"Andrew Tridgell1-1/+0
This reverts commit a610843e9f21ee77fd29356313d2ef05fe25a1ed.
2009-10-02s4:ldb always talloc_free() the ldb_ldif_write context, even on successAndrew Bartlett1-0/+1
2009-10-02s4-ldb: Add new relax controls that allow relaxed x500 constraints checksMatthieu Patou1-0/+27
2009-10-02s4-ldb: Add support for binary blobs in DNsAndrew Tridgell1-30/+288
AD has the concept of a DN prefixed with B:NN:XXXXXX: that contains a binary blob. We need to support those in order to give correctly formatted binary blobs for things like wellKnownObjects This implementation is not ideal, as it allows for binary blobs on all DNs, whereas it should only allow them on those with a syntax of 2.5.5.7. We should clean this up in the future, but meanwhile this implementation at least gets us a working DC join of w2k8 to s4. This patch also uses a static function for marking DNs as invalid, which is very useful when debugging this code, as you can break on it in gdb.
2009-10-01s4:ldb_msg_diff - Fixes up possible memory leaks and the python binding of itMatthias Dieter Wallnöfer1-3/+9
2009-09-22s4-ldb: fixed call argument order for ldb_dn_from_ldb_valAndrew Tridgell1-3/+3
This caused _lots_ of problems, especially in server side sort
2009-09-22s4-ldb: when tracing, show ldb_set_debug messagesAndrew Tridgell1-0/+3
2009-09-22s4-ldb: only show the outer level of ldb ops when tracingAndrew Tridgell2-4/+37
2009-09-22s4-ldb: don't show timestamps on every line of ldb tracesAndrew Tridgell3-64/+96
This adds ldb_debug_add() and ldb_debug_end() to format multiline messages
2009-09-22Move the check above the tallocAnatoliy Atanasov1-5/+6
2009-09-21Add support in the ldb_dn.c code for MS-ADTS:3.1.1.5.1.2 Naming ConstraintsAnatoliy Atanasov1-0/+13
2009-09-21s4-ldb: bit prettier outputAndrew Tridgell1-7/+15
2009-09-21s4-ldb: fixed O(n^2) string handling in ldif debug printAndrew Tridgell1-3/+3
2009-09-21s4-ldb: add a LDB_FLG_ENABLE_TRACING for full ldb tracingAndrew Tridgell3-1/+126
When LDB_FLG_ENABLE_TRACING is set ldb will send full traces of all operations and results
2009-09-20s4:ldb print out which LDB the transaction is still active on.Andrew Bartlett1-2/+2
2009-09-20s4:ldb_parse - Fix the type of an array entryMatthias Dieter Wallnöfer1-1/+1
I found this through a compile warning. Hope that I got this right.
2009-09-20s4:ldb: add ldb_parse_tree_copy_shallow() and change version to 0.9.7Stefan Metzmacher1-0/+58
metze
2009-09-15s4-ldb: ldap attribute names can contain a '.'Andrew Tridgell1-1/+2
When they are of the form of OIDs
2009-09-15s4-ldb: expose ldb_transaction_prepare_commit() in ldbAndrew Tridgell1-21/+57
It is useful to be able to control the 2 phase commit from application code (s4 replication uses it)
2009-09-11ldb: Remove references to operational module init function.Jelmer Vernooij1-1/+0
This module is now part of Samba 4's dsdb subsystem rather than standalone ldb.
2009-09-11s4-ldb: don't remove a message element beyond the end of the arrayAndrew Tridgell1-0/+4
2009-09-08s4/ldb: expose the ldb flags with ldb_get_flags()Andrew Tridgell1-0/+6
2009-09-08s4/ldb: don't line wrap ldif when --show-binary is usedAndrew Tridgell1-4/+9
2009-09-08s4/ldb: added --show-binary command line optionAndrew Tridgell1-2/+6
This add --show-binary to ldbsearch. When this flag is set, binary blobs will be shown as-is, instead of base64 encoded. This is useful for some XML encoded attributes, and will also be used as part of some NDR print formatting for attributes like repsTo.
2009-09-04ldb: make ldb module programming less error proneAndrew Tridgell1-0/+14
When a top level method in a module returns an error, it is supposed to call ldb_module_done(). We ran across a case where this wasn't done, and then found that in fact that are hundreds of similar cases in our modules. It took Andrew and I a full day to work out that this was the cause of a subtle segv in another part of the code. To try to prevent this happening again, this patch changes ldb_next_request() to catch the error by checking if a module returning an error has called ldb_module_done(). If it hasn't then the call is made on behalf of the module.
2009-09-03always use prepare_commit in ldb transaction commits if possibleAndrew Tridgell2-6/+50
The reason we need this is to make multi-tdb transactions safe, with the partition module. The linked_attributes and repl_meta_data modules now do extra processing when the transaction ends, and that processing can fail. When it fails we need to cancel the transaction, which we can only do if the hook is on the prepare commit instead of the end transaction call. Otherwise the partition module cannot ensure that no commit has been done on another partition.
2009-09-02don't allow two controls to be added with the same OIDAndrew Tridgell1-1/+7
Two controls with the same OID makes no sense, as they may have different data attached
2009-09-02added ldb_ldif_message_string()Andrew Tridgell1-0/+16
This function provides a easy function for displaying a ldb_message structure in a human readable format. It is especially useful for calling in gdb.