From: Andrew Bartlett Date: Mon, 23 Nov 2020 06:35:37 +0000 (+1300) Subject: Do not create an empty DB when accessing a sam.ldb X-Git-Tag: samba-4.12.11~11 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=578c5805ac7c44a1dcb4e5a121f65bad95d188d5;p=thirdparty%2Fsamba.git Do not create an empty DB when accessing a sam.ldb Samba already does this for samba-tool and doing this should make our errors more sensible, particularly in BIND9 if not provisioned with the correct --dns-backend=DLZ_BIND9 The old error was like: named[62954]: samba_dlz: Unable to get basedn for /var/lib/samba/private/dns/sam.ldb - NULL Base DN invalid for a base search. The new error will be like (in this case from the torture test): Failed to connect to Failed to connect to ldb:///home/abartlet/samba/st/chgdcpass/bind-dns/dns/sam.ldb: Unable to open tdb '/home/abartlet/samba/st/chgdcpass/bind-dns/dns/sam.ldb': No such file or directory: Operations error BUG: https://bugzilla.samba.org/show_bug.cgi?id=14579 Reviewed-by: Andreas Schneider Signed-off-by: Andrew Bartlett (cherry picked from commit d49e96bc45ea5e2d3364242dad36fe9094b7cc42) Autobuild-User(v4-12-test): Karolin Seeger Autobuild-Date(v4-12-test): Thu Jan 7 09:50:29 UTC 2021 on sn-devel-184 --- diff --git a/source4/dsdb/samdb/samdb.c b/source4/dsdb/samdb/samdb.c index 10db0c50395..d5890dec03e 100644 --- a/source4/dsdb/samdb/samdb.c +++ b/source4/dsdb/samdb/samdb.c @@ -63,6 +63,9 @@ int samdb_connect_url(TALLOC_CTX *mem_ctx, *ldb_ret = NULL; *errstring = NULL; + /* We create sam.ldb in provision, and never anywhere else */ + flags |= LDB_FLG_DONT_CREATE_DB; + if (remote_address == NULL) { ldb = ldb_wrap_find(url, ev_ctx, lp_ctx, session_info, NULL, flags);