1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-23 17:34:34 +03:00

samba-tool: Correct handling of default value for use_ntvfs and use_xattrs

Because these options are optional based on build-time rules, we need to encode the
default value from the additonal Option() blocks in the run() declaration.

Then we can correctly check only for the expected options, and not inconsistently for
None (causing classicupgrade to fail).

BUG: https://bugzilla.samba.org/show_bug.cgi?id=12543
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
This commit is contained in:
Andrew Bartlett 2017-01-30 15:34:09 +13:00
parent 32116e015b
commit ca961e6a62

View File

@ -298,9 +298,9 @@ class cmd_domain_provision(Command):
partitions_only=None,
targetdir=None,
ol_mmr_urls=None,
use_xattrs=None,
use_xattrs="auto",
slapd_path=None,
use_ntvfs=None,
use_ntvfs=False,
use_rfc2307=None,
ldap_backend_nosync=None,
ldap_backend_extra_port=None,
@ -413,9 +413,9 @@ class cmd_domain_provision(Command):
if use_xattrs == "yes":
eadb = False
elif use_xattrs == "auto" and use_ntvfs == False or use_ntvfs == None:
elif use_xattrs == "auto" and use_ntvfs == False:
eadb = False
elif use_ntvfs == False or use_ntvfs == None:
elif use_ntvfs == False:
raise CommandError("--use-xattrs=no requires --use-ntvfs (not supported for production use). "
"Please re-run with --use-xattrs omitted.")
elif use_xattrs == "auto" and not lp.get("posix:eadb"):
@ -1491,7 +1491,7 @@ class cmd_domain_classicupgrade(Command):
takes_args = ["smbconf"]
def run(self, smbconf=None, targetdir=None, dbdir=None, testparm=None,
quiet=False, verbose=False, use_xattrs=None, sambaopts=None, versionopts=None,
quiet=False, verbose=False, use_xattrs="auto", sambaopts=None, versionopts=None,
dns_backend=None, use_ntvfs=False):
if not os.path.exists(smbconf):
@ -1532,9 +1532,9 @@ class cmd_domain_classicupgrade(Command):
eadb = True
if use_xattrs == "yes":
eadb = False
elif use_xattrs == "auto" and use_ntvfs == False or use_ntvfs == None:
elif use_xattrs == "auto" and use_ntvfs == False:
eadb = False
elif use_ntvfs == False or use_ntvfs == None:
elif use_ntvfs == False:
raise CommandError("--use-xattrs=no requires --use-ntvfs (not supported for production use). "
"Please re-run with --use-xattrs omitted.")
elif use_xattrs == "auto" and not s3conf.get("posix:eadb"):