summaryrefslogtreecommitdiff
path: root/source4/lib/ldb/ldb_tdb
AgeCommit message (Collapse)AuthorFilesLines
2010-11-26ldb-tdb: Add more information about full scanMatthieu Patou1-1/+7
2010-11-23s4-ldb: added an environment varibale LDB_WARN_UNINDEXEDAndrew Tridgell3-7/+13
when LDB_WARN_UNINDEXED is set, we produce warnings about unindexed searches. This makes it easier to find performance problems caused by unindexed searches.
2010-11-07ldb:ldb_pack.c - the "dn" attribute isn't allowed in the message part, only ↵Matthias Dieter Wallnöfer1-2/+0
the "distinguishedName" one Autobuild-User: Matthias Dieter Wallnöfer <mdw@samba.org> Autobuild-Date: Sun Nov 7 10:11:02 UTC 2010 on sn-devel-104
2010-11-06ldb:ldb_tdb.c - ltdb_check_special_dn - fix indentationMatthias Dieter Wallnöfer1-1/+1
2010-11-06ldb:ldb_tdb.c - make "ltdb_add" more similar to "ltdb_modify"Matthias Dieter Wallnöfer1-9/+5
And remove in "ltdb_add_internal" a cache loading call which has been present twice.
2010-11-05s4-ldb: much more memory efficient msg filteringAndrew Tridgell1-3/+20
this ensures we don't leave unnecessary attributes in returned ldb objects Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-11-04s4-ldb: implement LDB_FLAG_INTERNAL_DISABLE_SINGLE_VALUE_CHECKAndrew Tridgell1-13/+9
this disables the single value checking for one attribute. It is much more specific than a general RELAX control, and also more efficient. I think we should try to have more precise overrides like this, rather than using RELAX as a general purpose override
2010-11-04Move the checking of single valued attributes back into the tdb backend.Andrew Tridgell1-0/+44
The backend is the only place that can do this properly. It makes no sense to do it anywhere else. As a result of it moving out of the backend we ended up with some bugs causing multiple values in single valued attributes (eg. isDeleted), which can really damage the inregrity of the database. For the override of single valued values needed for deleted linked attributes we should use attribute flags. This reverts commit 1949864417f3d10fb8996df7db259649eb777271.
2010-11-01s4-ldb: removed ldb_includes.hAndrew Tridgell1-1/+3
it causes problems with the openchange build as it is not installed Autobuild-User: Andrew Tridgell <tridge@samba.org> Autobuild-Date: Mon Nov 1 21:49:47 UTC 2010 on sn-devel-104
2010-11-01s4-ldb: enable ldb module version checkingAndrew Tridgell1-0/+1
2010-11-01s4-ldb: added an override flag to ldb_register_backend()Andrew Tridgell1-1/+1
this will be used to allow a system ldb build with an ldb backend to have its ldap handler overridden by the s4 one
2010-11-01s4-ldb: convert the rest of the ldb modules to the new styleAndrew Tridgell1-4/+4
2010-10-21ldb:ldb_tdb/ldb_cache.c - remove a superflous "talloc_free"Matthias Dieter Wallnöfer1-3/+1
Didn't realise that this is already called by "ltdb_attributes_unload".
2010-10-21ldb:ldb_tdb/ldb_cache.c - in this function we don't use LDB return codesMatthias Dieter Wallnöfer1-1/+1
2010-10-20ldb:ldb_index.c - fix some memory leaksMatthias Dieter Wallnöfer1-1/+6
Autobuild-User: Matthias Dieter Wallnöfer <mdw@samba.org> Autobuild-Date: Wed Oct 20 13:11:49 UTC 2010 on sn-devel-104
2010-10-20ldb:ldb_index.c - let "ldb_module_oom" generate the return codeMatthias Dieter Wallnöfer1-15/+8
2010-10-20ldb:ldb_cache.c - fix memory contexts and memory leaksMatthias Dieter Wallnöfer1-3/+4
2010-10-20ldb:ldb_tdb submodule - use "ldb_msg_new" where appropriateMatthias Dieter Wallnöfer2-12/+12
It is saver than a manual "talloc".
2010-10-20ldb:ldb_pack.c - remove superflous "message->elements = NULL"Matthias Dieter Wallnöfer1-1/+0
It's already marked at this at the beginning of the call.
2010-10-18ldb: always return PROTOCOL_ERROR if an operation is unsupportedMatthias Dieter Wallnöfer1-1/+1
That's exactly the behaviour of various LDAP servers.
2010-10-18ldb:ldb_tdb.c - fix up counter variablesMatthias Dieter Wallnöfer1-5/+8
"find_element" returns an "int" since there is also the possibility that a certain element doesn't exist - then "-1" is returned. But beside this exception treat all other return values as unsigned.
2010-10-18ldb:ldb_tdb.c - improve the error outputsMatthias Dieter Wallnöfer1-13/+25
- Fix indentation - Include always the failing DN - Reorder the outputs to make them consistent
2010-10-13s4-ldb: take advantage of ldb_match_msg_error() in more placesAndrew Tridgell2-4/+16
this gives better error checking
2010-10-13s4-ldb: added an optional operator_fn in the schema syntaxAndrew Tridgell1-2/+10
this function takes the operator being invoked, which will allow schema functions to provide more fine grained control over comparisons. The key bug this was introduced to fix is the incorrect handling of the LDB_OP_PRESENT test for deleted linked attributes. The backends are unaware of the deleted state of these links, so they cannot do a LDB_OP_PRESENT test on their own. Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-09-28ldb-tdb: ignore failure to register control on rootdseAndrew Tridgell1-4/+1
this is expected for non-sam LDBs
2010-08-17s4-ldb: ensure element flags are zero in ldb search returnAndrew Tridgell1-0/+2
the distinguishedName element was getting an uninitialised flags value
2010-08-17s4-ldb: fixed the ldb 'displayName=a,b' indexing bugAndrew Tridgell1-2/+4
the problem was the inconsistency between the key form of DNs between the itdb used for indexing and the on disk form Thanks to Matthieu Patou for finding this bug! Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2010-08-17s4-ldb: add some comments explaining the ltdb_index_idxptr() functionAndrew Tridgell1-0/+8
this function copes with alignment sensitive CPUs Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2010-06-07s4:objectclass_attrs LDB module - move the single-valued attribute check ↵Matthias Dieter Wallnöfer1-44/+0
into this module It seems to me more consistent (and also to keep the same behaviour on all backends). Also the DRS hack should therefore not be needed anymore since the "repl_meta_data" module launches requests behind "objectclass_attrs".
2010-06-07s4:rdn_name LDB module - move the "distinguishedName" write prevent check hereMatthias Dieter Wallnöfer1-7/+0
In my eyes it fits better here than in the TDB backend code.
2010-06-06ldb:ltdb_filter_attrs - fix a counter variable typeMatthias Dieter Wallnöfer1-2/+3
2010-05-30ldb:ldb_tdb/ldb_tdb.c - quiet a warning regarding TDB -> LDB error code ↵Matthias Dieter Wallnöfer1-0/+2
conversions
2010-04-18ldb: mark the tdb backend in ldb as _PRIVATE_Andrew Tridgell1-1/+1
2010-03-08s4:LDB TDB index code - reintroduce accidentally removed code partMatthias Dieter Wallnöfer1-1/+3
This was removed by 95d726f3018ef5d249f89d56bde24b7ee0c24ecf. Sorry.
2010-03-08LDB:TDB backend - change counter variables to "unsigned" where appropriateMatthias Dieter Wallnöfer5-16/+19
2010-02-22LDB related spelling fixes.Brad Hards1-1/+1
Signed-off-by: Matthias Dieter Wallnöfer <mwallnoefer@yahoo.de>
2010-02-14s4-ldb: use TYPESAFE_QSORT() in the rest of the ldb codeAndrew Tridgell1-1/+1
2010-02-10s4-ldb: update ldb_tdb to use new DLIST_ macrosAndrew Tridgell1-15/+3
(cherry picked from commit 6ede911654566a7e21ded70dacac68df3b6a1bca)
2010-01-31s4:ldb quiet down rootdse control registrationSimo Sorce1-1/+1
2010-01-30s4:ldb Fix check made conditional by mistakeSimo Sorce1-7/+11
2010-01-30s4:ldb add support for permissive modify controlSimo Sorce1-24/+96
2010-01-16s4-ldb: cope with bad ptr alignment in ldb_index.cAndrew Tridgell1-3/+3
We can't assume that a rec_ptr will come back from a tdb traverse with alignment sufficient for a pointer.
2010-01-08s4-ldb: improve error handling in indexing codeAndrew Tridgell2-5/+34
When we get an indexing failure we want a clear error message
2010-01-02s4-ldb: use the RELAX control to disable single value checking on replaceAndrew Tridgell3-5/+16
When using w2k3 linked attributes we are allowed to have multiple values on a single valued attribute. This happens when the other values are deleted. Setting the RELAX control tell the ldb-tdb backend to not check for this on replace, which means the caller has to check for single valued violations.
2009-12-16s4-ldb: show the OID of any unhandled critical controlsAndrew Tridgell1-4/+9
It isn't very useful just saying that a control is not supported, without saying which one is the problem Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2009-12-09s4-ldb: fixed nested searches inside ldb modulesAndrew Tridgell2-4/+12
We need to keep a search count in ltdb to allow for nesting of searches inside a module Signed-off-by: Andrew Tridgell <tridge@samba.org>
2009-12-09s4-ldb: added a missing ltdb_unlock_read()Andrew Tridgell1-0/+1
2009-11-20ldb:ldb_tdb backend/indexes - Outside APIMatthias Dieter Wallnöfer3-28/+30
- The outside API contains "DN" string arguments: Bad. Since in this way we fully rely on the outside calls regarding the right DN format. Solution: Use always a "struct ldb_dn" entry. Since this one is interchangeable and we can handle it in our preferred way.
2009-11-20ldb:ldb_tdb backend/indexes - DN comparisonMatthias Dieter Wallnöfer1-4/+5
- DN comparison: The function doesn't seem that efficient. I "upgraded" it a bit to be more powerful (added a second length check and do both before the string comparison)
2009-11-20s4-ldb: fixed an issue in rename/modify indexingAndrew Tridgell1-16/+16
When we rename or modify a record, we need to update the indexes at the same time. It is important that we use the DN of the actual message that is stored in the database to do this, not the DN that was passed in by the user. If the two differ in case then the index records needs to use the 'real' record DN, as index handling is currently case sensitive.