dsdb partition.c: Make partition_copy_all aysnc.
authorGary Lockyer <gary@catalyst.net.nz>
Mon, 21 May 2018 02:31:57 +0000 (14:31 +1200)
committerAndrew Bartlett <abartlet@samba.org>
Wed, 30 May 2018 02:23:28 +0000 (04:23 +0200)
commitede668e8e24c86f0836dfa5740e76d8aca1e0824
tree0a903052b7d10243984bb2dd19c81815e010ebb7
parent4e2eb5660a11cea215d39495844aa76ffb5a1a2e
dsdb partition.c: Make partition_copy_all aysnc.

partition_copy_all uses ldb_wait to wait for the update to the primary
partition to complete, when updating a special dn.  If a module higher
up the chain inserts a callback, the code blocks in ldb_wait and does
not complete.  This change replaces the ldb_wait logic with a callback.

Currently there is no code that triggers this bug, however the up coming
audit logging changes do trigger this bug.

Signed-off-by: Gary Lockyer <gary@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
python/samba/tests/dsdb_schema_attributes.py
source4/dsdb/samdb/ldb_modules/partition.c