s3: smbd: VFS: For all EA and ACL calls use synthetic_smb_fname(), not synthetic_smb_...
authorJeremy Allison <jra@samba.org>
Sat, 2 May 2015 04:06:20 +0000 (21:06 -0700)
committerRalph Böhme <slow@samba.org>
Tue, 5 May 2015 12:01:25 +0000 (14:01 +0200)
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 <jra@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
source3/modules/non_posix_acls.c
source3/modules/vfs_fake_acls.c
source3/modules/vfs_xattr_tdb.c
source3/smbd/posix_acls.c

index b1c24205d13f644560b4eaf4100fca4b36f9305e..fca9979d649ef0cb5e2beecbd9ed958856bbaf6e 100644 (file)
@@ -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;
index 0e7ebb9f659cdabeda5f5393257d520d551060bd..f3c2ebbdba381e5ccd6e624ea316adbe6ab9a212 100644 (file)
@@ -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;
index 66c19f8094af46e2638c40bba41b62b3ab17e130..2124d38f0a29743aa21aded6a9a5982506e7fd98 100644 (file)
@@ -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;
index 6a5ec859884fa8c3469dbc9af5319bd1a9dfbc31..8b4c7b1c80c4d80ec327c6338499ec37e9c50105 100644 (file)
@@ -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;