From: Jeremy Allison Date: Sat, 2 May 2015 04:06:20 +0000 (-0700) Subject: s3: smbd: VFS: For all EA and ACL calls use synthetic_smb_fname(), not synthetic_smb_... X-Git-Tag: samba-4.1.19~17 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8ac582e471753d44c25dd875a0969b90d418236f;p=thirdparty%2Fsamba.git 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 (cherry picked from commit ccb4f791fd19d9b3af79a205a15c0219ed7240ea) --- 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 590ffaad2d5..d72b50c0f69 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 d187787e098..b926584288e 100644 --- a/source3/smbd/posix_acls.c +++ b/source3/smbd/posix_acls.c @@ -4747,7 +4747,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;