[SCM] Samba Shared Repository - branch master updated
Jeremy Allison
jra at samba.org
Thu Jun 1 00:59:03 UTC 2017
The branch, master has been updated
via 854ea4e s3: VFS: Change SMB_VFS_GETXATTR to use const struct smb_filename * instead of const char *.
via 48956fa s3: VFS: Change SMB_VFS_SETXATTR to use const struct smb_filename * instead of const char *.
via 12b801d s3: VFS: Change SMB_VFS_REMOVEXATTR to use const struct smb_filename * instead of const char *.
via 892476b s3: VFS: Change SMB_VFS_LISTXATTR to use const struct smb_filename * instead of const char *.
via aada948 s3: VFS: Change SMB_VFS_SYS_ACL_SET_FILE to use const struct smb_filename * instead of const char *.
via f5dd864 s3: VFS: Change SMB_VFS_SYS_ACL_BLOB_GET_FILE to use const struct smb_filename * instead of const char *.
via cea8e57 s3: VFS: Change SMB_VFS_SYS_ACL_GET_FILE to use const struct smb_filename * instead of const char *.
via 85c8780 s3: VFS: Change SMB_VFS_SYS_ACL_DELETE_DEF_FILE to use const struct smb_filename * instead of const char *.
via 63d2003 s3: lib: Add new utility function cp_smb_filename_nostream().
from 7259661 dsdb: Use ldb_handle_use_global_event_context for rootdse modifies
https://git.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit 854ea4eba8d552ab38543647da840fd66039dd94
Author: Jeremy Allison <jra at samba.org>
Date: Thu May 25 16:42:04 2017 -0700
s3: VFS: Change SMB_VFS_GETXATTR to use const struct smb_filename * instead of const char *.
We need to migrate all pathname based VFS calls to use a struct
to finish modernising the VFS with extra timestamp and flags parameters.
Signed-off-by: Jeremy Allison <jra at samba.org>
Reviewed-by: Ralph Boehme <slow at samba.org>
Autobuild-User(master): Jeremy Allison <jra at samba.org>
Autobuild-Date(master): Thu Jun 1 02:58:53 CEST 2017 on sn-devel-144
commit 48956fa4d3b37105ad3e8e742c21b5583d79db11
Author: Jeremy Allison <jra at samba.org>
Date: Thu May 25 12:41:31 2017 -0700
s3: VFS: Change SMB_VFS_SETXATTR to use const struct smb_filename * instead of const char *.
We need to migrate all pathname based VFS calls to use a struct
to finish modernising the VFS with extra timestamp and flags parameters.
Signed-off-by: Jeremy Allison <jra at samba.org>
Reviewed-by: Ralph Boehme <slow at samba.org>
commit 12b801d9d7856f1bb50619962f7e9cb94e75087f
Author: Jeremy Allison <jra at samba.org>
Date: Wed May 24 11:35:50 2017 -0700
s3: VFS: Change SMB_VFS_REMOVEXATTR to use const struct smb_filename * instead of const char *.
We need to migrate all pathname based VFS calls to use a struct
to finish modernising the VFS with extra timestamp and flags parameters.
Signed-off-by: Jeremy Allison <jra at samba.org>
Reviewed-by: Ralph Boehme <slow at samba.org>
commit 892476b555f57bcbe40883c533e208c81be168c9
Author: Jeremy Allison <jra at samba.org>
Date: Tue May 23 13:12:29 2017 -0700
s3: VFS: Change SMB_VFS_LISTXATTR to use const struct smb_filename * instead of const char *.
We need to migrate all pathname based VFS calls to use a struct
to finish modernising the VFS with extra timestamp and flags parameters.
Signed-off-by: Jeremy Allison <jra at samba.org>
Reviewed-by: Ralph Boehme <slow at samba.org>
commit aada94885dce29334e34c9aae32c22e7acfc1174
Author: Jeremy Allison <jra at samba.org>
Date: Wed May 24 10:47:46 2017 -0700
s3: VFS: Change SMB_VFS_SYS_ACL_SET_FILE to use const struct smb_filename * instead of const char *.
We need to migrate all pathname based VFS calls to use a struct
to finish modernising the VFS with extra timestamp and flags parameters.
Signed-off-by: Jeremy Allison <jra at samba.org>
Reviewed-by: Ralph Boehme <slow at samba.org>
commit f5dd864606d5e587b85695ea11520df31b353fb8
Author: Jeremy Allison <jra at samba.org>
Date: Tue May 23 17:35:59 2017 -0700
s3: VFS: Change SMB_VFS_SYS_ACL_BLOB_GET_FILE to use const struct smb_filename * instead of const char *.
We need to migrate all pathname based VFS calls to use a struct
to finish modernising the VFS with extra timestamp and flags parameters.
Signed-off-by: Jeremy Allison <jra at samba.org>
Reviewed-by: Ralph Boehme <slow at samba.org>
commit cea8e57eac2ed7b90a5c5d207bf392ff0546398e
Author: Jeremy Allison <jra at samba.org>
Date: Tue May 23 17:11:18 2017 -0700
s3: VFS: Change SMB_VFS_SYS_ACL_GET_FILE to use const struct smb_filename * instead of const char *.
We need to migrate all pathname based VFS calls to use a struct
to finish modernising the VFS with extra timestamp and flags parameters.
Requires a few extra cleanups in calling code.
Signed-off-by: Jeremy Allison <jra at samba.org>
Reviewed-by: Ralph Boehme <slow at samba.org>
commit 85c8780581e0f2bb0fdb940a865857db68111fbd
Author: Jeremy Allison <jra at samba.org>
Date: Tue May 23 15:33:31 2017 -0700
s3: VFS: Change SMB_VFS_SYS_ACL_DELETE_DEF_FILE to use const struct smb_filename * instead of const char *.
We need to migrate all pathname based VFS calls to use a struct
to finish modernising the VFS with extra timestamp and flags parameters.
Signed-off-by: Jeremy Allison <jra at samba.org>
Reviewed-by: Ralph Boehme <slow at samba.org>
commit 63d2003ecd74b009f484f2af6ad365e754879e13
Author: Jeremy Allison <jra at samba.org>
Date: Tue May 30 11:46:49 2017 -0700
s3: lib: Add new utility function cp_smb_filename_nostream().
Will be needed when we migrate lower-level VFS functions to
take an struct smb_filename *, especially the SYS_ACL and
XATTR modification modules, as these must ignore a passed-in
stream name.
Signed-off-by: Jeremy Allison <jra at samba.org>
Reviewed-by: Ralph Boehme <slow at samba.org>
-----------------------------------------------------------------------
Summary of changes:
examples/VFS/skel_opaque.c | 43 ++++---
examples/VFS/skel_transparent.c | 61 ++++++----
source3/include/proto.h | 2 +
source3/include/smb_acls.h | 12 +-
source3/include/vfs.h | 83 +++++++++----
source3/include/vfs_macros.h | 64 +++++-----
source3/lib/filename_util.c | 16 +++
source3/lib/sysacls.c | 95 +++++++++------
source3/modules/non_posix_acls.c | 13 +-
source3/modules/non_posix_acls.h | 2 +-
source3/modules/posixacl_xattr.c | 31 +++--
source3/modules/posixacl_xattr.h | 6 +-
source3/modules/vfs_acl_common.c | 2 +-
source3/modules/vfs_acl_tdb.c | 37 ++++--
source3/modules/vfs_acl_xattr.c | 15 +--
source3/modules/vfs_afsacl.c | 6 +-
source3/modules/vfs_aixacl.c | 13 +-
source3/modules/vfs_aixacl2.c | 31 +++--
source3/modules/vfs_cap.c | 227 +++++++++++++++++++++++++++++++----
source3/modules/vfs_catia.c | 229 ++++++++++++++++++++++++++++++------
source3/modules/vfs_ceph.c | 44 +++++--
source3/modules/vfs_default.c | 48 +++++---
source3/modules/vfs_fake_acls.c | 56 +++++----
source3/modules/vfs_fruit.c | 8 +-
source3/modules/vfs_full_audit.c | 68 ++++++-----
source3/modules/vfs_glusterfs.c | 25 ++--
source3/modules/vfs_gpfs.c | 26 ++--
source3/modules/vfs_hpuxacl.c | 18 +--
source3/modules/vfs_hpuxacl.h | 6 +-
source3/modules/vfs_media_harmony.c | 198 +++++++++++++------------------
source3/modules/vfs_nfs4acl_xattr.c | 67 +++++++----
source3/modules/vfs_posix_eadb.c | 30 +++--
source3/modules/vfs_posixacl.c | 20 ++--
source3/modules/vfs_posixacl.h | 6 +-
source3/modules/vfs_shadow_copy2.c | 106 +++++++++++++----
source3/modules/vfs_snapper.c | 173 +++++++++++++++++++--------
source3/modules/vfs_solarisacl.c | 38 +++---
source3/modules/vfs_solarisacl.h | 10 +-
source3/modules/vfs_streams_depot.c | 18 +--
source3/modules/vfs_streams_xattr.c | 76 +++++++++---
source3/modules/vfs_time_audit.c | 77 +++++++-----
source3/modules/vfs_tru64acl.c | 19 +--
source3/modules/vfs_tru64acl.h | 8 +-
source3/modules/vfs_unityed_media.c | 156 ++++++++++++++----------
source3/modules/vfs_vxfs.c | 134 +++++++++++++--------
source3/modules/vfs_xattr_tdb.c | 28 +++--
source3/modules/vfs_zfsacl.c | 16 ++-
source3/smbd/dosmode.c | 8 +-
source3/smbd/open.c | 4 +-
source3/smbd/posix_acls.c | 145 +++++++++++++++--------
source3/smbd/proto.h | 31 +++--
source3/smbd/pysmbd.c | 24 +++-
source3/smbd/trans2.c | 34 +++---
source3/smbd/vfs.c | 58 +++++----
source3/torture/cmd_vfs.c | 80 +++++++++++--
55 files changed, 1927 insertions(+), 924 deletions(-)
Changeset truncated at 500 lines:
diff --git a/examples/VFS/skel_opaque.c b/examples/VFS/skel_opaque.c
index af119f3..c5d4359 100644
--- a/examples/VFS/skel_opaque.c
+++ b/examples/VFS/skel_opaque.c
@@ -741,7 +741,7 @@ static int skel_fchmod_acl(vfs_handle_struct *handle, files_struct *fsp,
}
static SMB_ACL_T skel_sys_acl_get_file(vfs_handle_struct *handle,
- const char *path_p,
+ const struct smb_filename *smb_fname,
SMB_ACL_TYPE_T type,
TALLOC_CTX *mem_ctx)
{
@@ -757,8 +757,10 @@ static SMB_ACL_T skel_sys_acl_get_fd(vfs_handle_struct *handle,
}
static int skel_sys_acl_blob_get_file(vfs_handle_struct *handle,
- const char *path_p, TALLOC_CTX *mem_ctx,
- char **blob_description, DATA_BLOB *blob)
+ const struct smb_filename *smb_fname,
+ TALLOC_CTX *mem_ctx,
+ char **blob_description,
+ DATA_BLOB *blob)
{
errno = ENOSYS;
return -1;
@@ -772,8 +774,10 @@ static int skel_sys_acl_blob_get_fd(vfs_handle_struct *handle,
return -1;
}
-static int skel_sys_acl_set_file(vfs_handle_struct *handle, const char *name,
- SMB_ACL_TYPE_T acltype, SMB_ACL_T theacl)
+static int skel_sys_acl_set_file(vfs_handle_struct *handle,
+ const struct smb_filename *smb_fname,
+ SMB_ACL_TYPE_T acltype,
+ SMB_ACL_T theacl)
{
errno = ENOSYS;
return -1;
@@ -787,14 +791,17 @@ static int skel_sys_acl_set_fd(vfs_handle_struct *handle, files_struct *fsp,
}
static int skel_sys_acl_delete_def_file(vfs_handle_struct *handle,
- const char *path)
+ const struct smb_filename *smb_fname)
{
errno = ENOSYS;
return -1;
}
-static ssize_t skel_getxattr(vfs_handle_struct *handle, const char *path,
- const char *name, void *value, size_t size)
+static ssize_t skel_getxattr(vfs_handle_struct *handle,
+ const struct smb_filename *smb_fname,
+ const char *name,
+ void *value,
+ size_t size)
{
errno = ENOSYS;
return -1;
@@ -808,8 +815,10 @@ static ssize_t skel_fgetxattr(vfs_handle_struct *handle,
return -1;
}
-static ssize_t skel_listxattr(vfs_handle_struct *handle, const char *path,
- char *list, size_t size)
+static ssize_t skel_listxattr(vfs_handle_struct *handle,
+ const struct smb_filename *smb_fname,
+ char *list,
+ size_t size)
{
errno = ENOSYS;
return -1;
@@ -823,8 +832,9 @@ static ssize_t skel_flistxattr(vfs_handle_struct *handle,
return -1;
}
-static int skel_removexattr(vfs_handle_struct *handle, const char *path,
- const char *name)
+static int skel_removexattr(vfs_handle_struct *handle,
+ const struct smb_filename *smb_fname,
+ const char *name)
{
errno = ENOSYS;
return -1;
@@ -838,9 +848,12 @@ static int skel_fremovexattr(vfs_handle_struct *handle,
return SMB_VFS_NEXT_FREMOVEXATTR(handle, fsp, name);
}
-static int skel_setxattr(vfs_handle_struct *handle, const char *path,
- const char *name, const void *value, size_t size,
- int flags)
+static int skel_setxattr(vfs_handle_struct *handle,
+ const struct smb_filename *smb_fname,
+ const char *name,
+ const void *value,
+ size_t size,
+ int flags)
{
errno = ENOSYS;
return -1;
diff --git a/examples/VFS/skel_transparent.c b/examples/VFS/skel_transparent.c
index e974529..91ea5c6 100644
--- a/examples/VFS/skel_transparent.c
+++ b/examples/VFS/skel_transparent.c
@@ -881,11 +881,11 @@ static int skel_fchmod_acl(vfs_handle_struct *handle, files_struct *fsp,
}
static SMB_ACL_T skel_sys_acl_get_file(vfs_handle_struct *handle,
- const char *path_p,
+ const struct smb_filename *smb_fname,
SMB_ACL_TYPE_T type,
TALLOC_CTX *mem_ctx)
{
- return SMB_VFS_NEXT_SYS_ACL_GET_FILE(handle, path_p, type, mem_ctx);
+ return SMB_VFS_NEXT_SYS_ACL_GET_FILE(handle, smb_fname, type, mem_ctx);
}
static SMB_ACL_T skel_sys_acl_get_fd(vfs_handle_struct *handle,
@@ -895,10 +895,12 @@ static SMB_ACL_T skel_sys_acl_get_fd(vfs_handle_struct *handle,
}
static int skel_sys_acl_blob_get_file(vfs_handle_struct *handle,
- const char *path_p, TALLOC_CTX *mem_ctx,
- char **blob_description, DATA_BLOB *blob)
+ const struct smb_filename *smb_fname,
+ TALLOC_CTX *mem_ctx,
+ char **blob_description,
+ DATA_BLOB *blob)
{
- return SMB_VFS_NEXT_SYS_ACL_BLOB_GET_FILE(handle, path_p, mem_ctx,
+ return SMB_VFS_NEXT_SYS_ACL_BLOB_GET_FILE(handle, smb_fname, mem_ctx,
blob_description, blob);
}
@@ -910,10 +912,13 @@ static int skel_sys_acl_blob_get_fd(vfs_handle_struct *handle,
blob_description, blob);
}
-static int skel_sys_acl_set_file(vfs_handle_struct *handle, const char *name,
- SMB_ACL_TYPE_T acltype, SMB_ACL_T theacl)
+static int skel_sys_acl_set_file(vfs_handle_struct *handle,
+ const struct smb_filename *smb_fname,
+ SMB_ACL_TYPE_T acltype,
+ SMB_ACL_T theacl)
{
- return SMB_VFS_NEXT_SYS_ACL_SET_FILE(handle, name, acltype, theacl);
+ return SMB_VFS_NEXT_SYS_ACL_SET_FILE(handle, smb_fname,
+ acltype, theacl);
}
static int skel_sys_acl_set_fd(vfs_handle_struct *handle, files_struct *fsp,
@@ -923,15 +928,18 @@ static int skel_sys_acl_set_fd(vfs_handle_struct *handle, files_struct *fsp,
}
static int skel_sys_acl_delete_def_file(vfs_handle_struct *handle,
- const char *path)
+ const struct smb_filename *smb_fname)
{
- return SMB_VFS_NEXT_SYS_ACL_DELETE_DEF_FILE(handle, path);
+ return SMB_VFS_NEXT_SYS_ACL_DELETE_DEF_FILE(handle, smb_fname);
}
-static ssize_t skel_getxattr(vfs_handle_struct *handle, const char *path,
- const char *name, void *value, size_t size)
+static ssize_t skel_getxattr(vfs_handle_struct *handle,
+ const struct smb_filename *smb_fname,
+ const char *name,
+ void *value,
+ size_t size)
{
- return SMB_VFS_NEXT_GETXATTR(handle, path, name, value, size);
+ return SMB_VFS_NEXT_GETXATTR(handle, smb_fname, name, value, size);
}
static ssize_t skel_fgetxattr(vfs_handle_struct *handle,
@@ -941,10 +949,12 @@ static ssize_t skel_fgetxattr(vfs_handle_struct *handle,
return SMB_VFS_NEXT_FGETXATTR(handle, fsp, name, value, size);
}
-static ssize_t skel_listxattr(vfs_handle_struct *handle, const char *path,
- char *list, size_t size)
+static ssize_t skel_listxattr(vfs_handle_struct *handle,
+ const struct smb_filename *smb_fname,
+ char *list,
+ size_t size)
{
- return SMB_VFS_NEXT_LISTXATTR(handle, path, list, size);
+ return SMB_VFS_NEXT_LISTXATTR(handle, smb_fname, list, size);
}
static ssize_t skel_flistxattr(vfs_handle_struct *handle,
@@ -954,10 +964,11 @@ static ssize_t skel_flistxattr(vfs_handle_struct *handle,
return SMB_VFS_NEXT_FLISTXATTR(handle, fsp, list, size);
}
-static int skel_removexattr(vfs_handle_struct *handle, const char *path,
- const char *name)
+static int skel_removexattr(vfs_handle_struct *handle,
+ const struct smb_filename *smb_fname,
+ const char *name)
{
- return SMB_VFS_NEXT_REMOVEXATTR(handle, path, name);
+ return SMB_VFS_NEXT_REMOVEXATTR(handle, smb_fname, name);
}
static int skel_fremovexattr(vfs_handle_struct *handle,
@@ -966,11 +977,15 @@ static int skel_fremovexattr(vfs_handle_struct *handle,
return SMB_VFS_NEXT_FREMOVEXATTR(handle, fsp, name);
}
-static int skel_setxattr(vfs_handle_struct *handle, const char *path,
- const char *name, const void *value, size_t size,
- int flags)
+static int skel_setxattr(vfs_handle_struct *handle,
+ const struct smb_filename *smb_fname,
+ const char *name,
+ const void *value,
+ size_t size,
+ int flags)
{
- return SMB_VFS_NEXT_SETXATTR(handle, path, name, value, size, flags);
+ return SMB_VFS_NEXT_SETXATTR(handle, smb_fname,
+ name, value, size, flags);
}
static int skel_fsetxattr(vfs_handle_struct *handle, struct files_struct *fsp,
diff --git a/source3/include/proto.h b/source3/include/proto.h
index 4e7a431..121c9eb 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -1114,6 +1114,8 @@ const char *fsp_str_dbg(const struct files_struct *fsp);
const char *fsp_fnum_dbg(const struct files_struct *fsp);
struct smb_filename *cp_smb_filename(TALLOC_CTX *mem_ctx,
const struct smb_filename *in);
+struct smb_filename *cp_smb_filename_nostream(TALLOC_CTX *mem_ctx,
+ const struct smb_filename *in);
bool is_ntfs_stream_smb_fname(const struct smb_filename *smb_fname);
bool is_ntfs_default_stream_smb_fname(const struct smb_filename *smb_fname);
bool is_invalid_windows_ea_name(const char *name);
diff --git a/source3/include/smb_acls.h b/source3/include/smb_acls.h
index 3ac23db..73b67af 100644
--- a/source3/include/smb_acls.h
+++ b/source3/include/smb_acls.h
@@ -24,6 +24,7 @@
struct vfs_handle_struct;
struct files_struct;
+struct smb_filename;
typedef int SMB_ACL_TYPE_T;
typedef mode_t *SMB_ACL_PERMSET_T;
@@ -52,16 +53,19 @@ int sys_acl_set_permset(SMB_ACL_ENTRY_T entry_d, SMB_ACL_PERMSET_T permset_d);
int sys_acl_free_text(char *text);
int sys_acl_valid(SMB_ACL_T acl_d);
SMB_ACL_T sys_acl_get_file(struct vfs_handle_struct *handle,
- const char *path_p, SMB_ACL_TYPE_T type,
- TALLOC_CTX *mem_ctx);
+ const struct smb_filename *smb_fname,
+ SMB_ACL_TYPE_T type,
+ TALLOC_CTX *mem_ctx);
SMB_ACL_T sys_acl_get_fd(struct vfs_handle_struct *handle, struct files_struct *fsp,
TALLOC_CTX *mem_ctx);
int sys_acl_set_file(struct vfs_handle_struct *handle,
- const char *name, SMB_ACL_TYPE_T type, SMB_ACL_T acl_d);
+ const struct smb_filename *smb_fname,
+ SMB_ACL_TYPE_T type,
+ SMB_ACL_T acl_d);
int sys_acl_set_fd(struct vfs_handle_struct *handle, struct files_struct *fsp,
SMB_ACL_T acl_d);
int sys_acl_delete_def_file(struct vfs_handle_struct *handle,
- const char *path);
+ const struct smb_filename *smb_fname);
int no_acl_syscall_error(int err);
#endif /* _SMB_ACLS_H */
diff --git a/source3/include/vfs.h b/source3/include/vfs.h
index 7908980..30002bd 100644
--- a/source3/include/vfs.h
+++ b/source3/include/vfs.h
@@ -197,6 +197,22 @@
/* Version 36 - Remove is_offline and set_offline */
/* Version 37 - Module init functions now take a TALLOC_CTX * parameter. */
/* Version 37 - Add vfs_copy_chunk_flags for DUP_EXTENTS_TO_FILE */
+/* Version 37 - Change sys_acl_delete_def_file from const char *
+ to const struct smb_filename * */
+/* Version 37 - Change sys_acl_get_file from const char *
+ to const struct smb_filename * */
+/* Version 37 - Change sys_acl_blob_get_file from const char *
+ to const struct smb_filename * */
+/* Version 37 - Change sys_acl_set_file from const char *
+ to const struct smb_filename * */
+/* Version 37 - Change listxattr from const char *
+ to const struct smb_filename * */
+/* Version 37 - Change removexattr from const char *
+ to const struct smb_filename * */
+/* Version 37 - Change setxattr from const char *
+ to const struct smb_filename * */
+/* Version 37 - Change getxattr from const char *
+ to const struct smb_filename * */
#define SMB_VFS_INTERFACE_VERSION 37
@@ -856,32 +872,50 @@ struct vfs_fn_pointers {
int (*fchmod_acl_fn)(struct vfs_handle_struct *handle, struct files_struct *fsp, mode_t mode);
SMB_ACL_T (*sys_acl_get_file_fn)(struct vfs_handle_struct *handle,
- const char *path_p,
+ const struct smb_filename *smb_fname,
SMB_ACL_TYPE_T type,
TALLOC_CTX *mem_ctx);
SMB_ACL_T (*sys_acl_get_fd_fn)(struct vfs_handle_struct *handle,
struct files_struct *fsp,
TALLOC_CTX *mem_ctx);
int (*sys_acl_blob_get_file_fn)(struct vfs_handle_struct *handle,
- const char *path_p,
+ const struct smb_filename *smb_fname,
TALLOC_CTX *mem_ctx,
char **blob_description,
DATA_BLOB *blob);
int (*sys_acl_blob_get_fd_fn)(struct vfs_handle_struct *handle, struct files_struct *fsp,
TALLOC_CTX *mem_ctx, char **blob_description,
DATA_BLOB *blob);
- int (*sys_acl_set_file_fn)(struct vfs_handle_struct *handle, const char *name, SMB_ACL_TYPE_T acltype, SMB_ACL_T theacl);
+ int (*sys_acl_set_file_fn)(struct vfs_handle_struct *handle,
+ const struct smb_filename *smb_fname,
+ SMB_ACL_TYPE_T acltype,
+ SMB_ACL_T theacl);
int (*sys_acl_set_fd_fn)(struct vfs_handle_struct *handle, struct files_struct *fsp, SMB_ACL_T theacl);
- int (*sys_acl_delete_def_file_fn)(struct vfs_handle_struct *handle, const char *path);
+ int (*sys_acl_delete_def_file_fn)(struct vfs_handle_struct *handle,
+ const struct smb_filename *smb_fname);
/* EA operations. */
- ssize_t (*getxattr_fn)(struct vfs_handle_struct *handle,const char *path, const char *name, void *value, size_t size);
+ ssize_t (*getxattr_fn)(struct vfs_handle_struct *handle,
+ const struct smb_filename *smb_fname,
+ const char *name,
+ void *value,
+ size_t size);
ssize_t (*fgetxattr_fn)(struct vfs_handle_struct *handle, struct files_struct *fsp, const char *name, void *value, size_t size);
- ssize_t (*listxattr_fn)(struct vfs_handle_struct *handle, const char *path, char *list, size_t size);
+ ssize_t (*listxattr_fn)(struct vfs_handle_struct *handle,
+ const struct smb_filename *smb_fname,
+ char *list,
+ size_t size);
ssize_t (*flistxattr_fn)(struct vfs_handle_struct *handle, struct files_struct *fsp, char *list, size_t size);
- int (*removexattr_fn)(struct vfs_handle_struct *handle, const char *path, const char *name);
+ int (*removexattr_fn)(struct vfs_handle_struct *handle,
+ const struct smb_filename *smb_fname,
+ const char *name);
int (*fremovexattr_fn)(struct vfs_handle_struct *handle, struct files_struct *fsp, const char *name);
- int (*setxattr_fn)(struct vfs_handle_struct *handle, const char *path, const char *name, const void *value, size_t size, int flags);
+ int (*setxattr_fn)(struct vfs_handle_struct *handle,
+ const struct smb_filename *smb_fname,
+ const char *name,
+ const void *value,
+ size_t size,
+ int flags);
int (*fsetxattr_fn)(struct vfs_handle_struct *handle, struct files_struct *fsp, const char *name, const void *value, size_t size, int flags);
/* aio operations */
@@ -1311,14 +1345,14 @@ int smb_vfs_call_chmod_acl(struct vfs_handle_struct *handle,
int smb_vfs_call_fchmod_acl(struct vfs_handle_struct *handle,
struct files_struct *fsp, mode_t mode);
SMB_ACL_T smb_vfs_call_sys_acl_get_file(struct vfs_handle_struct *handle,
- const char *path_p,
+ const struct smb_filename *smb_fname,
SMB_ACL_TYPE_T type,
TALLOC_CTX *mem_ctx);
SMB_ACL_T smb_vfs_call_sys_acl_get_fd(struct vfs_handle_struct *handle,
struct files_struct *fsp,
TALLOC_CTX *mem_ctx);
int smb_vfs_call_sys_acl_blob_get_file(struct vfs_handle_struct *handle,
- const char *path_p,
+ const struct smb_filename *smb_fname,
TALLOC_CTX *mem_ctx,
char **blob_description,
DATA_BLOB *blob);
@@ -1328,32 +1362,41 @@ int smb_vfs_call_sys_acl_blob_get_fd(struct vfs_handle_struct *handle,
char **blob_description,
DATA_BLOB *blob);
int smb_vfs_call_sys_acl_set_file(struct vfs_handle_struct *handle,
- const char *name, SMB_ACL_TYPE_T acltype,
- SMB_ACL_T theacl);
+ const struct smb_filename *smb_fname,
+ SMB_ACL_TYPE_T acltype,
+ SMB_ACL_T theacl);
int smb_vfs_call_sys_acl_set_fd(struct vfs_handle_struct *handle,
struct files_struct *fsp, SMB_ACL_T theacl);
int smb_vfs_call_sys_acl_delete_def_file(struct vfs_handle_struct *handle,
- const char *path);
+ const struct smb_filename *smb_fname);
ssize_t smb_vfs_call_getxattr(struct vfs_handle_struct *handle,
- const char *path, const char *name, void *value,
- size_t size);
+ const struct smb_filename *smb_fname,
+ const char *name,
+ void *value,
+ size_t size);
ssize_t smb_vfs_call_fgetxattr(struct vfs_handle_struct *handle,
struct files_struct *fsp, const char *name,
void *value, size_t size);
ssize_t smb_vfs_call_listxattr(struct vfs_handle_struct *handle,
- const char *path, char *list, size_t size);
+ const struct smb_filename *smb_fname,
+ char *list,
+ size_t size);
ssize_t smb_vfs_call_llistxattr(struct vfs_handle_struct *handle,
const char *path, char *list, size_t size);
ssize_t smb_vfs_call_flistxattr(struct vfs_handle_struct *handle,
struct files_struct *fsp, char *list,
size_t size);
int smb_vfs_call_removexattr(struct vfs_handle_struct *handle,
- const char *path, const char *name);
+ const struct smb_filename *smb_fname,
+ const char *name);
int smb_vfs_call_fremovexattr(struct vfs_handle_struct *handle,
struct files_struct *fsp, const char *name);
-int smb_vfs_call_setxattr(struct vfs_handle_struct *handle, const char *path,
- const char *name, const void *value, size_t size,
- int flags);
+int smb_vfs_call_setxattr(struct vfs_handle_struct *handle,
+ const struct smb_filename *smb_fname,
+ const char *name,
+ const void *value,
+ size_t size,
+ int flags);
int smb_vfs_call_lsetxattr(struct vfs_handle_struct *handle, const char *path,
const char *name, const void *value, size_t size,
int flags);
diff --git a/source3/include/vfs_macros.h b/source3/include/vfs_macros.h
index 0cbcf89..0ebd469 100644
--- a/source3/include/vfs_macros.h
+++ b/source3/include/vfs_macros.h
@@ -480,75 +480,75 @@
#define SMB_VFS_NEXT_FCHMOD_ACL(handle, fsp, mode) \
smb_vfs_call_fchmod_acl((handle)->next, (fsp), (mode))
-#define SMB_VFS_SYS_ACL_GET_FILE(conn, path_p, type, mem_ctx) \
- smb_vfs_call_sys_acl_get_file((conn)->vfs_handles, (path_p), (type), (mem_ctx))
-#define SMB_VFS_NEXT_SYS_ACL_GET_FILE(handle, path_p, type, mem_ctx) \
- smb_vfs_call_sys_acl_get_file((handle)->next, (path_p), (type), (mem_ctx))
+#define SMB_VFS_SYS_ACL_GET_FILE(conn, smb_fname, type, mem_ctx) \
+ smb_vfs_call_sys_acl_get_file((conn)->vfs_handles, (smb_fname), (type), (mem_ctx))
+#define SMB_VFS_NEXT_SYS_ACL_GET_FILE(handle, smb_fname, type, mem_ctx) \
+ smb_vfs_call_sys_acl_get_file((handle)->next, (smb_fname), (type), (mem_ctx))
#define SMB_VFS_SYS_ACL_GET_FD(fsp, mem_ctx) \
smb_vfs_call_sys_acl_get_fd((fsp)->conn->vfs_handles, (fsp), (mem_ctx))
#define SMB_VFS_NEXT_SYS_ACL_GET_FD(handle, fsp, mem_ctx) \
smb_vfs_call_sys_acl_get_fd((handle)->next, (fsp), (mem_ctx))
-#define SMB_VFS_SYS_ACL_BLOB_GET_FILE(conn, path_p, mem_ctx, blob_description, blob) \
- smb_vfs_call_sys_acl_blob_get_file((conn)->vfs_handles, (path_p), (mem_ctx), (blob_description), (blob))
-#define SMB_VFS_NEXT_SYS_ACL_BLOB_GET_FILE(handle, path_p, mem_ctx, blob_description, blob) \
- smb_vfs_call_sys_acl_blob_get_file((handle)->next, (path_p), (mem_ctx), (blob_description), (blob))
+#define SMB_VFS_SYS_ACL_BLOB_GET_FILE(conn, smb_fname, mem_ctx, blob_description, blob) \
+ smb_vfs_call_sys_acl_blob_get_file((conn)->vfs_handles, (smb_fname), (mem_ctx), (blob_description), (blob))
+#define SMB_VFS_NEXT_SYS_ACL_BLOB_GET_FILE(handle, smb_fname, mem_ctx, blob_description, blob) \
+ smb_vfs_call_sys_acl_blob_get_file((handle)->next, (smb_fname), (mem_ctx), (blob_description), (blob))
#define SMB_VFS_SYS_ACL_BLOB_GET_FD(fsp, mem_ctx, blob_description, blob) \
smb_vfs_call_sys_acl_blob_get_fd((fsp)->conn->vfs_handles, (fsp), (mem_ctx), (blob_description), (blob))
#define SMB_VFS_NEXT_SYS_ACL_BLOB_GET_FD(handle, fsp, mem_ctx, blob_description, blob) \
smb_vfs_call_sys_acl_blob_get_fd((handle)->next, (fsp), mem_ctx, (blob_description), (blob))
-#define SMB_VFS_SYS_ACL_SET_FILE(conn, name, acltype, theacl) \
- smb_vfs_call_sys_acl_set_file((conn)->vfs_handles, (name), (acltype), (theacl))
-#define SMB_VFS_NEXT_SYS_ACL_SET_FILE(handle, name, acltype, theacl) \
- smb_vfs_call_sys_acl_set_file((handle)->next, (name), (acltype), (theacl))
+#define SMB_VFS_SYS_ACL_SET_FILE(conn, smb_fname, acltype, theacl) \
+ smb_vfs_call_sys_acl_set_file((conn)->vfs_handles, (smb_fname), (acltype), (theacl))
+#define SMB_VFS_NEXT_SYS_ACL_SET_FILE(handle, smb_fname, acltype, theacl) \
+ smb_vfs_call_sys_acl_set_file((handle)->next, (smb_fname), (acltype), (theacl))
#define SMB_VFS_SYS_ACL_SET_FD(fsp, theacl) \
smb_vfs_call_sys_acl_set_fd((fsp)->conn->vfs_handles, (fsp), (theacl))
#define SMB_VFS_NEXT_SYS_ACL_SET_FD(handle, fsp, theacl) \
smb_vfs_call_sys_acl_set_fd((handle)->next, (fsp), (theacl))
-#define SMB_VFS_SYS_ACL_DELETE_DEF_FILE(conn, path) \
- smb_vfs_call_sys_acl_delete_def_file((conn)->vfs_handles, (path))
-#define SMB_VFS_NEXT_SYS_ACL_DELETE_DEF_FILE(handle, path) \
- smb_vfs_call_sys_acl_delete_def_file((handle)->next, (path))
+#define SMB_VFS_SYS_ACL_DELETE_DEF_FILE(conn, smb_fname) \
+ smb_vfs_call_sys_acl_delete_def_file((conn)->vfs_handles, (smb_fname))
+#define SMB_VFS_NEXT_SYS_ACL_DELETE_DEF_FILE(handle, smb_fname) \
+ smb_vfs_call_sys_acl_delete_def_file((handle)->next, (smb_fname))
-#define SMB_VFS_GETXATTR(conn,path,name,value,size) \
- smb_vfs_call_getxattr((conn)->vfs_handles,(path),(name),(value),(size))
-#define SMB_VFS_NEXT_GETXATTR(handle,path,name,value,size) \
- smb_vfs_call_getxattr((handle)->next,(path),(name),(value),(size))
+#define SMB_VFS_GETXATTR(conn,smb_fname,name,value,size) \
+ smb_vfs_call_getxattr((conn)->vfs_handles,(smb_fname),(name),(value),(size))
+#define SMB_VFS_NEXT_GETXATTR(handle,smb_fname,name,value,size) \
+ smb_vfs_call_getxattr((handle)->next,(smb_fname),(name),(value),(size))
#define SMB_VFS_FGETXATTR(fsp,name,value,size) \
--
Samba Shared Repository
More information about the samba-cvs
mailing list