summaryrefslogtreecommitdiff
path: root/source4/lib/ldb/include/ldb_private.h
AgeCommit message (Collapse)AuthorFilesLines
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)
2007-10-10r16084: Add private prototype for new ldb_connect_backend() function.Andrew Bartlett1-0/+5
Andrew Bartlett (This used to be commit 684126223046d88d1ff446767ab6783f6391b50c)
2007-10-10r16083: Make it possible to initialise a backend module, without it setting upAndrew Bartlett1-1/+3
the whole ldb structure. Because the sequence number was a fn pointer on the main ldb context, turn it into a full request (currently sync). Andrew Bartlett (This used to be commit fbe7d0ca9031e292b2d2fae263233c973982980a)
2007-10-10r16036: Add a couple of new functions to corretly deal with timeouts.Simo Sorce1-0/+2
Check timeouts are correctly verified. Some minor fixed and removal of unused code. (This used to be commit b52e5d6a0cb1a32e62759eaa49ce3e4cc804cc92)
2007-10-10r15927: Optimize ldb module traverse while keeping the API intact.Simo Sorce1-1/+6
I was sick of jumping inot each module for each request, even the ones not handle by that module. (This used to be commit 7d65105e885a28584e8555453b90232c43a92bf7)
2007-10-10r14592: Add support for loading shared modules to LDB.Jelmer Vernooij1-0/+1
(This used to be commit f10fae23f0685b2d9c6174596e1c66d799f02c52)
2007-10-10r13992: change the way ldb_async_wait() works.Simo Sorce1-1/+1
I think I should change the name of this function to ldb_async_process(), any opinions ? (This used to be commit 3347322d1327cfa975ee9dccd4f2774e6e14fbcb)
2007-10-10r13990: Fix issues with function renaming.Jelmer Vernooij1-2/+0
(This used to be commit 988ea27e22e3c0f4daf118151f90db5bb243bffc)
2007-10-10r13934: these are only needed for a standalone buildStefan Metzmacher1-0/+2
metze (This used to be commit 0db8351b149e5c3d91bf7f2d36ceed329462133c)
2007-10-10r13839: Use registration mechanism for backends as well (in the same senseJelmer Vernooij1-15/+6
my previous patch added it for modules). This is the next step towards LDB backends and modules as run-time loadable .so files. (This used to be commit fb2f70de4f6c4a9b13ad590cb4d3a9c858cede49)
2007-10-10r13823: make async_wait part of the modules opsSimo Sorce1-2/+1
(This used to be commit b4202cf030d5f154f0f94f5f501ecd648ba5c48f)
2007-10-10r13786: [merge] Add registration functions for LDB modulesJelmer Vernooij1-15/+10
Applications that use LDB modules will now have to run ldb_global_init() before they can use LDB. The next step will be adding support for loading LDB modules from .so files. This will also allow us to use one LDB without difference between the standalone and the Samba-specific build (This used to be commit 52a235650514039bf8ffee99a784bbc1b6ae6b92)
2007-10-10r13700: added highestCommittedUSN, uSNChanged and uSNCreated support, usingAndrew Tridgell1-0/+3
the @BASEINFO sequenceNumber (simo, I changed the function pointer to a structure element as you preferred) (This used to be commit 68c9ac38c7eed221b44499ee3d74597063dfe7a1)
2007-10-10r13615: Make ldb_set_errstring get ldb instead of module as parameter.Simo Sorce1-1/+1
The module was just used to get to the ldb so it was meningless. Also add LDB_WAIT_ONCE e relative code in ldb_ildap.c (This used to be commit d5b467b7c132b0bd4d23918ba7bf3370b1afcce8)
2007-10-10r13609: Get in the initial work on making ldb asyncSimo Sorce1-0/+3
Currently only ldb_ildap is async, the plan is to first make all backend support the async calls, and then remove the sync functions from backends and keep the only in the API. Modules will need to be transformed along the way. Simo (This used to be commit 1e2c13b2d52de7c534493dd79a2c0596a3e8c1f5)
2007-10-10r13349: In the end I could not use ldb_caseless_cmpSimo Sorce1-1/+0
in attrib_handler.c functions remove it again Simo (This used to be commit 513ff499071e6cb5e608a82430718021f72997bd)
2007-10-10r13324: From now on check attribute names obey rfc2251Simo Sorce1-0/+7
Also add a way to provide utf8 compliant functions by registering them with ldb_set_utf8_fns() Next comes code to register samba internal utf8 functions. Simo. (This used to be commit ac9b8a41ffca8e06c5e849d544d3203a665b8e0d)
2007-10-10r13181: Fix standalone ldb buildJelmer Vernooij1-0/+1
(This used to be commit e9059ea0c56c1fd9886eb038df5455efe11962f8)
2007-10-10r12849: fix typoStefan Metzmacher1-1/+1
metze (This used to be commit 552e12c05d10ddad55bfc0997303096055ddecdd)
2007-10-10r12743: Remove the ugly way we had to make a second stage init and introduceSimo Sorce1-9/+12
a second_stage_init private function for modules that need a second stage init. Simo. (This used to be commit 5e8b365fa2d93801a5de1d9ea76ce9d5546bd248)
2007-10-10r12733: Merge ldap/ldb controls into main treeSimo Sorce1-5/+13
There's still lot of work to do but the patch is stable enough to be pushed into the main samba4 tree. Simo. (This used to be commit 77125feaff252cab44d26593093a9c211c846ce8)
2007-10-10r12632: Build fixes from Brad Hards <bradh@frogmouth.net>Andrew Bartlett1-0/+1
Andrew Bartlett (This used to be commit 44b107d3150135ee4381c1ba4eac23bfd9cb16b9)
2007-10-10r11567: Ldb API change patch.Simo Sorce1-20/+2
This patch changes the way lsb_search is called and the meaning of the returned integer. The last argument of ldb_search is changed from struct ldb_message to struct ldb_result which contains a pointer to a struct ldb_message list and a count of the number of messages. The return is not the count of messages anymore but instead it is an ldb error value. I tryed to keep the patch as tiny as possible bu as you can guess I had to change a good amount of places. I also tried to double check all my changes being sure that the calling functions would still behave as before. But this patch is big enough that I fear some bug may have been introduced anyway even if it passes the test suite. So if you are currently working on any file being touched please give it a deep look and blame me for any error. Simo. (This used to be commit 22c8c97e6fb466b41859e090e959d7f1134be780)
2007-10-10r11110: make ldb_oom() also set the ldb error stringAndrew Tridgell1-1/+1
(This used to be commit b6e8018a3b2326c3d1df4811a0581c5c0967bfd3)
2007-10-10r10918: - fixed standalone ldb buildAndrew Tridgell1-1/+1
- added note about allowedAttributesEffective (will be needed for mmc) - fixed some more ldb warnings (This used to be commit e9e4d81b6976549db8a7668572a5da466fbec4a9)
2007-10-10r10916: - finished the 'operational' ldb moduleAndrew Tridgell1-0/+2
- removed the timestamps module, replacing it with the operational module - added a ldb_msg_copy_shallow() function which should be used when a module wants to add new elements to a message on add/modify. This is needed because the caller might be using a constant structure, or may want to re-use the structure again - enabled the UTC time attribute syntaxes in the operational module (This used to be commit 61e8b010223ac6a0573185008f3719ba29574688)
2007-10-10r10913: This patch isn't as big as it looks ...Andrew Tridgell1-0/+2
most of the changes are fixes to make all the ldb code compile without warnings on gcc4. Unfortunately That required a lot of casts :-( I have also added the start of an 'operational' module, which will replace the timestamp module, plus add support for some other operational attributes In ldb_msg_*() I added some new utility functions to make the operational module sane, and remove the 'ldb' argument from the ldb_msg_add_*() functions. That argument was only needed back in the early days of ldb when we didn't use the hierarchical talloc and thus needed a place to get the allocation function from. Now its just a pain to pass around everywhere. Also added a ldb_debug_set() function that calls ldb_debug() plus sets the result using ldb_set_errstring(). That saves on some awkward coding in a few places. (This used to be commit f6818daecca95760c12f79fd307770cbe3346f57)
2007-10-10r10753: don't require every ldb module to implement both a search_bytree() andAndrew Tridgell1-6/+4
a search() function, instead each module now only implements the bytree method, and the expression based search is handled generically by the modules code. This makes for more consistency and less code duplication. fixed the tdb backend to handle BASE searches much more efficiently. They now always only lookup one record, regardless of the search expression (This used to be commit 7e44f9153c5578624e2fca04cdc0a00af0fd9eb4)
2007-10-10r10477: expose transactions outside ldb and change the API once moreSimo Sorce1-2/+6
do not autostart transactions on ldb operations if a transaction is already in place test transactions on winsdb all my tests passes so far tridge please confirm this is ok for you (This used to be commit c2bb2a36bdbe0ec7519697a9a9ba7526a0defac2)