diff options
-rw-r--r-- | docs-xml/smbdotconf/misc/fakedirectorycreatetimes.xml | 2 | ||||
-rw-r--r-- | source3/include/proto.h | 2 | ||||
-rw-r--r-- | source3/modules/vfs_default.c | 6 | ||||
-rw-r--r-- | source3/param/loadparm.c | 9 |
4 files changed, 10 insertions, 9 deletions
diff --git a/docs-xml/smbdotconf/misc/fakedirectorycreatetimes.xml b/docs-xml/smbdotconf/misc/fakedirectorycreatetimes.xml index 7c8807e332..974b6f0f30 100644 --- a/docs-xml/smbdotconf/misc/fakedirectorycreatetimes.xml +++ b/docs-xml/smbdotconf/misc/fakedirectorycreatetimes.xml @@ -1,5 +1,5 @@ <samba:parameter name="fake directory create times" - context="G" + context="S" type="boolean" xmlns:samba="http://www.samba.org/samba/DTD/samba-doc"> <description> diff --git a/source3/include/proto.h b/source3/include/proto.h index a2d0397d4e..f0ce7a32f8 100644 --- a/source3/include/proto.h +++ b/source3/include/proto.h @@ -4210,7 +4210,7 @@ bool lp_recursive_veto_delete(int ); bool lp_dos_filemode(int ); bool lp_dos_filetimes(int ); bool lp_dos_filetime_resolution(int ); -bool lp_fake_dir_create_times(void); +bool lp_fake_dir_create_times(int); bool lp_blocking_locks(int ); bool lp_inherit_perms(int ); bool lp_inherit_acls(int ); diff --git a/source3/modules/vfs_default.c b/source3/modules/vfs_default.c index cfa10692ec..9abf792769 100644 --- a/source3/modules/vfs_default.c +++ b/source3/modules/vfs_default.c @@ -616,7 +616,7 @@ static int vfswrap_stat(vfs_handle_struct *handle, } result = sys_stat(smb_fname->base_name, &smb_fname->st, - lp_fake_dir_create_times()); + lp_fake_dir_create_times(SNUM(handle->conn))); out: END_PROFILE(syscall_stat); return result; @@ -628,7 +628,7 @@ static int vfswrap_fstat(vfs_handle_struct *handle, files_struct *fsp, SMB_STRUC START_PROFILE(syscall_fstat); result = sys_fstat(fsp->fh->fd, - sbuf, lp_fake_dir_create_times()); + sbuf, lp_fake_dir_create_times(SNUM(handle->conn))); END_PROFILE(syscall_fstat); return result; } @@ -646,7 +646,7 @@ static int vfswrap_lstat(vfs_handle_struct *handle, } result = sys_lstat(smb_fname->base_name, &smb_fname->st, - lp_fake_dir_create_times()); + lp_fake_dir_create_times(SNUM(handle->conn))); out: END_PROFILE(syscall_lstat); return result; diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c index ce235edf5b..29e3a2509f 100644 --- a/source3/param/loadparm.c +++ b/source3/param/loadparm.c @@ -357,7 +357,6 @@ struct global { int cups_connection_timeout; char *szSMBPerfcountModule; bool bMapUntrustedToDomain; - bool bFakeDirCreateTimes; }; static struct global Globals; @@ -475,6 +474,7 @@ struct service { bool bDosFilemode; bool bDosFiletimes; bool bDosFiletimeResolution; + bool bFakeDirCreateTimes; bool bBlockingLocks; bool bInheritPerms; bool bInheritACLS; @@ -618,6 +618,7 @@ static struct service sDefault = { False, /* bDosFilemode */ True, /* bDosFiletimes */ False, /* bDosFiletimeResolution */ + False, /* bFakeDirCreateTimes */ True, /* bBlockingLocks */ False, /* bInheritPerms */ False, /* bInheritACLS */ @@ -4301,8 +4302,8 @@ static struct parm_struct parm_table[] = { { .label = "fake directory create times", .type = P_BOOL, - .p_class = P_GLOBAL, - .ptr = &Globals.bFakeDirCreateTimes, + .p_class = P_LOCAL, + .ptr = &sDefault.bFakeDirCreateTimes, .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_GLOBAL, @@ -5629,7 +5630,7 @@ FN_LOCAL_BOOL(lp_recursive_veto_delete, bDeleteVetoFiles) FN_LOCAL_BOOL(lp_dos_filemode, bDosFilemode) FN_LOCAL_BOOL(lp_dos_filetimes, bDosFiletimes) FN_LOCAL_BOOL(lp_dos_filetime_resolution, bDosFiletimeResolution) -FN_GLOBAL_BOOL(lp_fake_dir_create_times, &Globals.bFakeDirCreateTimes) +FN_LOCAL_BOOL(lp_fake_dir_create_times, bFakeDirCreateTimes) FN_LOCAL_BOOL(lp_blocking_locks, bBlockingLocks) FN_LOCAL_BOOL(lp_inherit_perms, bInheritPerms) FN_LOCAL_BOOL(lp_inherit_acls, bInheritACLS) |