summaryrefslogtreecommitdiff
path: root/source4/lib/ldb/ldb_tdb/ldb_index.c
AgeCommit message (Collapse)AuthorFilesLines
2007-10-10r25218: After discussion with Simo, remove the subclass support from LDB.Andrew Bartlett1-64/+0
Subclass support was designed to avoid needing to spell out the full list of objectClasses that an entry was in. However, Samba4 now enforces this restriction in the objectClass module, and the way subclass matching was handled was complex and counter-intuitive in my opinion (and did not match LDAP). Andrew Bartlett (This used to be commit f5ce04b904e14445a2a7e7f92e7e1f64b645c6f2)
2007-10-10r25000: Fix some more C++ compatibility warnings.Jelmer Vernooij1-6/+6
(This used to be commit 08bb1ef643ab906f1645cf6f32763dc73b1884e4)
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-10r22681: Fix standalone ldb build when parent directory name != ldb.Jelmer Vernooij1-3/+2
(This used to be commit 1093875d59f1ea9b8bd82277d4f9d8366e584952)
2007-10-10r22471: Convert more code to use proper LDB error codes.Simo Sorce1-112/+113
This is a 1 to 1 convertion, next step is to make this code report an error if the basedn is not used, hopefully avoiding an explicit search on the base object in the most common cases. (This used to be commit 50534c84b4577b2d32565a74a4716088f706bfea)
2007-10-10r21311: fix very ugly "using free'ed memory" bugStefan Metzmacher1-1/+1
This was there since 2005... metze (This used to be commit 393e4eeb82df8017eb0afb526f4d723cf8814311)
2007-10-10r20684: if we don't have any indexes, then we should not waste timeStefan Metzmacher1-0/+5
to traverse the whole tdb and unpack each record metze (This used to be commit 492c79de13eab8db6079f880a8f0857dc7a29fa8)
2007-10-10r20184: change ldb_attrib_handler into ldb_schema_attribute, which has a pointerStefan Metzmacher1-3/+3
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-10r20106: Optional ONE Level indexing for ldb_tdbSimo Sorce1-9/+195
To activate it you must modify the @INDEXLIST object adding the attribute @IDXONE: 1 Ldb test included Simo. (This used to be commit ea111795f4016916473ccc05d23c6655e6af1207)
2007-10-10r20101: Also rename a variable now that the unused parameter is goneSimo Sorce1-4/+4
(This used to be commit a2520bcfa918977f2139a963e9817370789cf077)
2007-10-10r20100: Remove completely unused parametersSimo Sorce1-4/+2
(This used to be commit cc1bcb814844e8a03dfa9a310d26ce3f3441e7bb)
2007-10-10r19965: make the output a bit nicerStefan Metzmacher1-2/+3
metze (This used to be commit 8655db41c1e776261ac61a975ca1883b7b59c6aa)
2007-10-10r19964: make debuging easier and report usefull error messagesStefan Metzmacher1-2/+5
metze (This used to be commit f129d78256d965d52e80aedfa76c7c079e611c5f)
2007-10-10r19905: use ldb_dn_new_fmt() to avoid double strdupsSimo Sorce1-14/+3
(This used to be commit 32a6b6c75b041bf829ecf272a9b10164f7ffe12b)
2007-10-10r19884: rename ldb_dn_key -> ltdb_index_key to make more clear what it's for...Stefan Metzmacher1-5/+5
metze (This used to be commit 6b76a7be4ac5443d68a1253dc9ec430dcdc327f1)
2007-10-10r19832: better prototypes for the linearization functions:Simo Sorce1-14/+9
- 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-2/+2
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-10r19324: fixed a leak on deleting records when no index is in placeAndrew Tridgell1-6/+6
(This used to be commit 0824b3b8c1003064b0f2c5a3f084f3e711155e8c)
2007-10-10r19114: fixed another checker warning and a possible error on allocationAndrew Tridgell1-1/+3
failure (This used to be commit bc02f7ef96e164a59441e3fd9429221be83fc7e4)
2007-10-10r18439: 2nd try at a talloc_move() api. This type with the ** ptr interfaceAndrew Tridgell1-4/+4
exposed. Unfortunately this generates a large number of type punning warnings. We'll have to find some magic to hide those. (This used to be commit 254cbf09dee5a1e20c47e47a298f1a8d172b41b9)
2007-10-10r18436: converted ldb to use talloc_move() instead of talloc_steal() whenAndrew Tridgell1-4/+4
appropriate. Note that I also removed the error checks that were being done on the result of talloc_steal(). They are pointless as talloc_steal() doesn't have any failure modes that wouldn't cause a segv anyway, and they tend to clutter the code (This used to be commit c0d9e7d473b8e3eb2524a9fc29cf88680f994b36)
2007-10-10r17771: add a comment explaing the odd castAndrew Tridgell1-0/+6
(This used to be commit 47e695ed88d364a7d423e804fe5340006ebf7c18)
2007-10-10r17756: I don't know why but this only works with the standaloneStefan Metzmacher1-3/+3
ldb build...I'll test more tomorrow. metze (This used to be commit aeee1b4655620154a8fefe471ac6327c5ccb8798)
2007-10-10r17748: make the casts much easier to understandStefan Metzmacher1-3/+3
metze (This used to be commit 5992f3b918967ff478ad24333cfe583e0b14a4c9)
2007-10-10r17711: fix compiler warningsStefan Metzmacher1-8/+8
metze (This used to be commit f3dc51fef53287cc2e2af7ed4a9f3f52a5cd06ed)
2007-10-10r17185: Oh, I wanted to do this for sooo long time.Simo Sorce1-6/+6
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-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-10r14431: don't call qsort with a null arrayAndrew Tridgell1-1/+3
(This used to be commit 2c33f577ad5bf8cddec735e75a26c4a4c07d8c51)
2007-10-10r13818: Make ldb_tdb 'fake' async.Simo Sorce1-47/+59
Simo. (This used to be commit 0db616ef59ed51cac7e0bfaea8a799d5aa42ef16)
2007-10-10r13609: Get in the initial work on making ldb asyncSimo Sorce1-0/+1
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-10r13335: Fix the build and add an utf8 safe ldb_hadler_fold functionSimo Sorce1-1/+1
based on ldb_casefold (This used to be commit 6104f900863c688707809d42c5429a42d654d5fb)
2007-10-10r13333: revert previous commit I will use ldb_caseless_cmp in attrib_handlersSimo Sorce1-1/+1
to correctly support utf8 comparisons add an ldb_attr_Casefold function for attribute names and use it instead of casefold in the right places (This used to be commit 3b4eb2413bbce059dde69f35c03cdc3cc2ba85c5)
2007-10-10r13324: From now on check attribute names obey rfc2251Simo Sorce1-1/+1
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-10r13258: Fix the talloc heirachy for ldb_tdb.Andrew Bartlett1-1/+2
In the return value res->msgs, msgs was not a child of res, in the indexed path. Instead, it hung directly off the ldb, which was sometimes a long-term context. Also remove unused parameters. Found by --leak-report-full Andrew Bartlett (This used to be commit 29cb5af827c459758997c80dca034d471bb92449)
2007-10-10r12829: fix ldb headers, to not include '<...>' files in .c filesStefan Metzmacher1-3/+2
this helps in getting symbol -fvisibility=hidden (GCC 4 feature) working later. metze (This used to be commit 380938e97f31c7860aed1e73cc0110c6e17b472e)
2007-10-10r12733: Merge ldap/ldb controls into main treeSimo Sorce1-0/+1
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-10r11567: Ldb API change patch.Simo Sorce1-10/+17
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-10r11364: added a ldb_attr_dn() function for testing if an attribute name isAndrew Tridgell1-2/+1
"dn" or "distinguishedName". This makes us a bit more consistent (This used to be commit b41b374b55f9a056c47ffa2ff88aa5272dbc42fc)
2007-10-10r11353: a bit of an improvement to the ldb_tdb error handlingAndrew Tridgell1-2/+0
(This used to be commit 896704f5c139c8bce30dfc898bb3a12be10035ed)
2007-10-10r11111: fixed a talloc error in the dn shortcut codeAndrew Tridgell1-5/+18
(This used to be commit e28a334eeb8fa22f686d0c1dc48b2977d85b9e10)
2007-10-10r10913: This patch isn't as big as it looks ...Andrew Tridgell1-13/+15
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-10r10889: make searches for dn's less of a special case, and much faster whenAndrew Tridgell1-0/+7
part of more complex expressions (This used to be commit 40d304140b4cf22559d6b55c8cbaf1b984baf62f)
2007-10-10r10753: don't require every ldb module to implement both a search_bytree() andAndrew Tridgell1-2/+14
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-10r9391: Convert all the code to use struct ldb_dn to ohandle ldap like ↵Simo Sorce1-43/+90
distinguished names Provide more functions to handle DNs in this form (This used to be commit 692e35b7797e39533dd2a1c4b63d9da30f1eb5ba)
2007-10-10r8668: fixed a segv during upgrade of a very old ldb.Andrew Tridgell1-0/+5
Thanks to volker for finding this one too. Keep them coming! (This used to be commit 756796ad2ea86a9471d1b09e66b1a74c4523f6f4)
2007-10-10r8585: add to ldb and ldap comparison functionalitySimo Sorce1-22/+25
better pares filters Approx is currently only a stub need to dig more info to understand what it really means and how it works exactly (This used to be commit a9e8cd0bad27ed2b3c6a12302e787ba3c9a70a3c)
2007-10-10r8520: fixed a pile of warnings from the build farm gcc -Wall output onAndrew Tridgell1-1/+1
S390. This is an attempt to avoid the panic we're seeing in the automatic builds. The main fixes are: - assumptions that sizeof(size_t) == sizeof(int), mostly in printf formats - use of NULL format statements to perform dn searches. - assumption that sizeof() returns an int (This used to be commit a58ea6b3854973b694d2b1e22323ed7eb00e3a3f)
2007-10-10r8373: New wildcard matching code.Simo Sorce1-8/+3
This code applies correct ldap standard wildcard matching code removes WILDCARD matching from tdb @ATTRIBUTES, that's now handled independently adds some more tests for wildcard matching fixes dn comparison code in ldb_match (This used to be commit 4eb5863042011988d85092d7dde3d809aa15bd59)
2007-10-10r8082: large rewite of ldb_dn.cSimo Sorce1-1/+1
- we do not support multpiple attribute components anymore, makes code a lot easier they will be readded later if we found out they are really used, so far my tests show w2k3 do not handle them as well - fix escaping issues, move component value to be in an ldb_val structure still need to handle binary values case - make cononicalize functions leak less memory by giving a specific memory context - fix tests scripts so that test-ldap can start - make test not delete databases on completion so that I can inspect them (This used to be commit 624a73148d125690ce18515f19231d26df207738)