summaryrefslogtreecommitdiff
path: root/source4/lib/ldb
AgeCommit message (Collapse)AuthorFilesLines
2007-10-10r17031: When I first revived the objectclass sorting module, simo complainedAndrew Bartlett1-151/+293
that it should handle the add without a search. Now that I'm working on better behaviour with an LDAP backend, I've fixed the module to do just that. For an ADD, and a MODIFY with the REPLACE flag, we do not need the search step. Andrew Bartlett (This used to be commit 87573e2ee4a71168ea69182d2dc4ebf1779b7c02)
2007-10-10r16972: Replace the sequence_number function pointer in ldb with the ldb flags.Andrew Bartlett3-16/+22
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-10r16965: Take a better stab at comparison functions between string and binaryAndrew Bartlett1-24/+44
forms of the objectGUID and objectSID attributes. Andrew Bartlett (This used to be commit e7894b49b37de296320fea2e6d86052b81845e51)
2007-10-10r16937: Add const, to make it clear that it is invalid to talloc_free() the DNAndrew Bartlett1-7/+6
at this point. Andrew Bartlett (This used to be commit f7fb168ab69e39ab3ff236bb5db4e5306a79971d)
2007-10-10r16936: Correct comment in this comparison functionAndrew Bartlett1-1/+1
Andrew Bartlett (This used to be commit d64987a2882c70669421b02aee8d75d95ce99bcb)
2007-10-10r16932: Consistanly use the macro for these DNs and attributes.Andrew Bartlett1-2/+2
Andrew Bartlett (This used to be commit dd6ca3342218aa25619a98d48e0efbbe31012c30)
2007-10-10r16916: Implement metze's proposed changes to the tdb logging API.Andrew Bartlett1-2/+5
This clearly links the log function with its private pointer, and makes the argument list for tdb_open_ex a bit shorter. Andrew Bartlett (This used to be commit 5d5503e8d8a10ead3ef21a5ffda52cadb9a07727)
2007-10-10r16908: Set an error string if we can't find a backend for an operation.Andrew Bartlett1-1/+5
Andrew Bartlett (This used to be commit 6a8c9af9bae8c482dfdb07114ae8313b7e35d9e9)
2007-10-10r16832: I should be more careful (and test!) when trying to make compilers andAndrew Bartlett1-1/+3
static checkers happy... Andrew Bartlett (This used to be commit ae7ec0d553650b2a90fac8b7564b8f986e3e4288)
2007-10-10r16829: Fix a number of issues raised by the IBM checker, or gcc warnings.Andrew Bartlett1-8/+11
In particular, this removes one use of the LDB_DN_NULL_FAILED macro, which was being used on more than DNs, had an embedded goto, and confused the IBM checker. In the password_hash code, ensure that sambaAttr is not, before checking the number of values. In GENSEC, note that this switch value can't occour. This seems to be the only way to quiet both the IBM checker and gcc, as well as cope with possibly invalid inputs. Andrew Bartlet (This used to be commit 3e58350ec2ab883795b1dd03ac46a3520cac67d0)
2007-10-10r16825: Make ldb_sainity_check() set an error string. This makes it muchAndrew Bartlett4-13/+26
easier to chase down what modules or application code gets wrong. Ensure not to leave memory allocated on failure in ldb_search() Andrew Bartlett (This used to be commit 0828739951ed879640f8ed6e4700d8ca6b8221b8)
2007-10-10r16784: - make some function in ldb static, they not need to be exported ↵Simo Sorce1-3/+3
anywhere - fix a bad segfault Andrew please make test before committing. Simo. (This used to be commit b9b6bb3e89d3b0e04ccce15156c1a128b6f20d88)
2007-10-10r16774: This patch modifies the tdb API to allow the logging function to be usedAndrew Bartlett3-6/+43
as part of ldb. This allows tdb failures to be passed all the way up to Samba's DEBUG system, which allowed easier debugging. Unfortunately I had to extend the tdb API, as the logging function didn't have a context pointer. I've worked over the 'debug levels' in TDB. Most of them were 0, which didn't seem right, as some were trace-like messages. We didn't see any of these previously, except when accessing TDB directly. Andrew Bartlett (This used to be commit 58898092c1ce043f6d698db5065f372b79109e22)
2007-10-10r16264: Add, but do not yet enable, the partitions module.Andrew Bartlett4-8/+15
This required changes to the rootDSE module, to allow registration of partitions. In doing so I renamed the 'register' operation to 'register_control' and 'register_partition', which changed a few more modules. Due to the behaviour of certain LDAP servers, we create the baseDN entry in two parts: Firstly, we allow the admin to export a simple LDIF file to add to their server. Then we perform a modify to add the remaining attributes. To delete all users in partitions, we must now search and delete all objects in the partition, rather than a simple search from the root. Against LDAP, this might not delete all objects, so we allow this to fail. In testing, we found that the 'Domain Controllers' container was misnamed, and should be 'CN=', rather than 'OU='. To avoid the Templates being found in default searches, they have been moved to CN=Templates from CN=Templates,${BASEDN}. Andrew Bartlett (This used to be commit b49a4fbb57f10726bd288fdc9fc95c0cbbe9094a)
2007-10-10r16172: Translate the ldb error codes into appropriate messages for theAndrew Bartlett1-3/+9
transaction cases. Andrew Bartlett (This used to be commit 28883f719304ee438c54a4d33e6bf1239f8c4094)
2007-10-10r16100: Patch from Michael Wood <mwood@icts.uct.ac.za>: s/then/than/ for ↵Gerald Carter2-3/+3
correct grammar (This used to be commit 26a2fa97e4c819e630bc9b50e11c8d5328c7b8c8)
2007-10-10r16090: Fix standalone build after the rename of enum ldb_request_type inTim Potter3-21/+21
r15944. Hey idra I think a better rename would be to keep the LDB_REQ suffix here to remain consistent with the other enums (e.g ldb_reply_type, ldb_async_wait_type and ldb_async_state). (This used to be commit d44ee8c43bd8f6f978330a8ded8bf30ffad494d6)
2007-10-10r16089: Make doxygen target work if $DOXYGEN variable is empty.Tim Potter1-1/+1
(This used to be commit 8f44d0a2d66751ebc648550eec1ea051724b750c)
2007-10-10r16087: Fix silly cut-and-paste typo that cost me much of my afternoon...Andrew Bartlett4-7/+4
This only affects my new partitions module, which I will post soon, but should be fixed anyway. Andrew Bartlett (This used to be commit 8912c4e057eb3962321245cf49b92999afcc64fc)
2007-10-10r16086: Ensure we can never dereference NULL pointers, and that describe whatAndrew Bartlett1-7/+14
these two DN comparison functions do. Andrew Bartlett (This used to be commit 733b64a733779daade7d1cabbacac2275564b697)
2007-10-10r16085: Set the error string if we fail to find a valid op to execute. HelpsAndrew Bartlett1-2/+6
in chasing down bugs :-) Andrew Bartlett (This used to be commit 9ede8edbaf1731f32814917439326f49b5f9f3ef)
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 Bartlett8-56/+152
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-10r16071: tdb has nested transactionsSimo Sorce1-53/+86
change the code to exploit that in ldb I still have to reintroduce transactions when you call ldb_request directly, I have some plans I hop to be able to develop in the next weekend (This used to be commit 35111206021d667dfd217b5fd8d82f5c2714cc9e)
2007-10-10r16067: Remove const, it isn't required and just causes a warning.Andrew Bartlett1-1/+1
Andrew Bartlett (This used to be commit 272a0957283daafb6cbf52219263b94856155d65)
2007-10-10r16066: The OSX AD plugin uses objectCategory searches a lot, and uses themAndrew Bartlett3-5/+84
both fully qualified and in the 'short' form. Now we test and support this query format. Andrew Bartlett (This used to be commit 9ddcfacbcedc5eea2730d4bf902c0fcd02bcfa11)
2007-10-10r16062: objectCategory is a DN, and needs to be matched as such.Andrew Bartlett1-0/+1
Andrew Bartlett (This used to be commit 1a868b451a47798dc539e0754ab2b075813ed368)
2007-10-10r16053: Allow entries without an objectClass. We need this to permit theAndrew Bartlett1-5/+3
cn=rootDSE entry. (it was also crashing, as 'ac' wasn't initialised at this point) Andrew Bartlett (This used to be commit 8455aafb1547ae843b066db716a892fda14438b4)
2007-10-10r16036: Add a couple of new functions to corretly deal with timeouts.Simo Sorce12-92/+106
Check timeouts are correctly verified. Some minor fixed and removal of unused code. (This used to be commit b52e5d6a0cb1a32e62759eaa49ce3e4cc804cc92)
2007-10-10r16028: Re-add the objectclass module, in the new async scheme.Andrew Bartlett2-107/+351
Add a test to show that we need this, and to prove it works (for add at least). Andrew Bartlett (This used to be commit f72079029abb594677bf8c2b63e40c07e910004f)
2007-10-10r16007: If no error string was setup by the backend, ensure that we always getAndrew Bartlett1-1/+9
at least a generic error, even when inside a transaction. This helps debugging ldb/js interactions a lot... Andrew Bartlett (This used to be commit b607acf6f0b3567a40a3e35911c690feda243f50)
2007-10-10r15981: we need to initialize 'ret' before 'goto failed'Stefan Metzmacher1-5/+11
metze (This used to be commit 941f93f93f3ce9dacaafe80520b8751f738e7032)
2007-10-10r15979: some farmating...Stefan Metzmacher1-7/+6
metze (This used to be commit 53ec76d8d2edaa37bbccb6de838248931a3a76d2)
2007-10-10r15978: - pass the error code back to the caller...Stefan Metzmacher1-2/+2
- we were giving OPERATIONS_ERROR in all cases:-( - we now pass ALREADY_EXIST fine to the caller, and the code in libnet_site.c is happy again. - this bug wasn't noticed for a long time because the ldb_ildap code always passed SUCCESS to it's caller metze (This used to be commit 7b9d7119205c442f338deab07122ce1548bad9b6)
2007-10-10r15964: fix error handling in ldb_ildap backendStefan Metzmacher1-7/+14
metze (This used to be commit 54e5aeff87b859960dfc5e4b6e3ab026ce5470ff)
2007-10-10r15963: fix warningsStefan Metzmacher1-2/+2
metze (This used to be commit 11b49a440567eb3fa3391c15f5486c63141f1b97)
2007-10-10r15955: fix whitespacesStefan Metzmacher1-1/+1
metze (This used to be commit a3d1ce6d3b8e771d28ab4418679b89a388579360)
2007-10-10r15945: Check ltdb_modified resultsSimo Sorce1-8/+19
(This used to be commit bbda863f0766e4f4100a644f9a1ddcd8e18d29cd)
2007-10-10r15944: rename LDB_ASYNC_ADD -> LDB_ADD, LDB_ASYNC_MODIFY -> LDB_MODIFY, etc...Simo Sorce7-24/+24
(This used to be commit 55d97ef88f377ef1dbf7b1774a15cf9035e2f320)
2007-10-10r15942: Remove the sync internal ldb calls altogether.Simo Sorce13-1633/+234
This means that some modules have been disabled as well as they have not been ported to the async interface One of them is the ugly objectclass module. I hope that the change in samldb module will make the MMC happy without the need of this crappy module, we need proper handling in a decent schema module. proxy and ldb_map have also been disabled ldb_sqlite3 need to be ported as well (currenlty just broken). (This used to be commit 51083de795bdcbf649de926e86969adc20239b6d)
2007-10-10r15932: Remove per request credsSimo Sorce7-18/+0
They have never benn used and make little sense too imo (This used to be commit f0c1d08d50f8a3e25650ac85b178ec7a43e433d9)
2007-10-10r15927: Optimize ldb module traverse while keeping the API intact.Simo Sorce14-527/+564
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-10r15922: password_hash.c has proven to be a good way to research how to build ↵Simo Sorce1-42/+65
an async module change asq.c to be more readble (This used to be commit 9197187c4290847721432db09bdfb2f1d06e51ba)
2007-10-10r15913: Error passing in the async code is not in agood shapeSimo Sorce6-131/+323
Start enhancing it and fix some problems with incorrect evalutaion of the codes Implement rdn rename (async only) (This used to be commit 6af1d738b9668d4f0eb6194ac0f84af9e73f8c2e)
2007-10-10r15854: more talloc_set_destructor() typesafe fixesAndrew Tridgell5-14/+6
(This used to be commit 61c6100617589ac6df4f527877241464cacbf8b3)
2007-10-10r15847: We probably want to keep the global initSimo Sorce1-0/+2
(This used to be commit 35df457fe61e1b1f0746eadba867f7ac149e9600)
2007-10-10r15846: An async version of ldbsearchSimo Sorce1-59/+186
(This used to be commit 2c1af6556a2d57df6626a9f0d9fd758602ac3c5c)
2007-10-10r15795: Try to use the async code by defaultSimo Sorce1-12/+140
It passess all my tests, but I still need to work on a lot of stuff. Shouldn't impact anybody else work, so I want to commit now and see what happens Will work to remove the old code from modules and backends soon, and make some more restyling in ldb internals. So, if there is something you don't like in this desgin please speak now. Simo. (This used to be commit 8b2a563e716a789ea77cbfbf2f372724de5361ce)
2007-10-10r15786: another fix in rdn_nameSimo Sorce1-10/+3
(This used to be commit 202ce2a947626f51467d5c87dfcdb73852282709)
2007-10-10r15762: It make no sense for rdn_name to implement modify, it will need to ↵Simo Sorce1-138/+0
implement rename ... (This used to be commit bf260f2a84f9c1f749798068168a22c86ab2e7b2)