From ccb4f791fd19d9b3af79a205a15c0219ed7240ea Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Fri, 1 May 2015 21:06:20 -0700 Subject: [PATCH] s3: smbd: VFS: For all EA and ACL calls use synthetic_smb_fname(), not synthetic_smb_fname_split(). EA's and ACL paths are all post-stream name checks (and shouldn't get stream names). This one took a *long* time to find. BUG: https://bugzilla.samba.org/show_bug.cgi?id=11249 Signed-off-by: Jeremy Allison Reviewed-by: Andreas Schneider Reviewed-by: Ralph Boehme --- source3/modules/non_posix_acls.c | 2 +- source3/modules/vfs_fake_acls.c | 2 +- source3/modules/vfs_xattr_tdb.c | 2 +- source3/smbd/posix_acls.c | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/source3/modules/non_posix_acls.c b/source3/modules/non_posix_acls.c index b1c24205d13..fca9979d649 100644 --- a/source3/modules/non_posix_acls.c +++ b/source3/modules/non_posix_acls.c @@ -32,7 +32,7 @@ int non_posix_sys_acl_blob_get_file_helper(vfs_handle_struct *handle, struct xattr_sys_acl_hash_wrapper acl_wrapper = {}; struct smb_filename *smb_fname; - smb_fname = synthetic_smb_fname_split(frame, path_p, NULL); + smb_fname = synthetic_smb_fname(frame, path_p, NULL, NULL); if (smb_fname == NULL) { TALLOC_FREE(frame); errno = ENOMEM; diff --git a/source3/modules/vfs_fake_acls.c b/source3/modules/vfs_fake_acls.c index 0e7ebb9f659..f3c2ebbdba3 100644 --- a/source3/modules/vfs_fake_acls.c +++ b/source3/modules/vfs_fake_acls.c @@ -348,7 +348,7 @@ static int fake_acls_sys_acl_delete_def_file(vfs_handle_struct *handle, const ch TALLOC_CTX *frame = talloc_stackframe(); struct smb_filename *smb_fname; - smb_fname = synthetic_smb_fname_split(frame, path, NULL); + smb_fname = synthetic_smb_fname(frame, path, NULL, NULL); if (smb_fname == NULL) { TALLOC_FREE(frame); errno = ENOMEM; diff --git a/source3/modules/vfs_xattr_tdb.c b/source3/modules/vfs_xattr_tdb.c index 66c19f8094a..2124d38f0a2 100644 --- a/source3/modules/vfs_xattr_tdb.c +++ b/source3/modules/vfs_xattr_tdb.c @@ -37,7 +37,7 @@ static int xattr_tdb_get_file_id(struct vfs_handle_struct *handle, TALLOC_CTX *frame = talloc_stackframe(); struct smb_filename *smb_fname; - smb_fname = synthetic_smb_fname_split(frame, path, NULL); + smb_fname = synthetic_smb_fname(frame, path, NULL, NULL); if (smb_fname == NULL) { TALLOC_FREE(frame); errno = ENOMEM; diff --git a/source3/smbd/posix_acls.c b/source3/smbd/posix_acls.c index 6a5ec859884..8b4c7b1c80c 100644 --- a/source3/smbd/posix_acls.c +++ b/source3/smbd/posix_acls.c @@ -4749,7 +4749,7 @@ int posix_sys_acl_blob_get_file(vfs_handle_struct *handle, }; struct smb_filename *smb_fname; - smb_fname = synthetic_smb_fname_split(frame, path_p, NULL); + smb_fname = synthetic_smb_fname(frame, path_p, NULL, NULL); if (smb_fname == NULL) { TALLOC_FREE(frame); errno = ENOMEM; -- 2.11.4.GIT