summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/param/param_functions.c1
-rw-r--r--lib/param/param_table.c9
-rw-r--r--source3/include/proto.h1
-rw-r--r--source3/param/loadparm.c1
4 files changed, 12 insertions, 0 deletions
diff --git a/lib/param/param_functions.c b/lib/param/param_functions.c
index 52e81a44a5..3b39e88767 100644
--- a/lib/param/param_functions.c
+++ b/lib/param/param_functions.c
@@ -104,6 +104,7 @@ FN_LOCAL_PARM_INTEGER(strict_locking, iStrictLocking)
FN_LOCAL_PARM_BOOL(posix_locking, bPosixLocking)
FN_LOCAL_BOOL(kernel_oplocks, bKernelOplocks)
FN_LOCAL_BOOL(level2_oplocks, bLevel2OpLocks)
+FN_LOCAL_BOOL(kernel_share_modes, bKernelShareModes)
FN_LOCAL_BOOL(onlyuser, bOnlyUser)
FN_LOCAL_PARM_BOOL(manglednames, bMangledNames)
FN_LOCAL_BOOL(symlinks, bSymlinks)
diff --git a/lib/param/param_table.c b/lib/param/param_table.c
index 2aa392a683..23489ae01f 100644
--- a/lib/param/param_table.c
+++ b/lib/param/param_table.c
@@ -3001,6 +3001,15 @@ static struct parm_struct parm_table[] = {
.flags = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL,
},
{
+ .label = "kernel share modes",
+ .type = P_BOOL,
+ .p_class = P_LOCAL,
+ .offset = LOCAL_VAR(bKernelShareModes),
+ .special = NULL,
+ .enum_list = NULL,
+ .flags = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL,
+ },
+ {
.label = "locking",
.type = P_BOOL,
.p_class = P_LOCAL,
diff --git a/source3/include/proto.h b/source3/include/proto.h
index 3635759ac5..44b9d716e5 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -1291,6 +1291,7 @@ bool lp_posix_locking(const struct share_params *p );
bool lp_oplocks(int );
bool lp_kernel_oplocks(int );
bool lp_level2_oplocks(int );
+bool lp_kernel_share_modes(int);
bool lp_onlyuser(int );
bool lp_manglednames(const struct share_params *p );
bool lp_allow_insecure_widelinks(void);
diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c
index cf616f5e19..563d6446a0 100644
--- a/source3/param/loadparm.c
+++ b/source3/param/loadparm.c
@@ -281,6 +281,7 @@ static struct loadparm_service sDefault =
.iDirectoryNameCacheSize = 100,
#endif
.ismb_encrypt = SMB_SIGNING_DEFAULT,
+ .bKernelShareModes = true,
.param_opt = NULL,
.dummy = ""
};