summaryrefslogtreecommitdiff
path: root/source4/lib/ldb/common
AgeCommit message (Collapse)AuthorFilesLines
2009-08-21s4:ldb Use length-limited printf to avoid walking off end of stringsAndrew Bartlett1-1/+1
This should ensure the debug messages do not have random characters at their ends. Andrew Bartlett
2009-08-14s4:ldb - Free the asynchronous resultMatthias Dieter Wallnöfer1-0/+2
2009-08-07make sure we never look past the end of either string in ldb_comparison_fold()Andrew Tridgell1-26/+44
This fixes a bug in the samba3sam test with the python libraries as noticed by abartlet
2009-07-23s4:ldb: add support for the new Recycle Bin Feature LDAP controlsStefan Metzmacher1-0/+54
LDB_CONTROL_SHOW_RECYCLED_OID 1.2.840.113556.1.4.2064 LDB_CONTROL_SHOW_DEACTIVATED_LINK_OID 1.2.840.113556.1.4.2065 metze
2009-07-14remove all '\n' from ldb_debugSumit Bose5-20/+21
2009-07-06s4:ldb Fix talloc hirarchy in LDIF parsing codeAndrew Bartlett1-3/+3
The problem here was that some parts of the ldb_message were still attached to the ldb_ldif structure, and when only the message was taken (and the ldif free'ed to reclaim memory) we refereced free'ed memory. Andrew Bartlett
2009-06-29ldb: Properly handle NULL when copying attr lists.Andrew Kroeger1-4/+4
When copying an attribute list, ensure the list itself is not NULL before attempting to access elements of the list.
2009-06-10fixed server side sorting of case-insensitive stringsAndrew Tridgell1-3/+0
The sort module uses ldb_comparison_fold() as the comparison function for case-insensitive attributes. In other places the function is being used to produce a boolean, but for sorting we care about ordering. The n1 - n2 return was sorting by length, not value
2009-06-01when comp_num is zero, the case folded DN is always ""Andrew Tridgell1-8/+2
This fixes a bug where we would look at an uninitialised dn->linearized
2009-05-26s4:ldb:modules: Correct typos.Andrew Kroeger1-3/+1
2009-04-23Provide a ldb_global_init() function for compatibility with older versions ↵Jelmer Vernooij1-0/+6
of LDB (including the one in Samba 3).
2009-04-07fixed internal handling of attribute deletionAndrew Tridgell1-13/+23
2009-04-02major upgrade to the ldb attribute handlingAndrew Tridgell2-7/+67
This is all working towards supporting the full WSPP schema without a major performance penalty. We now use binary searches when looking up classes and attributes. We also avoid the loop loading the attributes into ldb, by adding a hook to override the ldb attribute search function in a module. The attributes can thus be loaded once, and then saved as part of the global schema. Also added support for a few more key attribute syntaxes, as needed for the full schema.
2009-03-12s4:ldb: allow nested events until the code is fixed to avoid themStefan Metzmacher1-1/+3
metze
2009-03-12s4:ldb: setup tevent debug functions on a selfcreated event contextStefan Metzmacher1-0/+35
metze
2009-02-23Fix headers, ldb_includes.h is a private header,Simo Sorce1-4/+1
do not reference it from ldb.h
2009-02-23Make all transactions nested in ldb. The current samba4 code expects thisSimo Sorce1-59/+73
behavior anyway, and given we can only have one transaction active per ldb context this is the only sane model we can support. Fix ldb_tdb transactions, we could return back with an error with neither committing nor canceling the actual tdb transaction in some error paths within the ltdb commit and cancel transaction paths. Added also some debugging to trace what was going on.
2009-01-30Explicitly include ldb_handlers.h where necessarySimo Sorce1-0/+1
2009-01-30Add helper function to get a module name, may be useful for debugging.Simo Sorce1-0/+5
2009-01-30Fix the mess with ldb includes.Simo Sorce13-13/+63
Separate again the public from the private headers. Add a new header specific for modules. Also add service function for modules as now ldb_context and ldb_module are opaque structures for them.
2009-01-21s4:ldb: remove dependency to samba4's events wrapperStefan Metzmacher1-3/+10
metze
2008-12-29s4:lib/tevent: rename structsStefan Metzmacher1-4/+4
list="" list="$list event_context:tevent_context" list="$list fd_event:tevent_fd" list="$list timed_event:tevent_timer" for s in $list; do o=`echo $s | cut -d ':' -f1` n=`echo $s | cut -d ':' -f2` r=`git grep "struct $o" |cut -d ':' -f1 |sort -u` files=`echo "$r" | grep -v source3 | grep -v nsswitch | grep -v packaging4` for f in $files; do cat $f | sed -e "s/struct $o/struct $n/g" > $f.tmp mv $f.tmp $f done done metze
2008-12-19Small cosmetic LDB patch regarding return values.Matthias Dieter Wallnöfer2-3/+3
It changes some "return 0" in "return LDB_SUCCESS"
2008-12-17s4:ldb: make it possible to return per entry controlsAndrew Bartlett2-1/+25
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2008-12-17s4:ldb: use try to print the extended dn in the ldif outputAndrew Bartlett1-2/+4
This allows searches with the extended DN control to still print the extended DN in ldif output (it would otherwise be parsed and hidden in the structure). Signed-off-by: Stefan Metzmacher <metze@samba.org>
2008-12-17s4:ldb: add infrastructure for extended dn handlersAndrew Bartlett2-58/+442
This introduces a new set of pluggable syntax, for use on the extended DN, and uses them when parsing the DN. If the DN appears to be in the extended form, we no longer return the full DN 'as is', but only return the normal part from ldb_dn_get_linearized(). When validating/parsing the DN we validate not only the format of the DN, but also the contents of the GUID or SID (to ensure they are plausable). We also have functions to set and get the extended components on the DN. For now, extended_dn_get_linearized() returns a newly constructed and allocated string each time. Signed-off-by: Stefan Metzmacher <metze@samba.org>
2008-12-03Merge branch 'master' of ssh://git.samba.org/data/git/sambaAndrew Tridgell1-2/+4
2008-11-17Print unconvertable ldb element values as base64.Andrew Bartlett1-2/+4
If an LDB element cannot be converted into a printable form, we should still print it, just with safety applied. Andrew Bartlett
2008-11-06don't give errors when an empty modules list is given to ldbAndrew Tridgell1-2/+9
2008-11-04Use ldb_dn_from_ldb_val to avoid possible over-run of the value.Andrew Bartlett3-6/+6
The ldb_val is length-limited, and while normally NULL terminated, this avoids the chance that this particular value might not be, as well as avoiding a cast. Andrew Bartlett
2008-10-30Revert "Length comparison of the linearized version is not correct."Simo Sorce1-0/+3
This reverts commit 753af36a3e194f645ec0b68a033199035e71c909.
2008-10-29Length comparison of the linearized version is not correct.Simo Sorce1-3/+0
The linearized version is not casefolded so length might not match and yet the strings be equivalent. This can happen if one component is case-insensitive and a letter that have an uppercase version of a multibyte character that differ in legth from the corresponding lowercase one.
2008-10-16Transform the sequence_number operation into a normal extended operation as ↵Simo Sorce2-25/+29
it should always have been. Make it also async so that it is not a special case.
2008-10-02s4:lib/ldb: fix stupid <SID=...> dn parsing bugsStefan Metzmacher1-2/+2
metze
2008-09-29LDB ASYNC: Core filesSimo Sorce2-96/+349
2008-09-25Revert LDB return code patches from Matthias.Jelmer Vernooij5-28/+28
2008-09-24Cosmetic corrections for the LDB libraryMatthias Dieter Wallnöfer5-28/+28
This commit applies some cosmetic corrections for the LDB library.
2008-09-23Merge ldb_search() and ldb_search_exp_fmt() into a simgle function.Simo Sorce2-54/+29
The previous ldb_search() interface made it way too easy to leak results, and being able to use a printf-like expression turns to be really useful.
2008-09-14Fix typo.Karolin Seeger1-1/+1
retieve -> retrieve Karolin (partialy cherry-picked from 37c64130701ab13b6f34998ac17fec2d128c2e08) metze (This used to be commit 4d92e6d582a5b2094b2aaa9008a54b37ccfcc2d7)
2008-09-06Always free tmp contexts before returningSimo Sorce1-0/+1
(This used to be commit 40b71bbd718f6dee70c0611e527f55c56623dea6)
2008-08-22fixed a problem with length limited ldap valuesAndrew Tridgell2-16/+23
The core ldb code for string matching assumed NULL terminated strings, whereas the anr module used data_blob_const() to effectively truncate a ldb_val by changing its length. The ldb code is supposed to be based around length limited blobs, not NULL terminated strings, so the correct fix was to change the string comparison functions to be length limited (This used to be commit 26c6aa5a80ffaf06fc33f30a6533f8f16ef538bc)
2008-08-21Don't walk past the end of ldb values.Andrew Bartlett2-10/+19
This is a partial fix towards bugs due to us walking past the end of what we think are strings in ldb. There is much more work to do in this area. Andrew Bartlett (This used to be commit 5805a9a8f35fd90fa4f718f73534817fa3bbdfd2)
2008-08-21Don't allow a NULL syntaxAndrew Bartlett1-0/+4
(This used to be commit 505a0c2b702b696b91dab683626bb25b14a49c38)
2008-08-20don't overwrite fixed attributes with @ATTRIBUTESAndrew Tridgell1-0/+4
(This used to be commit e860fc171fd127d73df23336089c1479911953da)
2008-08-20Merge commit 'origin/v4-0-test' into v4-0-testAndrew Tridgell1-3/+11
(This used to be commit 3bdc906eb63a494f0d8478c13f8330828aa2f725)
2008-08-20added a LDB_ATTR_FLAG_FIXED so the schema module can mark attributesAndrew Tridgell1-0/+5
as never to be removed. (This used to be commit 9dce558206a2ce70c69b9b6c5c3c9c58ee165b1d)
2008-08-18Allow attributes to be overwritten, not just added toAndrew Bartlett1-3/+11
(This used to be commit 0aebae91be0fba7ffa94d73946a94aea930a252a)
2008-06-30ldb: allow ldb modules to specify LDB_MODULE(name) or LDB_BACKEND(name)Stefan Metzmacher2-163/+198
metze (This used to be commit 1d5b714438a955d76f92f4ccd8aa2f7f89ffa5fd)
2008-06-17Change our module code to not use the special symbol name init_module()Andrew Tridgell2-20/+0
Current glibc libraries include a function called init_module(). If we use the same name, then a dlsym() can find the glibc function if the module doesn't have an initialisation function. In ldb, none of our modules have an init_module(), so we end up calling the libc functions with bogus arguments. (This used to be commit 1b0621068998590e7b1e9528b78744dcd2cd5909)
2008-06-15Note that making ldb the event context parent seem to lead to races whenSimo Sorce1-1/+1
freeing up resources. Try to avoid races by making the autofree context be the parent of the event system (This used to be commit 10ffa87b6b7ebfe51e81819feb93a72e9ec10418)