summaryrefslogtreecommitdiff
path: root/source4/lib/ldb/include
AgeCommit message (Collapse)AuthorFilesLines
2009-10-03s4:ldb.h - add constant for LDAP EXOP password changeMatthias Dieter Wallnöfer1-4/+21
Also enhance some other comments.
2009-10-02s4:ldb.h - cosmetic - add whitespaceMatthias Dieter Wallnöfer1-1/+1
2009-10-02s4:dsdb Add 'lazy_commit' module to swallow the 'lazy commit' OIDAndrew Bartlett1-0/+9
This allows this control to be specified as critical. We support the control because we choose to always be durable in our transactions. We really, really need a 'duplicate request' API, as at the moment we can't do this without a large, error-prone set of code that cannot cope with new request fields or types. Andrew Bartlett
2009-10-02s4-ldb: Add new relax controls that allow relaxed x500 constraints checksMatthieu Patou1-0/+8
2009-10-02s4-ldb: Add support for binary blobs in DNsAndrew Tridgell1-0/+7
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-09-22s4-ldb: server side sort args are const char *Andrew Tridgell1-2/+2
2009-09-22s4-ldb: only show the outer level of ldb ops when tracingAndrew Tridgell1-0/+1
2009-09-22s4-ldb: don't show timestamps on every line of ldb tracesAndrew Tridgell2-0/+4
This adds ldb_debug_add() and ldb_debug_end() to format multiline messages
2009-09-21s4:ldb Add 'single-value' support to LDB.Andrew Bartlett1-0/+5
This is currently only triggered via Samba4's schema code.
2009-09-21s4-ldb: add a LDB_FLG_ENABLE_TRACING for full ldb tracingAndrew Tridgell1-0/+9
When LDB_FLG_ENABLE_TRACING is set ldb will send full traces of all operations and results
2009-09-20s4:ldb: add ldb_parse_tree_copy_shallow() and change version to 0.9.7Stefan Metzmacher1-0/+6
metze
2009-09-15s4-ldb: expose ldb_transaction_prepare_commit() in ldbAndrew Tridgell2-0/+7
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-08s4/ldb: expose the ldb flags with ldb_get_flags()Andrew Tridgell1-0/+5
2009-09-08s4/ldb: added --show-binary command line optionAndrew Tridgell2-1/+7
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-08s4/ldb: fixed spellingAndrew Tridgell1-2/+2
2009-09-06s4:ldb_errors - add spacesMatthias Dieter Wallnöfer1-0/+2
2009-09-04ldb: make ldb module programming less error proneAndrew Tridgell1-0/+3
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 Tridgell1-0/+1
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-02added ldb_ldif_message_string()Andrew Tridgell1-0/+12
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.
2009-08-28s4-ldb: update dlinklist.h to match main copy (lib/util/dlinklist.h)Michael Adam1-6/+5
Michael
2009-08-26s4:ldb Add ldb_ldif_write_string() and python wrappersAndrew Bartlett1-0/+14
This allows us to turn a python LdbMessage back into a string. Andrew Bartlett
2009-07-23s4:ldb: add support for the new Recycle Bin Feature LDAP controlsStefan Metzmacher1-0/+14
LDB_CONTROL_SHOW_RECYCLED_OID 1.2.840.113556.1.4.2064 LDB_CONTROL_SHOW_DEACTIVATED_LINK_OID 1.2.840.113556.1.4.2065 metze
2009-06-30s4:ldb Allow rootdse module to build without ldb_private.hAndrew Bartlett2-1/+2
It seems quite reasonable to allow modules to re-initialise the set of cached DNs on the ldb context. Andrew Bartlett
2009-06-01added support for unique indexing in ldbAndrew Tridgell1-0/+6
When a attribute is marked as LDB_ATTR_FLAG_UNIQUE_INDEX then attempts to add a 2nd record that has the same attribute value for this attribute as another record will fail. This provides a much more efficient mechanism for ensuring that attributes like objectGUID are unique
2009-04-02major upgrade to the ldb attribute handlingAndrew Tridgell4-27/+21
This is all working towards supporting the full WSPP schema without a major performance penalty. We now use binary searches when looking up classes and attributes. We also avoid the loop loading the attributes into ldb, by adding a hook to override the ldb attribute search function in a module. The attributes can thus be loaded once, and then saved as part of the global schema. Also added support for a few more key attribute syntaxes, as needed for the full schema.
2009-03-31added support for a prepare_commit() op in ldb modulesAndrew Tridgell1-0/+1
This op will be used by the partition module to give us good transaction semantics across the 4 partitions that sam.ldb uses.
2009-02-25Use stdbool.h instead of manually defining boolSimo Sorce1-10/+1
2009-02-23Fix headers, ldb_includes.h is a private header,Simo Sorce3-14/+14
do not reference it from ldb.h
2009-01-30Explicitly include ldb_handlers.h where necessarySimo Sorce1-5/+0
2009-01-30Fix all other modules to use ldb_module.h instead of ldb_private.hSimo Sorce2-3/+3
The only 2 modules escaping the rule so far are rootdse and partitions
2009-01-30Add helper function to get a module name, may be useful for debugging.Simo Sorce1-1/+2
2009-01-30Fix misfiled headers.Simo Sorce2-12/+12
Some public functions were mistakenly put into ldb_private.h Revert all modules to only include ldb_module.h
2009-01-30Fix the mess with ldb includes.Simo Sorce5-107/+170
Separate again the public from the private headers. Add a new header specific for modules. Also add service function for modules as now ldb_context and ldb_module are opaque structures for them.
2009-01-21s4:ldb: remove dependency to samba4's events wrapperStefan Metzmacher1-2/+2
metze
2008-12-29s4:lib/tevent: rename structsStefan Metzmacher2-6/+6
list="" list="$list event_context:tevent_context" list="$list fd_event:tevent_fd" list="$list timed_event:tevent_timer" for s in $list; do o=`echo $s | cut -d ':' -f1` n=`echo $s | cut -d ':' -f2` r=`git grep "struct $o" |cut -d ':' -f1 |sort -u` files=`echo "$r" | grep -v source3 | grep -v nsswitch | grep -v packaging4` for f in $files; do cat $f | sed -e "s/struct $o/struct $n/g" > $f.tmp mv $f.tmp $f done done metze
2008-12-26Fix some tevent includes, trying to fix the buildKai Blin1-1/+1
2008-12-23ldb: Include tevent.h rather than events.h.Jelmer Vernooij1-1/+1
2008-12-17s4:ldb: make it possible to return per entry controlsAndrew Bartlett2-2/+11
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2008-12-17s4:ldb: add infrastructure for extended dn handlersAndrew Bartlett2-2/+82
This introduces a new set of pluggable syntax, for use on the extended DN, and uses them when parsing the DN. If the DN appears to be in the extended form, we no longer return the full DN 'as is', but only return the normal part from ldb_dn_get_linearized(). When validating/parsing the DN we validate not only the format of the DN, but also the contents of the GUID or SID (to ensure they are plausable). We also have functions to set and get the extended components on the DN. For now, extended_dn_get_linearized() returns a newly constructed and allocated string each time. Signed-off-by: Stefan Metzmacher <metze@samba.org>
2008-11-06don't give errors when an empty modules list is given to ldbAndrew Tridgell1-3/+0
2008-10-20Make sure prototypes are always included, make some functions static andJelmer Vernooij1-0/+7
remove some unused functions.
2008-10-16Transform the sequence_number operation into a normal extended operation as ↵Simo Sorce1-17/+20
it should always have been. Make it also async so that it is not a special case.
2008-09-29LDB ASYNC: Core filesSimo Sorce2-65/+138
2008-09-23Merge ldb_search() and ldb_search_exp_fmt() into a simgle function.Simo Sorce1-17/+7
The previous ldb_search() interface made it way too easy to leak results, and being able to use a printf-like expression turns to be really useful.
2008-09-19Add support for implementing LDB modules in Python.Jelmer Vernooij1-0/+1
2008-08-22fixed a problem with length limited ldap valuesAndrew Tridgell2-5/+5
The core ldb code for string matching assumed NULL terminated strings, whereas the anr module used data_blob_const() to effectively truncate a ldb_val by changing its length. The ldb code is supposed to be based around length limited blobs, not NULL terminated strings, so the correct fix was to change the string comparison functions to be length limited (This used to be commit 26c6aa5a80ffaf06fc33f30a6533f8f16ef538bc)
2008-08-21Don't walk past the end of ldb values.Andrew Bartlett1-0/+1
This is a partial fix towards bugs due to us walking past the end of what we think are strings in ldb. There is much more work to do in this area. Andrew Bartlett (This used to be commit 5805a9a8f35fd90fa4f718f73534817fa3bbdfd2)
2008-08-20Merge branch 'v4-0-test' of ssh://git.samba.org/data/git/samba into 4-0-abartletAndrew Bartlett1-2/+2
(This used to be commit 9fa48b3572cb4e55cfaa48a8b516a91904048573)
2008-08-20added a LDB_ATTR_FLAG_FIXED so the schema module can mark attributesAndrew Tridgell1-2/+2
as never to be removed. (This used to be commit 9dce558206a2ce70c69b9b6c5c3c9c58ee165b1d)