summaryrefslogtreecommitdiff
path: root/source4/lib/ldb
AgeCommit message (Collapse)AuthorFilesLines
2007-10-10r10915: added a standard attribute handler for a ldap UTC time stringAndrew Tridgell3-11/+56
(This used to be commit efd7dd1a775c06f21924f35760f7768b4e8db449)
2007-10-10r10914: moved the ldap time string functions into ldb so they can be used byAndrew Tridgell2-0/+46
the time attribute handling functions (This used to be commit 93c296d52718e77f8b702e1721b548eaadc56c76)
2007-10-10r10913: This patch isn't as big as it looks ...Andrew Tridgell23-219/+564
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-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-10r10895: allow 'dn=string' searches to work again. Windows doesn't allow these,Andrew Tridgell1-7/+2
but they are so very useful for things like dn=@MODULES that I think its worth supporting them (This used to be commit e2e3193a98b0f81c7bdb02c98db375ca0449022a)
2007-10-10r10894: make the handling of dn/distinguishedName much closer to realAndrew Tridgell6-7/+12
ldap. Also ensure we put a objectclass on our private ldb's, so they have some chance of being stored in ldap if you want to (This used to be commit 1af2cc067f70f6654d08387fc28def67229bb06a)
2007-10-10r10892: - improved the handling of the special distinguishedName attributeAndrew Tridgell1-85/+43
- ensure we don't add attributes twice, should a user ask for the attribute twice. Do this in such a way that we don't become O(n^2) - removed some unused code (This used to be commit 7684cdb47b4ae516f066afb249d5f88032152ec9)
2007-10-10r10889: make searches for dn's less of a special case, and much faster whenAndrew Tridgell2-15/+7
part of more complex expressions (This used to be commit 40d304140b4cf22559d6b55c8cbaf1b984baf62f)
2007-10-10r10856: we need aclocal.m4 in ldb for standalone configureAndrew Tridgell2-2/+14
(This used to be commit b2551e76e8b0edf99483343d687df3a6cecff1f5)
2007-10-10r10830: we should use the same name in all places:-)Stefan Metzmacher1-1/+1
metze (This used to be commit fbe8fd06b700b78f02b7f01fc2ad45eee419d216)
2007-10-10r10810: This adds the hooks required to communicate the current user from theAndrew Bartlett1-0/+5
authenticated session down into LDB. This associates a session info structure with the open LDB, allowing a future ldb_ntacl module to allow/deny operations on that basis. Along the way, I cleaned up a few things, and added new helper functions to assist. In particular the LSA pipe uses simpler queries for some of the setup. In ldap_server, I have removed the 'ldasrv:hacked' module, which hasn't been worked on (other than making it continue to compile) since January, and I think the features of this module are being put into ldb anyway. I have also changed the partitions in ldap_server to be initialised after the connection, with the private pointer used to associate the ldb with the incoming session. Andrew Bartlett (This used to be commit fd7203789a2c0929eecea8125b57b833a67fed71)
2007-10-10r10790: allow updating of existing ldb opaque values (thanks to abartlet forAndrew Tridgell1-1/+11
spotting this) (This used to be commit ef13569ca94da00cc410318e61505e70f3606674)
2007-10-10r10759: make modules easier to write by allowing modules to only implement theAndrew Tridgell6-174/+76
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-10r10756: another fix for the construction of expressions from subtrees forAndrew Tridgell1-4/+6
SUBSTRING searches. This time fix multi-part substring searches. (This used to be commit bf5cef6f00466fc1dc3c2864a109f1ccd92681b0)
2007-10-10r10755: fixed the construction of expressions from subtrees for SUBSTRING ↵Andrew Tridgell1-1/+8
searches (This used to be commit 71c06778d4a3ac1ca4198071ae3351acdc0656d9)
2007-10-10r10753: don't require every ldb module to implement both a search_bytree() andAndrew Tridgell16-219/+95
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-10r10708: a bit more error checking in the idap ldb backendAndrew Tridgell1-0/+5
(This used to be commit 63ebaad393e38b28c8f97f33e2b22f2445733405)
2007-10-10r10667: cope with a NULL tree for base searches in ldb_search()Andrew Tridgell1-11/+11
(This used to be commit 26ff53857802ae4a63f2b6e46c9caa7ca2fbbe89)
2007-10-10r10666: - reverse the ildap ldb backend so tree based searches go throughAndrew Tridgell1-22/+28
directly, and expression based searches are converted to trees. This makes for less conversions. - allow the caller to supply a set of credentials via the ldb opaque name 'credentials'. I will be using this in my ldb proxy module. (This used to be commit af24f3d7faac6ef74feef73a23345d8c484da07c)
2007-10-10r10665: fixed some crash errors and an error encoding AND and OR operations ↵Andrew Tridgell1-3/+16
in the expression parsing code (This used to be commit 0d4a900ce5705856d61c6dd4ccb8fdbd049d22b7)
2007-10-10r10641: fixed the error handling on search errors in the ildap backendAndrew Tridgell1-0/+1
(This used to be commit e80d42933fe3cbc18cb229e47fffb9ca8068aca5)
2007-10-10r10603: neaten up the ldb module initialisation codeAndrew Tridgell2-63/+33
(This used to be commit 8e7c4c98a7b4fd814f298fba1b6b686cb58339f8)
2007-10-10r10586: Add MergedObject() builder. Default to Library() ratherJelmer Vernooij1-11/+11
then StaticLibrary() (This used to be commit b53313dc517986c69a4e4cb8fe3885b696f8faa1)
2007-10-10r10525: change from AC_CHECK_TYPES() to AC_CHECK_TYPE() for intptr_t, so theAndrew Tridgell1-4/+0
type is always available, which means we need less #ifdefs (This used to be commit d4af4b11ae69a63fa3b2048e6d576055d86d2bb4)
2007-10-10r10500: More progress to getting ldb tools building. Create a list of ldb ↵Tim Potter1-28/+48
modules to link in. There's still a whole lot of random other junk (dcerpc, gensec, ndr stuff, lp_foo - what a mess). (This used to be commit b78cf1270bd7eda1aa84d238136a83e64ff3c088)
2007-10-10r10485: run autoheader before autoconfAndrew Tridgell1-1/+1
(This used to be commit 9456ed3db3b28e4a467e8685f2f1285cf57ce14b)
2007-10-10r10477: expose transactions outside ldb and change the API once moreSimo Sorce16-94/+239
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-10r10423: minor changes to the ldb test suite to allow it to work correctly withAndrew Tridgell2-7/+15
a real ldap backend (such as openldap) (This used to be commit d267f8c6231664ec86edb2ae21e8585b1b51f7a1)
2007-10-10r10422: ldb_search() can now use tdb_traverse_read() to ensure it can run inAndrew Tridgell1-1/+1
parallel with any transaction (This used to be commit ddff66298f1a668c5220e24fc47f98d7dfc3068a)
2007-10-10r10419: Remove unused prototypes of locking functions (thanks Jelmer)Simo Sorce1-10/+1
omment about transactions (This used to be commit 33352507593875a147276841fdb70de8edd668f5)
2007-10-10r10415: The ldb and tdb libraries are bad examples to test out the make protoTim Potter1-5/+1
code as they are marked as NOPROTO in the config.mk files. (This used to be commit 5f530eacbae073e9df6adde316404f70ecfe9122)
2007-10-10r10408: now that we are using tdb transactions we don't need any additionalAndrew Tridgell3-166/+36
locking code in the ldb_tdb backend, except for a single read lock during searches to ensure searches don't cross transaction boundaries The tdb transactions code would map these extra locks to noops anyway (as locking makes no sense inside a transaction), but the work in setting up the locking keys still costs something, and it makes the code needlessly complex (This used to be commit 1b8d368a6771360fb0626127c02b3eb95f3eae59)
2007-10-10r10406: added --nosync option to all ldb tools, so that you can control ifAndrew Tridgell6-16/+29
transactions are synchronous or not on the command line. add LDB_FLG_NOSYNC flag to ldb_connect() so we can make our temporary ldb databases non-synchronous (This used to be commit dba41164e0c52f1e4351bd9057b16661cee3a822)
2007-10-10r10405: added transactions into tdb, and hook them into ldb. See myAndrew Tridgell3-3/+25
samba-technical posting for more details on the transactions design. This also adds a number of command line arguments to tdbtorture, making it more flexible, and fixes some lock deadlock conditions in the tdbtorture code. (This used to be commit 06bd8abba942ec9f1e23f5c5d546cbb71ca3a701)
2007-10-10r10403: fixed the basedn for testing, and add a debug showing the size of ↵Andrew Tridgell1-1/+4
the test in ldbtest (This used to be commit 740b9f7537d60c7dbd48fe592587b12b304c52d1)
2007-10-10r10379: Add files for ldb and tdb to proto_files. The tool for building proto.hTim Potter1-11/+17
is busted though. (This used to be commit 54882f88cad1427b6adcb4c956a63e534e7d13e4)
2007-10-10r10377: Save configuration stuff to sconf.cache so it isn't annoyingly runTim Potter1-5/+8
at every single build. Run 'scons configure=1' or delete sconf.cache to force checks to be re-run. Jelmer, I think this stuff is cached in the .sconf_cache directory but the message is still displayed and it looks like it caches the compiled test object file not the actual result of the test. (This used to be commit 9d001dc083937bbf5642af90bc8a8b1a27825de0)
2007-10-10r10366: More scons fixes. Building et, asn1, lex and yacc files sort-of ↵Jelmer Vernooij1-0/+1
works now (This used to be commit 22f18a84242e5e68a2d57b6d7ff77c089ee7434a)
2007-10-10r10336: Add sconscript for a couple more subsystems.Jelmer Vernooij1-12/+20
(This used to be commit 59d4450453c25f5cce9b67b808ff0c4433c1d194)
2007-10-10r10330: Add SConscript to more subsystems. Some of the tdb tools build now.Jelmer Vernooij1-0/+29
Start on custom Samba scons tools (for handling proto generation, pidl, etc) (This used to be commit 4bffe4435944fffa3f9680b5a2fe63f2bdd98003)
2007-10-10r10312: fix compiler warningStefan Metzmacher1-1/+1
metze (This used to be commit 3309a0f4d90f01e1f6182b797e2bfe3f8380e59c)
2007-10-10r10305: start implementing better error handlingSimo Sorce16-354/+310
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-10r10304: check for basic ldb_message sanity and return appropriateSimo Sorce4-14/+59
LDB_ERR_ value (This used to be commit 610f5646f0816820ac9342e81d46d139e26cc918)
2007-10-10r10303: check no attribute is given emptySimo Sorce1-0/+5
(This used to be commit f0ad9495e45ee0d41ef8ca182984599c8e11cabb)
2007-10-10r10302: Introduce ldap like error codesSimo Sorce1-0/+91
(This used to be commit cbe438be6d9b1b7182ab3e63607a2e5b2d5456fb)
2007-10-10r10301: fix standalone compiple after tdb changesSimo Sorce1-1/+4
(This used to be commit acfb4b928363b00346cd8991347d992c76c981d6)
2007-10-10r10299: remove the public (un)lock functions and introduce a transaction basedSimo Sorce13-275/+232
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-10r10277: do not ovverride LIKE, thanks to derrel I found out how to doSimo Sorce1-26/+24
the same thing with a harmless user function (This used to be commit 158693b4064bd731aa4f6cdb2fde51d7aa596cf5)
2007-10-10r10253: a fairly large tdb cleanup and re-organise. Nearly all of this changeAndrew Tridgell1-1/+1
just involves splitting up the core tdb.c code into separate files on logical boundaries, but there are some minor functional changes as well: - move the 'struct tdb_context' into tdb_private.h, hiding it from users. This was done to allow the structure to change without breaking code that uses tdb. - added accessor functions tdb_fd(), tdb_name(), and tdb_log_fn() to access the elements of struct tdb_context that were used by external code but are no longer visible - simplied tdb_append() to use tdb_fetch()/tdb_store(), which is just as good due to the way tdb locks work - changed some of the types (such as tdb_off to tdb_off_t) to make syntax highlighting work better - removed the old optional spinlock code. It was a bad idea. - fixed a bug in tdb_reopen_all() that caused tdbtorture to sometimes fail or report nasty looking errors. This is the only real bug fixed in this commit. Jeremy/Jerry, you might like to pickup this change for Samba3, as that could definately affect smbd in Samba3. The aim of all of these changes is to make the tdb transactions/journaling code I am working on easier to write. I started to write it on top of the existing tdb.c code and it got very messy. Splitting up the code makes it much easier to follow. There are more cleanups we could do in tdb, such as using uint32_t instead of u32 (suggested by metze). I'll leave those for another day. (This used to be commit 4673cdd0d261614e707b72a7a348bb0e7dbb2482)