s3:lib/ctdbd_conn: try ctdbd_init_connection() as root (bug #8684)
authorStefan Metzmacher <metze@samba.org>
Fri, 23 Dec 2011 13:45:45 +0000 (14:45 +0100)
committerKarolin Seeger <kseeger@samba.org>
Mon, 5 Mar 2012 19:55:04 +0000 (20:55 +0100)
ctdbd_traverse is only called if the main db_context is already
open. So if we could get to information via dbwrap_fetch,
we should also be able to traverse.

metze

Autobuild-User: Stefan Metzmacher <metze@samba.org>
Autobuild-Date: Fri Dec 23 18:19:14 CET 2011 on sn-devel-104
(cherry picked from commit 4a1895eb9921ad533910d08823c2814c470875fd)
(cherry picked from commit 1d61fe68230dc307c107b9eabf9583f8571f5d61)

source3/lib/ctdbd_conn.c

index 6b50009e003252917dc1e79d9d349825cbd8fea7..9ae8f9f1ee7ca48cb065f050b89b627e3be6fe8c 100644 (file)
@@ -1131,7 +1131,9 @@ NTSTATUS ctdbd_traverse(uint32 db_id,
        int cstatus;
        struct ctdbd_traverse_state state;
 
+       become_root();
        status = ctdbd_init_connection(NULL, &conn);
+       unbecome_root();
        if (!NT_STATUS_IS_OK(status)) {
                DEBUG(0, ("ctdbd_init_connection failed: %s\n",
                          nt_errstr(status)));