diff --git a/source/Makefile b/source/Makefile index 3d4743c47f7..982808e8b63 100644 --- a/source/Makefile +++ b/source/Makefile @@ -185,7 +185,8 @@ installdat:: installdirs @$(SHELL) $(srcdir)/script/installdat.sh $(DESTDIR)$(datadir) $(srcdir) installswat:: installdirs - @$(SHELL) $(srcdir)/script/installswat.sh $(DESTDIR)$(SWATDIR) $(srcdir) +#SWAT has been disabled until further notice +# @$(SHELL) $(srcdir)/script/installswat.sh $(DESTDIR)$(SWATDIR) $(srcdir) installman:: manpages installdirs @$(SHELL) $(srcdir)/script/installman.sh $(DESTDIR)$(mandir) $(MANPAGES) diff --git a/source/cluster/ctdb/opendb_ctdb.c b/source/cluster/ctdb/opendb_ctdb.c index 402f3a2a1af..ed09cf0bbcc 100644 --- a/source/cluster/ctdb/opendb_ctdb.c +++ b/source/cluster/ctdb/opendb_ctdb.c @@ -97,7 +97,7 @@ static struct odb_context *odb_ctdb_init(TALLOC_CTX *mem_ctx, odb->ntvfs_ctx = ntvfs_ctx; /* leave oplocks disabled by default until the code is working */ - odb->oplocks = lp_parm_bool(ntvfs_ctx->lp_ctx, NULL, "opendb", "oplocks", false); + odb->oplocks = share_bool_option(ntvfs_ctx->config, SHARE_OPLOCKS, SHARE_OPLOCKS_DEFAULT); return odb; } diff --git a/source/ntvfs/common/opendb_tdb.c b/source/ntvfs/common/opendb_tdb.c index fc05b342a8f..99c0a95c20a 100644 --- a/source/ntvfs/common/opendb_tdb.c +++ b/source/ntvfs/common/opendb_tdb.c @@ -101,8 +101,7 @@ static struct odb_context *odb_tdb_init(TALLOC_CTX *mem_ctx, odb->ntvfs_ctx = ntvfs_ctx; - /* leave oplocks disabled by default until the code is working */ - odb->oplocks = lp_parm_bool(ntvfs_ctx->lp_ctx, NULL, "opendb", "oplocks", true); + odb->oplocks = share_bool_option(ntvfs_ctx->config, SHARE_OPLOCKS, SHARE_OPLOCKS_DEFAULT); odb->lease_ctx = sys_lease_context_create(ntvfs_ctx->config, odb, ntvfs_ctx->event_ctx, diff --git a/source/param/loadparm.c b/source/param/loadparm.c index a1d29b07711..812162e1707 100644 --- a/source/param/loadparm.c +++ b/source/param/loadparm.c @@ -210,6 +210,7 @@ struct loadparm_service int bMap_hidden; int bMap_archive; int bStrictLocking; + int bOplocks; int iCreate_mask; int iCreate_force_mode; int iDir_mask; @@ -457,6 +458,7 @@ static struct parm_struct parm_table[] = { {"csc policy", P_ENUM, P_LOCAL, LOCAL_VAR(iCSCPolicy), NULL, enum_csc_policy}, {"strict locking", P_BOOL, P_LOCAL, LOCAL_VAR(bStrictLocking), NULL, NULL}, + {"oplocks", P_BOOL, P_LOCAL, LOCAL_VAR(bOplocks), NULL, NULL}, {"share backend", P_STRING, P_GLOBAL, GLOBAL_VAR(szShareBackend), NULL, NULL}, {"preload", P_STRING, P_GLOBAL, GLOBAL_VAR(szAutoServices), NULL, NULL}, @@ -715,6 +717,7 @@ _PUBLIC_ FN_LOCAL_BOOL(lp_print_ok, bPrint_ok) _PUBLIC_ FN_LOCAL_BOOL(lp_map_hidden, bMap_hidden) _PUBLIC_ FN_LOCAL_BOOL(lp_map_archive, bMap_archive) _PUBLIC_ FN_LOCAL_BOOL(lp_strict_locking, bStrictLocking) +_PUBLIC_ FN_LOCAL_BOOL(lp_oplocks, bOplocks) _PUBLIC_ FN_LOCAL_BOOL(lp_strict_sync, bStrictSync) _PUBLIC_ FN_LOCAL_BOOL(lp_ci_filesystem, bCIFileSystem) _PUBLIC_ FN_LOCAL_BOOL(lp_map_system, bMap_system) @@ -2250,6 +2253,7 @@ struct loadparm_context *loadparm_init(TALLOC_CTX *mem_ctx) lp_ctx->sDefault->bRead_only = true; lp_ctx->sDefault->bMap_archive = true; lp_ctx->sDefault->bStrictLocking = true; + lp_ctx->sDefault->bOplocks = true; lp_ctx->sDefault->iCreate_mask = 0744; lp_ctx->sDefault->iCreate_force_mode = 0000; lp_ctx->sDefault->iDir_mask = 0755; @@ -2292,7 +2296,7 @@ struct loadparm_context *loadparm_init(TALLOC_CTX *mem_ctx) lp_do_global_parameter(lp_ctx, "max connections", "-1"); lp_do_global_parameter(lp_ctx, "dcerpc endpoint servers", "epmapper srvsvc wkssvc rpcecho samr netlogon lsarpc spoolss drsuapi winreg dssetup unixinfo"); - lp_do_global_parameter(lp_ctx, "server services", "smb rpc nbt wrepl ldap cldap web kdc drepl winbind"); + lp_do_global_parameter(lp_ctx, "server services", "smb rpc nbt wrepl ldap cldap kdc drepl winbind"); lp_do_global_parameter(lp_ctx, "ntptr providor", "simple_ldb"); lp_do_global_parameter(lp_ctx, "auth methods:domain controller", "anonymous sam_ignoredomain"); lp_do_global_parameter(lp_ctx, "auth methods:member server", "anonymous sam winbind"); diff --git a/source/param/share.h b/source/param/share.h index 51f45781c15..9f9cbdce5be 100644 --- a/source/param/share.h +++ b/source/param/share.h @@ -90,6 +90,7 @@ struct loadparm_context; #define SHARE_MAP_ARCHIVE "map-archive" #define SHARE_STRICT_LOCKING "strict-locking" +#define SHARE_OPLOCKS "oplocks" #define SHARE_STRICT_SYNC "strict-sync" #define SHARE_MSDFS_ROOT "msdfs-root" #define SHARE_CI_FILESYSTEM "ci-filesystem" @@ -125,6 +126,7 @@ struct loadparm_context; #define SHARE_MAP_ARCHIVE_DEFAULT true #define SHARE_STRICT_LOCKING_DEFAULT true +#define SHARE_OPLOCKS_DEFAULT true #define SHARE_STRICT_SYNC_DEFAULT false #define SHARE_MSDFS_ROOT_DEFAULT false #define SHARE_CI_FILESYSTEM_DEFAULT false diff --git a/source/param/share_classic.c b/source/param/share_classic.c index f5a6fa67a48..c3adc4473c7 100644 --- a/source/param/share_classic.c +++ b/source/param/share_classic.c @@ -213,6 +213,10 @@ static bool sclassic_bool_option(struct share_config *scfg, const char *opt_name return lp_strict_locking(s, lp_default_service(lp_ctx)); } + if (strcmp(opt_name, SHARE_OPLOCKS) == 0) { + return lp_oplocks(s, lp_default_service(lp_ctx)); + } + if (strcmp(opt_name, SHARE_STRICT_SYNC) == 0) { return lp_strict_sync(s, lp_default_service(lp_ctx)); } diff --git a/source/scripting/python/samba/provision.py b/source/scripting/python/samba/provision.py index e97ce694b4c..d5e66d842c1 100644 --- a/source/scripting/python/samba/provision.py +++ b/source/scripting/python/samba/provision.py @@ -374,8 +374,8 @@ def load_or_make_smbconf(smbconf, setup_path, hostname, domain, realm, serverrol default_lp.set("lock dir", os.path.abspath(targetdir)) else: - privatedir_line = "private_dir = " + default_lp.get("private dir") - lockdir_line = "lock dir = " + default_lp.get("lock dir") + privatedir_line = "" + lockdir_line = "" sysvol = os.path.join(default_lp.get("lock dir"), "sysvol") netlogon = os.path.join(sysvol, realm.lower(), "scripts")