summaryrefslogtreecommitdiff
path: root/source4/lib/ldb/common/ldb_modules.c
AgeCommit message (Collapse)AuthorFilesLines
2007-10-10r13839: Use registration mechanism for backends as well (in the same senseJelmer Vernooij1-1/+15
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-1/+7
(This used to be commit b4202cf030d5f154f0f94f5f501ecd648ba5c48f)
2007-10-10r13786: [merge] Add registration functions for LDB modulesJelmer Vernooij1-46/+107
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-10r13609: Get in the initial work on making ldb asyncSimo Sorce1-10/+0
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-10r12941: Add Attribute Scoped Search controlSimo Sorce1-0/+1
want to see what it does ? do aq make test and try: ./bin/ldbsearch -H st/private/sam.ldb --controls=asq:1:member -s base -b 'CN=Administrators,CN=Builtin,DC=samba,DC=example,DC=com' 'objectclass=*' have fun. simo. (This used to be commit 900f4fd3435aacc3351f30afb77d3488d2cb4804)
2007-10-10r12909: add an ldb module for the wins.ldb,Stefan Metzmacher1-0/+1
it currently doesn't do much, but it's later prevent adding corrupted records via ldbedit, and will take care of the versionID counter metze (This used to be commit a6f279bc43c74cf4dc116cb6ba99f1aed13a4de9)
2007-10-10r12830: this can be constStefan Metzmacher1-1/+1
metze (This used to be commit 1876e245c49d521e89674dc1662a61e8f4cdc9b5)
2007-10-10r12829: fix ldb headers, to not include '<...>' files in .c filesStefan Metzmacher1-11/+1
this helps in getting symbol -fvisibility=hidden (GCC 4 feature) working later. metze (This used to be commit 380938e97f31c7860aed1e73cc0110c6e17b472e)
2007-10-10r12746: An initial version of the kludge_acls module.Andrew Bartlett1-0/+1
This should be replaced with real ACLs, which tridge is working on. In the meantime, the rules are very simple: - SYSTEM and Administrators can read all. - Users and anonymous cannot read passwords, can read everything else - list of 'password' attributes is hard-coded Most of the difficult work in this was fighting with the C/js interface to add a system_session() all, as it still doesn't get on with me :-) Andrew Bartlett (This used to be commit be9d0cae8989429ef47a713d8f0a82f12966fc78)
2007-10-10r12743: Remove the ugly way we had to make a second stage init and introduceSimo Sorce1-10/+11
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-1/+15
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-10r12600: Add a new module to sort the objectclass attribute on store. TheAndrew Bartlett1-0/+1
module is perhaps not the most efficient, but I think it is reasonable. This should restore operation of MMC against Samba4 (broken by the templating fixes). Andrew Bartlett (This used to be commit 41948c4bdbfca1160a01a92994324f9e22422afe)
2007-10-10r12599: This new LDB module (and associated changes) allows Samba4 to operateAndrew Bartlett1-0/+1
using pre-calculated passwords for all kerberos key types. (Previously we could only use these for the NT# type). The module handles all of the hash/string2key tasks for all parts of Samba, which was previously in the rpc_server/samr/samr_password.c code. We also update the msDS-KeyVersionNumber, and the password history. This new module can be called at provision time, which ensures we start with a database that is consistent in this respect. By ensuring that the krb5key attribute is the only one we need to retrieve, this also simplifies the run-time KDC logic. (Each value of the multi-valued attribute is encoded as a 'Key' in ASN.1, using the definition from Heimdal's HDB. This simplfies the KDC code.). It is hoped that this will speed up the KDC enough that it can again operate under valgrind. (This used to be commit e9022743210b59f19f370d772e532e0f08bfebd9)
2007-10-10r12553: Steal the error string onto this context, so that the caller doesn'tAndrew Bartlett1-1/+1
have to think about exactly what the right context to hang it of is. Andrew Bartlett (This used to be commit b1c8adcfe16c72252b0312e65676edcdbe472f09)
2007-10-10r11953: enabled the rootdse module in the ldb modules codeAndrew Tridgell1-0/+1
(This used to be commit 7d8b11174c97a3797673254c351c94436aa716b7)
2007-10-10r11567: Ldb API change patch.Simo Sorce1-60/+13
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-10r10916: - finished the 'operational' ldb moduleAndrew Tridgell1-1/+1
- 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-10r10897: added in a hackish ldb proxy module that I am using to experiment withAndrew Tridgell1-0/+1
mmc management support (This used to be commit 99a5b088810e8e2f4e28b99a4a0e5e7dc9301594)
2007-10-10r10759: make modules easier to write by allowing modules to only implement theAndrew Tridgell1-36/+30
functions they care about, instead of all functions. This also makes it more likely that future changes to ldb will not break existing modules (This used to be commit 45f0c967b58e7c1b2e900a4d74cfde2a2c527dfa)
2007-10-10r10757: remove the proxy module (it is not complete yet)Andrew Tridgell1-1/+0
(This used to be commit 3c5f3032fcb092545580b986e0ce58bb49e4d9cb)
2007-10-10r10753: don't require every ldb module to implement both a search_bytree() andAndrew Tridgell1-12/+22
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-10r10603: neaten up the ldb module initialisation codeAndrew Tridgell1-63/+29
(This used to be commit 8e7c4c98a7b4fd814f298fba1b6b686cb58339f8)
2007-10-10r10477: expose transactions outside ldb and change the API once moreSimo Sorce1-2/+10
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)
2007-10-10r10305: start implementing better error handlingSimo Sorce1-4/+5
changed the prioivate modules API error string are now not spread over all modules but are kept in a single place. This allows a better control of memory and error reporting. (This used to be commit 3fc676ac1d6f59d08bedbbd9377986154cf84ce4)
2007-10-10r10299: remove the public (un)lock functions and introduce a transaction basedSimo Sorce1-4/+4
private ldb API ldb_sqlite3 is already working with this model and ldb_tdb will do as soon as tridge finishes the tdb transaction code. currently the transactions are always implicit and wrap any single ldb API call except searching, the transaction functions are currently not made public on purpose. Simo. (This used to be commit 1da4ac2cdcb7e54076f85242a93784260dced918)
2007-10-10r9685: Add tests for samba3sam mapping moduleJelmer Vernooij1-0/+11
Fix a couple of bugs Move samba3sam backend to lib/ldb/ Remove some more unused parameters (This used to be commit 7f864d446d6af7cfd9fb8dbc496a29b36ec57ce9)
2007-10-10r9391: Convert all the code to use struct ldb_dn to ohandle ldap like ↵Simo Sorce1-5/+12
distinguished names Provide more functions to handle DNs in this form (This used to be commit 692e35b7797e39533dd2a1c4b63d9da30f1eb5ba)
2007-10-10r8669: The objectguid module belongs in Samba's ldb module collection, not inAndrew Bartlett1-5/+5
ldb, as it can't build without the NDR and GUID code. Also make it properly use the NDR encoding for the GUID (I forgot last time, and used a string), as well as set the dependencies on the module correctly. Andrew Bartlett (This used to be commit 8054abc76e5e3588cebc7fc01062a1223b7f140b)
2007-10-10r8667: Further simply the provision script, by removing the 'name' attribute.Andrew Bartlett1-0/+10
This is now calculated on the fly for every add and modify. Andrew Bartlett (This used to be commit ed1f2e029c840d2b3ecb49dbe6e8cd67588eeeed)
2007-10-10r8650: Use the timestamps and a new objectguid module rather than placingAndrew Bartlett1-0/+10
boilerplate attributes in every entry in provision.ldif. The next step will be to use templates. Andrew Bartlett (This used to be commit 940ed9827f5ab83b668a60a2b0110567dd54c3e2)
2007-10-10r7608: bug fix after yesterday's changeSimo Sorce1-1/+1
(This used to be commit 0218fc678e375a05fbc4da5500706199340918e2)
2007-10-10r7527: - added a ldb_search_bytree() interface, which takes a ldb_parse_treeAndrew Tridgell1-4/+16
instead of a search expression. This allows our ldap server to pass its ASN.1 parsed search expressions straight to ldb, instead of going via strings. - updated all the ldb modules code to handle the new interface - got rid of the separate ldb_parse.h now that the ldb_parse structures are exposed externally - moved to C99 structure initialisation in ldb - switched ldap server to using ldb_search_bytree() (This used to be commit 96620ab2ee5d440bbbc51c1bc0cad9977770f897)
2007-10-10r6470: Remove ldb_search_free() it is not needed anymore.Simo Sorce1-8/+0
Just use talloc_free() to release the memory after an ldb_search(). (This used to be commit 4f0948dab0aa5e8b6a4ce486f3668ca8dfae23db)
2007-10-10r6087: - remove the dlopen code for now (before it goes back, it needs to beAndrew Tridgell1-44/+1
made into something that isn't a maze of #ifdefs) - when a module is not found, make it a non-fatal error. Otherwise the standalone ldb tools just bail out. The previous code meant that if you had a module listed and it wasn't present then you could _never_ fix it, as you coudln't open the ldb to remove that module from @MODULES ! (This used to be commit c4728625c093d91e522b80c049e0d42d2b5f143b)
2007-10-10r5670: simplify and clarify ldb_modules.c codeSimo Sorce1-135/+147
rectify the test schema correct a glitch in schema module (This used to be commit 0579b5f7adfe160be8ecf124934b6593a02ed06f)
2007-10-10r5664: simo, please look into this. It is possible for the number of elementsAndrew Tridgell1-1/+3
in msg[0] to be 0, in which case we crash. This is a workaround. Also, if you could please split up this function into readable pieces. It's a bit of a mess at the moment. (This used to be commit 19a22f78c28a4b265f59df1b43c1bb6c9e58f736)
2007-10-10r5585: LDB interfaces change:Simo Sorce1-29/+74
changes: - ldb_wrap disappears from code and become a private structure of db_wrap.c thanks to our move to talloc in ldb code, we do not need to expose it anymore - removal of ldb_close() function form the code thanks to our move to talloc in ldb code, we do not need it anymore use talloc_free() to close and free an ldb database - some minor updates to ldb modules code to cope with the change and fix some bugs I found out during the process (This used to be commit d58be9e74b786a11a57e89df36081d55730dfe0a)
2007-10-10r4714: move the ldb code to the new talloc interface (eg remove _p suffix)Simo Sorce1-2/+2
this helps standalone building of ldb renew the schema module split code into functions to improve readability and code reuse add and modify works correctly but we need a proper testsuite Simo (This used to be commit a681ae365ff1b5a2771b42ebd90336651ce1e513)
2007-10-10r4505: Add a first very basic schema moduleSimo Sorce1-2/+2
To use it you should provide a schema.ldb file where the schema is stored and load the module in the ldb you want to have schema check activated more info soon. currently schema checks are performed only on new object creation not on modifications Simo. (This used to be commit b8bb62f14419efd434a344606fb3f753384761a0)
2007-10-10r4474: - converted ldb to use talloc internallyAndrew Tridgell1-21/+12
- added gcov flags to Makefile.ldb - expanded ldb test suite to get more coverage (This used to be commit 0ab98f50a7e0fe15347a99e5c29a6590a87729a0)
2007-10-10r3897: add a locking infrastructureSimo Sorce1-0/+16
(This used to be commit a99c0adb09e2bc77b876d23cb2d0711ccffd83ca)
2007-10-10r3783: - don't use make proto for ldb anymoreStefan Metzmacher1-4/+6
- split ldh.h out of samba's includes.h - make ldb_context and ldb_module private to the subsystem - use ltdb_ prefix for all ldb_tdb functions metze (This used to be commit f5ee40d6ce8224e280070975efc9911558fe675c)
2007-10-10r3757: Some fixes for ldb_ldapSimo Sorce1-1/+1
Now we pass also the test-ldap tests :-) (This used to be commit 0d58b1dc5aa0b00a924c1c5506f0c500c0b37b3e)
2007-10-10r3755: add missing filesSimo Sorce1-0/+265
(This used to be commit 0b715b6ce21d23970d207d57e90133be17790d15)