Age | Commit message (Collapse) | Author | Files | Lines |
|
metze
|
|
It is useful to be able to control the 2 phase commit from application
code (s4 replication uses it)
|
|
This module is now part of Samba 4's dsdb subsystem rather than
standalone ldb.
|
|
|
|
This add --show-binary to ldbsearch. When this flag is set, binary
blobs will be shown as-is, instead of base64 encoded. This is useful
for some XML encoded attributes, and will also be used as part of some
NDR print formatting for attributes like repsTo.
|
|
|
|
|
|
When a top level method in a module returns an error, it is supposed
to call ldb_module_done(). We ran across a case where this wasn't
done, and then found that in fact that are hundreds of similar cases
in our modules. It took Andrew and I a full day to work out that this
was the cause of a subtle segv in another part of the code.
To try to prevent this happening again, this patch changes
ldb_next_request() to catch the error by checking if a module
returning an error has called ldb_module_done(). If it hasn't then the
call is made on behalf of the module.
|
|
The reason we need this is to make multi-tdb transactions safe, with
the partition module. The linked_attributes and repl_meta_data modules
now do extra processing when the transaction ends, and that processing
can fail. When it fails we need to cancel the transaction, which we
can only do if the hook is on the prepare commit instead of the end
transaction call. Otherwise the partition module cannot ensure that no
commit has been done on another partition.
|
|
This function provides a easy function for displaying a ldb_message
structure in a human readable format. It is especially useful for
calling in gdb.
|
|
Michael
|
|
This allows us to turn a python LdbMessage back into a string.
Andrew Bartlett
|
|
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
|
|
It seems quite reasonable to allow modules to re-initialise the set of
cached DNs on the ldb context.
Andrew Bartlett
|
|
When a attribute is marked as LDB_ATTR_FLAG_UNIQUE_INDEX then attempts
to add a 2nd record that has the same attribute value for this
attribute as another record will fail.
This provides a much more efficient mechanism for ensuring that
attributes like objectGUID are unique
|
|
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.
|
|
This op will be used by the partition module to give us good
transaction semantics across the 4 partitions that sam.ldb uses.
|
|
|
|
do not reference it from ldb.h
|
|
|
|
The only 2 modules escaping the rule so far are rootdse and partitions
|
|
|
|
Some public functions were mistakenly put into ldb_private.h
Revert all modules to only include ldb_module.h
|
|
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
|
|
|
|
|
|
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>
|
|
|
|
remove some unused functions.
|
|
it should always have been. Make it also async so that it is not a special case.
|
|
|
|
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.
|
|
|
|
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 9fa48b3572cb4e55cfaa48a8b516a91904048573)
|
|
as never to be removed.
(This used to be commit 9dce558206a2ce70c69b9b6c5c3c9c58ee165b1d)
|
|
(This used to be commit ed19d0abea5b206d186a51fa11dc0c04197e6ee2)
|
|
metze
(This used to be commit 9bbdc682a985f210874c008a0abc25645e7fbd50)
|
|
(This used to be commit 3b8eec7ca334528cad3cdcd5e3fc5ee555d8d0e0)
|
|
(This used to be commit 977dbdeaf363c8905ed9fd0570eba4be80582833)
|
|
metze
(This used to be commit 087667e0cd66ea615b5aa43538192fe1d7de87ae)
|
|
metze
(This used to be commit 91b49365abed6f67e2b3c18b0090b4e6ff1df935)
|
|
Conflicts:
source/Makefile
source/build/smb_build/makefile.pm
source/librpc/config.mk
(This used to be commit 3e02fcfd3fb6683f51417ba39f4ec177494eff3e)
|
|
(This used to be commit 5972308add8b1078e190beab204c1ba4b3a25747)
|
|
(This used to be commit ef00f6b5817107738dc44367838095896af4e77d)
|
|
(This used to be commit ca510136d2c4cae8f520c76df6aaadb5d412bea1)
|