summaryrefslogtreecommitdiff
path: root/source4/lib/ldb/include/ldb_private.h
AgeCommit message (Collapse)AuthorFilesLines
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 Tridgell1-0/+2
This adds ldb_debug_add() and ldb_debug_end() to format multiline messages
2009-09-15s4-ldb: expose ldb_transaction_prepare_commit() in ldbAndrew Tridgell1-0/+2
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-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-06-30s4:ldb Allow rootdse module to build without ldb_private.hAndrew Bartlett1-1/+0
It seems quite reasonable to allow modules to re-initialise the set of cached DNs on the ldb context. Andrew Bartlett
2009-04-02major upgrade to the ldb attribute handlingAndrew Tridgell1-0/+3
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-02-23Fix headers, ldb_includes.h is a private header,Simo Sorce1-4/+1
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 Sorce1-3/+0
The only 2 modules escaping the rule so far are rootdse and partitions
2009-01-30Fix misfiled headers.Simo Sorce1-9/+0
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 Sorce1-102/+3
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.
2008-12-29s4:lib/tevent: rename structsStefan Metzmacher1-1/+1
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-17s4:ldb: make it possible to return per entry controlsAndrew Bartlett1-1/+2
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2008-12-17s4:ldb: add infrastructure for extended dn handlersAndrew Bartlett1-0/+3
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-09-29LDB ASYNC: Core filesSimo Sorce1-37/+61
2008-09-19Add support for implementing LDB modules in Python.Jelmer Vernooij1-0/+1
2008-08-22fixed a problem with length limited ldap valuesAndrew Tridgell1-1/+1
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-20Remove last traces of the old 'subclass' featureAndrew Bartlett1-7/+0
(This used to be commit ed19d0abea5b206d186a51fa11dc0c04197e6ee2)
2008-06-14Make up the right dependencies now that ldb depends on libeventsSimo Sorce1-0/+2
(This used to be commit 3b8eec7ca334528cad3cdcd5e3fc5ee555d8d0e0)
2008-03-28Merge v4.0-testJelmer Vernooij1-1/+1
(This used to be commit 977dbdeaf363c8905ed9fd0570eba4be80582833)
2008-03-18ldb: fix the standalone buildStefan Metzmacher1-2/+2
metze (This used to be commit 91b49365abed6f67e2b3c18b0090b4e6ff1df935)
2008-02-26Fix the build (again).Jelmer Vernooij1-0/+4
(This used to be commit ef00f6b5817107738dc44367838095896af4e77d)
2008-02-25Fix use of realpath, fix init functions for ldb.Jelmer Vernooij1-1/+3
(This used to be commit ca510136d2c4cae8f520c76df6aaadb5d412bea1)
2008-02-20Remove more function-based inits.Jelmer Vernooij1-11/+26
(This used to be commit b1a7810f3e70f9a831d9b8e85d531e448072adaf)
2007-12-21r26481: Make function for loading symbol from DSO more generic, and allow ↵Jelmer Vernooij1-1/+2
modules to provide an ops table directly rather than an initialization function. (This used to be commit a71419a73a869c24121005ccbbcb4396f888888b)
2007-12-21r25887: Build Samba-specific ldb modules as dso's.Jelmer Vernooij1-0/+2
(This used to be commit 9d73becbb24fbde2e319e18e84af35d9efaeefda)
2007-10-10r25081: Add modules_dir member to ldb_context that is used rather than a globalJelmer Vernooij1-0/+2
modulesdir setting. Samba always sets this to lp_modulesdir()/ldb (This used to be commit e672380d2156cf0421108a9c34f04f096c2afeed)
2007-10-10r23798: updated old Temple Place FSF addresses to new URLAndrew Tridgell1-2/+1
(This used to be commit 40c0919aaa9c1b14bbaebb95ecce53eb0380fdbb)
2007-10-10r23795: more v2->v3 conversionAndrew Tridgell1-1/+1
(This used to be commit 84b468b2f8f2dffda89593f816e8bc6a8b6d42ac)
2007-10-10r21553: Remove bogus comment.Andrew Bartlett1-3/+0
(This used to be commit 7c5529729b95f170508b9fe4f04bd33d6f000b1e)
2007-10-10r21496: A number of ldb control and LDAP changes, surrounding theAndrew Bartlett1-0/+3
'phantom_root' flag in the search_options control - Add in support for LDB controls to the js layer - Test the behaviour - Implement support for the 'phantom_root' flag in the partitions module - Make the LDAP server set the 'phantom_root' flag in the search_options control - This replaces the global_catalog flag passed down as an opaque pointer - Rework the string-format control parsing function into ldb_parse_control_strings(), returning errors by ldb_errorstring() method, rather than with printf to stderr - Rework some of the ldb_control handling logic Andrew Bartlett (This used to be commit 2b3df7f38d7790358dbb4de1b8609bf794a351fb)
2007-10-10r20761: let ldb modules call ldb_set_default_dns()Stefan Metzmacher1-0/+1
metze (This used to be commit 224a31cdbf12a555b8c46786c9f83fec8e839c5a)
2007-10-10r20184: change ldb_attrib_handler into ldb_schema_attribute, which has a pointerStefan Metzmacher1-9/+14
to a ldb_schema_syntax struct. the default attribute handler is now registered dynamicly as "*" attribute, instead of having its own code path. ldb_schema_attribute's can be added to the ldb_schema given a ldb_schema_syntax struct or the syntax name we may also need to introduce a ldb_schema_matching_rule, and add a pointer to a default ldb_schema_matching_rule in the ldb_schema_syntax. metze (This used to be commit b97b8f5dcbce006f005e53ca79df3330e62f117b)
2007-10-10r20168: start separating attributes and syntaxesStefan Metzmacher1-2/+2
metze (This used to be commit 8dda4342f648aa71878ac9eeb7941710e2813aee)
2007-10-10r19831: Big ldb_dn optimization and interfaces enhancement patchSimo Sorce1-1/+1
This patch changes a lot of the code in ldb_dn.c, and also removes and add a number of manipulation functions around. The aim is to avoid validating a dn if not necessary as the validation code is necessarily slow. This is mainly to speed up internal operations where input is not user generated and so we can assume the DNs need no validation. The code is designed to keep the data as a string if possible. The code is not yet 100% perfect, but pass all the tests so far. A memleak is certainly present, I'll work on that next. Simo. (This used to be commit a580c871d3784602a9cce32d33419e63c8236e63)
2007-10-10r19731: Modify the ldb_map infrustructure to always map from requestedAndrew Bartlett1-0/+2
attributes to backend (remote) attributes. We can't do a reverse mapping safely where the remote attribute may be a source for multiple local attributes. (We end up with the wrong attributes returned). In doing this, I've modified the samba3sam.js test to be more realistic, and fixed some failures in the handling of primaryGroupID. I've added a new (private) helper function ldb_msg_remove_element() to avoid a double lookup of the element name. I've also re-formatted many of the function headers, to fit into standard editor widths. Andrew Bartlett (This used to be commit 186766e3095e71ba716c69e681592e217a3bc420)
2007-10-10r19455: forgot thisSimo Sorce1-0/+1
(This used to be commit 2b770885cd234027f92ba543706df5d55f16f739)
2007-10-10r18942: add a ldb_set_create_perms() function in ldb. I didn't call itAndrew Tridgell1-0/+2
ldb_set_umask() (which is what we had discussed) as it doesn't actually set the umask (in effect it sets the inverse of the umask - the perms to be used for the file) (This used to be commit 7e2ec875908c112d5c3b0f6d18f9a8bbacf33539)
2007-10-10r18781: Move the usnCreated and usnChanged handling around again.Andrew Bartlett1-0/+10
This moves these attributes from objectguid into an optional backend (objectguid), used by ltdb. For OpenLDAP, the entryUUID module converts entryCSN into usnChanged. This also changes the sequence number API, and uses 'time based' sequence numbers, when an LDAP or similar backend is detected. To assist this, we also store the last modified time in the TDB, whenever we change a value. Andrew Bartlett (This used to be commit 72858f859483c0c532dddb2c146d6bd7b9be5072)
2007-10-10r17743: fix compiler warningsStefan Metzmacher1-1/+1
metze (This used to be commit 694a56b0ae0125594d6a23d8465249f011b6284e)
2007-10-10r17579: make ldb build g++ friendlyAndrew Tridgell1-3/+3
(This used to be commit 403cbd335594112e0c58fd68d20f0e3faad7d186)
2007-10-10r17514: Simplify the way to set ldb errors and add anotherSimo Sorce1-1/+2
helper function to set them. (This used to be commit 260868bae56194fcb98d55afc22fc66d96a303df)
2007-10-10r17474: Allow the partitions module to load modules for specific backends.Andrew Bartlett1-0/+3
Andrew Bartlett (This used to be commit c016db2187120991e8ad779b9df35480d7c19400)
2007-10-10r17368: Add 'const' to ldb_match_msg().Andrew Bartlett1-2/+2
Andrew Bartlett (This used to be commit 54eda4b85975c44c993a7dc45f6caa898076f163)
2007-10-10r17195: Start thinking how to implement extended operations.Simo Sorce1-0/+1
Ad supports three extended operations: - start tls - dynamic objects - fast binds none of these are a priority. (This used to be commit 523e8f3ed4bf5fcf9dc0c9e2100e4ac3b8032be7)
2007-10-10r17185: Oh, I wanted to do this for sooo long time.Simo Sorce1-1/+1
Finally acknowledge that ldb is inherently async and does not have a dual personality anymore Rename all ldb_async_XXX functions to ldb_XXX except for ldb_async_result, it is now ldb_reply to reflect the real function of this structure. Simo. (This used to be commit 25fc7354049d62efeba17681ef1cdd326bc3f2ef)
2007-10-10r16972: Replace the sequence_number function pointer in ldb with the ldb flags.Andrew Bartlett1-3/+2
The function pointer was meant to be unused, this patch fixes partition.c to use ldb_sequence_number(). (No backend provided the pointer any more). Set the flags onto the ldb structure, so that all backends opened by the partitions module inherit the flags. Set the read-ony flag when accessed as the global catalog Modify the LDAP server to track that this query is for the global catalog (by incoming port), and set a opqaue pointer. Next step is to read that opaque pointer in the partitions module. Andrew Bartlett (This used to be commit a1161cb30e4ffa09657a89e03ca85dd6efd4feba)