diff options
author | Tim Prouty <tprouty@samba.org> | 2009-06-12 12:54:11 -0700 |
---|---|---|
committer | Tim Prouty <tprouty@samba.org> | 2009-06-12 16:14:50 -0700 |
commit | 04afa4b6b50f3a23a1872983c75653dc5f670279 (patch) | |
tree | 05666ff5f2e91db0e49d00a111f2307e8c464850 /source3/smbd/posix_acls.c | |
parent | 9d7c4ad7482d0c5cff6d15324f82767c851bbf43 (diff) | |
download | samba-04afa4b6b50f3a23a1872983c75653dc5f670279.tar.gz samba-04afa4b6b50f3a23a1872983c75653dc5f670279.tar.bz2 samba-04afa4b6b50f3a23a1872983c75653dc5f670279.zip |
s3: Plumb smb_filename through SMB_VFS_CREATE_FILE
Diffstat (limited to 'source3/smbd/posix_acls.c')
-rw-r--r-- | source3/smbd/posix_acls.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/source3/smbd/posix_acls.c b/source3/smbd/posix_acls.c index 1029b764b5..2d0062ab94 100644 --- a/source3/smbd/posix_acls.c +++ b/source3/smbd/posix_acls.c @@ -3459,6 +3459,7 @@ NTSTATUS append_parent_acl(files_struct *fsp, const SEC_DESC *pcsd, SEC_DESC **pp_new_sd) { + struct smb_filename *smb_dname = NULL; SEC_DESC *parent_sd = NULL; files_struct *parent_fsp = NULL; TALLOC_CTX *mem_ctx = talloc_tos(); @@ -3479,12 +3480,17 @@ NTSTATUS append_parent_acl(files_struct *fsp, return NT_STATUS_NO_MEMORY; } + status = create_synthetic_smb_fname_split(mem_ctx, parent_name, NULL, + &smb_dname); + if (!NT_STATUS_IS_OK(status)) { + goto fail; + } + status = SMB_VFS_CREATE_FILE( fsp->conn, /* conn */ NULL, /* req */ 0, /* root_dir_fid */ - parent_name, /* fname */ - 0, /* create_file_flags */ + smb_dname, /* fname */ FILE_READ_ATTRIBUTES, /* access_mask */ FILE_SHARE_NONE, /* share_access */ FILE_OPEN, /* create_disposition*/ @@ -3495,8 +3501,9 @@ NTSTATUS append_parent_acl(files_struct *fsp, NULL, /* sd */ NULL, /* ea_list */ &parent_fsp, /* result */ - &info, /* pinfo */ - NULL); /* psbuf */ + &info); /* pinfo */ + + TALLOC_FREE(smb_fname); if (!NT_STATUS_IS_OK(status)) { return status; |