dbwrap_rbt: add nested traverse protection
authorStefan Metzmacher <metze@samba.org>
Wed, 25 Nov 2015 08:22:08 +0000 (09:22 +0100)
committerStefan Metzmacher <metze@samba.org>
Fri, 27 Nov 2015 09:10:18 +0000 (10:10 +0100)
commit590507951fc514a679f44b8bfdd03c721189c3fa
treef8ec34218660bbdadfa4babddb9db09aecfbba89
parentf3d1fc1d06822a951a2a3eeb5aa53748b9b5b299
dbwrap_rbt: add nested traverse protection

Multiple dbwrap_traverse_read() calls are possible.

store() and delete() on a fetch locked record
are rejected during dbwrap_traverse_read().

A dbwrap_traverse() within a dbwrap_traverse_read()
behaves like a dbwrap_traverse_read().

Nested dbwrap_traverse() calls are not possible.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=11375
BUG: https://bugzilla.samba.org/show_bug.cgi?id=11394

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
lib/dbwrap/dbwrap_rbt.c