summaryrefslogtreecommitdiff
path: root/source4/lib/ldb/include/ldb.h
AgeCommit message (Collapse)AuthorFilesLines
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 Tridgell1-0/+9
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-25Use stdbool.h instead of manually defining boolSimo Sorce1-10/+1
2009-02-23Fix headers, ldb_includes.h is a private header,Simo Sorce1-1/+13
do not reference it from ldb.h
2009-01-30Fix all other modules to use ldb_module.h instead of ldb_private.hSimo Sorce1-0/+3
The only 2 modules escaping the rule so far are rootdse and partitions
2009-01-30Fix misfiled headers.Simo Sorce1-3/+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 Sorce1-3/+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-5/+5
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/+9
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2008-12-17s4:ldb: add infrastructure for extended dn handlersAndrew Bartlett1-2/+79
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-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 Sorce1-28/+77
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-08-22fixed a problem with length limited ldap valuesAndrew Tridgell1-4/+4
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-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)
2008-06-27lib/ldb: add forward declaration for struct event_contextStefan Metzmacher1-0/+1
metze (This used to be commit 9bbdc682a985f210874c008a0abc25645e7fbd50)
2008-06-14Make up the right dependencies now that ldb depends on libeventsSimo Sorce1-1/+3
(This used to be commit 3b8eec7ca334528cad3cdcd5e3fc5ee555d8d0e0)
2008-03-02Some cleanups for the ldb doxygen docs.Brad Hards1-10/+12
(This used to be commit 5972308add8b1078e190beab204c1ba4b3a25747)
2008-01-11ldb: Get rid of a warning.Kai Blin1-1/+1
(This used to be commit 37ed9fbeee37a1d86d6f6841eac5c1a0a85c1fcc)
2007-12-21r26371: Fix typo.Jelmer Vernooij1-1/+1
(This used to be commit dcbacd9adb1ded14cbea3513f3db351e5b7bbe87)
2007-12-21r26066: Use TALLOC_CTX consistently for talloc contexts rather than void \* ↵Jelmer Vernooij1-36/+36
(it was already being used for some). (This used to be commit d8b175016570d628bb075008149d32a0d538ce95)
2007-12-21r25624: Remove ipv4_addr hack. Only causes 4 extra includes of ↵Jelmer Vernooij1-5/+7
system/network.h because we stripped down includes. (This used to be commit 262c1c23a61f1f4fae13e0a61179fe98b682cecf)
2007-10-10r25540: Remove prototypes for already removed functions.Jelmer Vernooij1-12/+0
(This used to be commit 042dff55b4cd42b9bedbf574168cc52de3d1dda4)
2007-10-10r25081: Add modules_dir member to ldb_context that is used rather than a globalJelmer Vernooij1-6/+7
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-10r23364: add LDB_FLG_NOMMAP flagAndrew Tridgell1-0/+5
(This used to be commit 0c3442c68b01b6804f3fd966fc1fe9097eb863aa)
2007-10-10r21496: A number of ldb control and LDAP changes, surrounding theAndrew Bartlett1-21/+39
'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-10r20852: add a function to add a ldb control to a ldb_requestStefan Metzmacher1-0/+12
metze (This used to be commit f0bf86ed66f7f9995df35db55f2f3875e7dbacbe)
2007-10-10r20598: add comments and make clear that the void *data element for extended ↵Stefan Metzmacher1-5/+7
operations needs to be NULL or a valid talloc pointer as talloc_get_type() will be called on it. metze (This used to be commit 5731617ea9103eaaef2c5591aab89d59ded35fd8)
2007-10-10r20596: add prototypes for the ldb_extended functionsStefan Metzmacher1-2/+62
metze (This used to be commit 8d3a3117c313c2950381e8d21eb92469a82c3afe)
2007-10-10r20583: implement the frontend calls for extended operationsStefan Metzmacher1-5/+6
metze (This used to be commit cfcd05adc03effeaf85dc776c2d5bb5244f0d6d4)
2007-10-10r20582: use void *data in the ldb_extended struct to match what we have in ↵Stefan Metzmacher1-4/+4
ldb_control add a request element for extended requests metze (This used to be commit 530b3cd2501efb7763cbb7d3301ff0550689effe)
2007-10-10r20581: - the ldb modules have explicit hooks for extended operationsStefan Metzmacher1-2/+2
so call them - reorder the request operations first all with explixit hooks metze (This used to be commit aababcbb05ad476507bba35723eaef01d18b4d4e)
2007-10-10r20462: add functions to handle UTCTime stringsStefan Metzmacher1-5/+31
metze (This used to be commit 49c7da812c290e23bb65b98a2710fb90c4a0ece2)
2007-10-10r20320: add missing prototypesStefan Metzmacher1-1/+18
metze (This used to be commit b9d0ea3954e3f76436e976555540dd29dacd621d)
2007-10-10r20319: fix compiler warningsStefan Metzmacher1-3/+3
metze (This used to be commit 3769270a6a22dd29845e889b0601fcdf7c46acb5)
2007-10-10r20316: fix compiler warningStefan Metzmacher1-1/+1
metze (This used to be commit 58cbbaa4b49bfed6d4e9c5802af988864e06675f)
2007-10-10r20189: remove unused struct elementStefan Metzmacher1-1/+0
metze (This used to be commit d20d1872d5ed1176928b85ef9811c6a5177d0148)
2007-10-10r20184: change ldb_attrib_handler into ldb_schema_attribute, which has a pointerStefan Metzmacher1-18/+8
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-0/+8
metze (This used to be commit 8dda4342f648aa71878ac9eeb7941710e2813aee)
2007-10-10r20046: Add ldb_search_exp_fmt and port comment to 4Volker Lendecke1-3/+10
(This used to be commit 879dfed8d8356aae6a11352b89bdc0f2d9f28970)
2007-10-10r20034: Start using ldb_search_exp_fmt()Simo Sorce1-0/+3
(This used to be commit 4f07542143ddf5066f0360d965f26a8470504047)
2007-10-10r19906: ldb_attr_cmp is used a lotSimo Sorce1-1/+5
remove unneded overhead of a function call (This used to be commit 3ca25867621af049c6cc52e919fa46dd26c31918)
2007-10-10r19832: better prototypes for the linearization functions:Simo Sorce1-2/+2
- ldb_dn_get_linearized returns a const string - ldb_dn_alloc_linearized allocs astring with the linearized dn (This used to be commit 3929c086d5d0b3f08b1c4f2f3f9602c3f4a9a4bd)
2007-10-10r19831: Big ldb_dn optimization and interfaces enhancement patchSimo Sorce1-45/+49
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-10r19531: Make struct ldb_dn opaque and local to ldb_dn.cSimo Sorce1-35/+27
(This used to be commit 889fb983ba1cf8a11424a8b3dc3a5ef76e780082)
2007-10-10r19489: Change ldb_msg_add_value and ldb_msg_add_empty to take a foruth ↵Simo Sorce1-3/+7
argument. This is a pointer to an element pointer. If it is not null it will be filled with the pointer of the manipulated element. Will avoid double searches on the elements list in some cases. (This used to be commit 0fa5d4bc225b83e9f63ac6d75bffc4c08eb6b620)
2007-10-10r19453: Expose helper functionsSimo Sorce1-1/+140
(This used to be commit ee86e88e4f523d67900b52b5a4d4040a76360c61)