Age | Commit message (Collapse) | Author | Files | Lines |
|
This should ensure the debug messages do not have random characters at
their ends.
Andrew Bartlett
|
|
|
|
This fixes a bug in the samba3sam test with the python libraries as
noticed by abartlet
|
|
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
|
|
|
|
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
|
|
When copying an attribute list, ensure the list itself is not NULL before
attempting to access elements of the list.
|
|
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
|
|
This fixes a bug where we would look at an uninitialised
dn->linearized
|
|
|
|
of LDB
(including the one in Samba 3).
|
|
|
|
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.
|
|
metze
|
|
metze
|
|
do not reference it from ldb.h
|
|
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.
|
|
|
|
|
|
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.
|
|
metze
|
|
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
|
|
It changes some "return 0" in "return LDB_SUCCESS"
|
|
Signed-off-by: Stefan Metzmacher <metze@samba.org>
|
|
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>
|
|
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>
|
|
|
|
If an LDB element cannot be converted into a printable form, we should
still print it, just with safety applied.
Andrew Bartlett
|
|
|
|
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
|
|
This reverts commit 753af36a3e194f645ec0b68a033199035e71c909.
|
|
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.
|
|
it should always have been. Make it also async so that it is not a special case.
|
|
metze
|
|
|
|
|
|
This commit applies some cosmetic corrections for the LDB library.
|
|
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.
|
|
retieve -> retrieve
Karolin
(partialy cherry-picked from 37c64130701ab13b6f34998ac17fec2d128c2e08)
metze
(This used to be commit 4d92e6d582a5b2094b2aaa9008a54b37ccfcc2d7)
|
|
(This used to be commit 40b71bbd718f6dee70c0611e527f55c56623dea6)
|
|
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)
|
|
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)
|
|
(This used to be commit 505a0c2b702b696b91dab683626bb25b14a49c38)
|
|
(This used to be commit e860fc171fd127d73df23336089c1479911953da)
|
|
(This used to be commit 3bdc906eb63a494f0d8478c13f8330828aa2f725)
|
|
as never to be removed.
(This used to be commit 9dce558206a2ce70c69b9b6c5c3c9c58ee165b1d)
|
|
(This used to be commit 0aebae91be0fba7ffa94d73946a94aea930a252a)
|
|
metze
(This used to be commit 1d5b714438a955d76f92f4ccd8aa2f7f89ffa5fd)
|
|
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)
|
|
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)
|