diff options
author | Michael Adam <obnox@samba.org> | 2012-09-06 14:23:26 +0200 |
---|---|---|
committer | Stefan Metzmacher <metze@samba.org> | 2012-09-08 19:46:08 +0200 |
commit | 1d012a6780c543620413b24237cb7e9b97a6e3bc (patch) | |
tree | cc480d606db4060958c6c29343b072471c9db184 | |
parent | ba011c1de0e8dc4c6bb9e2b53fef2f0fcff43854 (diff) | |
download | samba-1d012a6780c543620413b24237cb7e9b97a6e3bc.tar.gz samba-1d012a6780c543620413b24237cb7e9b97a6e3bc.tar.bz2 samba-1d012a6780c543620413b24237cb7e9b97a6e3bc.zip |
s3: introduce a new share config option "durable handles" defaulting to "yes"
This is in order to be able to turn durable handles off and on on a per share
basis.
Note: This is only used in combination with:
kernel share modes = no
kernel oplocks = no
posix locking = no
Which means CIFS/SMB2 only access.
Signed-off-by: Stefan Metzmacher <metze@samba.org>
-rw-r--r-- | lib/param/param_functions.c | 1 | ||||
-rw-r--r-- | lib/param/param_table.c | 9 | ||||
-rw-r--r-- | source3/include/proto.h | 1 | ||||
-rw-r--r-- | source3/param/loadparm.c | 1 |
4 files changed, 12 insertions, 0 deletions
diff --git a/lib/param/param_functions.c b/lib/param/param_functions.c index 3b39e88767..bf6863e76d 100644 --- a/lib/param/param_functions.c +++ b/lib/param/param_functions.c @@ -156,6 +156,7 @@ FN_LOCAL_CHAR(magicchar, magic_char) FN_LOCAL_STRING(cups_options, szCupsOptions) FN_LOCAL_PARM_BOOL(change_notify, bChangeNotify) FN_LOCAL_PARM_BOOL(kernel_change_notify, bKernelChangeNotify) +FN_LOCAL_BOOL(durable_handles, bDurableHandles) FN_GLOBAL_BOOL(allow_insecure_widelinks, bAllowInsecureWidelinks) FN_GLOBAL_BOOL(allow_trusted_domains, bAllowTrustedDomains) diff --git a/lib/param/param_table.c b/lib/param/param_table.c index 23489ae01f..060608a831 100644 --- a/lib/param/param_table.c +++ b/lib/param/param_table.c @@ -1763,6 +1763,15 @@ static struct parm_struct parm_table[] = { .special = NULL, .enum_list = NULL }, + { + .label = "durable handles", + .type = P_BOOL, + .p_class = P_LOCAL, + .offset = LOCAL_VAR(bDurableHandles), + .special = NULL, + .enum_list = NULL, + .flags = FLAG_ADVANCED, + }, {N_("Tuning Options"), P_SEP, P_SEPARATOR}, diff --git a/source3/include/proto.h b/source3/include/proto.h index 44b9d716e5..6dbdf4eae1 100644 --- a/source3/include/proto.h +++ b/source3/include/proto.h @@ -1327,6 +1327,7 @@ bool lp_afs_share(int ); bool lp_acl_check_permissions(int ); bool lp_acl_group_control(int ); bool lp_acl_map_full_control(int ); +bool lp_durable_handles(int); int lp_create_mask(int ); int lp_force_create_mode(int ); int lp_security_mask(int ); diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c index 563d6446a0..f1999ad817 100644 --- a/source3/param/loadparm.c +++ b/source3/param/loadparm.c @@ -282,6 +282,7 @@ static struct loadparm_service sDefault = #endif .ismb_encrypt = SMB_SIGNING_DEFAULT, .bKernelShareModes = true, + .bDurableHandles = true, .param_opt = NULL, .dummy = "" }; |