From 1d1ea72574cfa22ee6207d0e9787d0271db3b5c2 Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Sat, 26 Jan 2013 09:35:21 +1100 Subject: ldb: Ensure to decrement the transaction_active whenever we delete a transaction This is in the error path for prepare_commit, which rarely fails, but when it does we need to ensure that when a new transaction is opened, that it really starts a new transaction. We bump the version to recognise critical fix for the AD DC Without this fix, a single invalid inbound replicated link disables all subsequent replication as we operate without a transaction (which is refused by ldb_tdb). Andrew Bartlett Reviewed-by: Matthieu Patou Reviewed-by: Stefan Metzmacher --- lib/ldb/common/ldb.c | 1 + 1 file changed, 1 insertion(+) (limited to 'lib/ldb/common') diff --git a/lib/ldb/common/ldb.c b/lib/ldb/common/ldb.c index 7a997f7824..3dc6d87228 100644 --- a/lib/ldb/common/ldb.c +++ b/lib/ldb/common/ldb.c @@ -408,6 +408,7 @@ int ldb_transaction_prepare_commit(struct ldb_context *ldb) status = module->ops->prepare_commit(module); if (status != LDB_SUCCESS) { + ldb->transaction_active--; /* if a module fails the prepare then we need to call the end transaction for everyone */ FIRST_OP(ldb, del_transaction); -- cgit