From ace6d75ae6f953b76fa9709857af4744020cd6fb Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Fri, 5 Mar 2010 17:52:35 +1100 Subject: s4-pvfs: use pvfs_sys_*() functions to wrap posix calls This allows for root override, which fixes many problems with mismatches between NT ACL permissions and unix permissions. Pair-Programmed-With: Andrew Bartlett --- source4/ntvfs/posix/pvfs_mkdir.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'source4/ntvfs/posix/pvfs_mkdir.c') diff --git a/source4/ntvfs/posix/pvfs_mkdir.c b/source4/ntvfs/posix/pvfs_mkdir.c index 6ec9e60955..10de1d6d5c 100644 --- a/source4/ntvfs/posix/pvfs_mkdir.c +++ b/source4/ntvfs/posix/pvfs_mkdir.c @@ -51,7 +51,7 @@ static NTSTATUS pvfs_t2mkdir(struct pvfs_state *pvfs, mode = pvfs_fileperms(pvfs, FILE_ATTRIBUTE_DIRECTORY); - if (mkdir(name->full_name, mode) == -1) { + if (pvfs_sys_mkdir(pvfs, name->full_name, mode) == -1) { return pvfs_map_errno(pvfs, errno); } @@ -69,7 +69,7 @@ static NTSTATUS pvfs_t2mkdir(struct pvfs_state *pvfs, /* setup an inherited acl from the parent */ status = pvfs_acl_inherit(pvfs, req, name, -1); if (!NT_STATUS_IS_OK(status)) { - rmdir(name->full_name); + pvfs_sys_rmdir(pvfs, name->full_name); return status; } @@ -78,7 +78,7 @@ static NTSTATUS pvfs_t2mkdir(struct pvfs_state *pvfs, md->t2mkdir.in.num_eas, md->t2mkdir.in.eas); if (!NT_STATUS_IS_OK(status)) { - rmdir(name->full_name); + pvfs_sys_rmdir(pvfs, name->full_name); return status; } @@ -127,7 +127,7 @@ NTSTATUS pvfs_mkdir(struct ntvfs_module_context *ntvfs, mode = pvfs_fileperms(pvfs, FILE_ATTRIBUTE_DIRECTORY); - if (mkdir(name->full_name, mode) == -1) { + if (pvfs_sys_mkdir(pvfs, name->full_name, mode) == -1) { return pvfs_map_errno(pvfs, errno); } @@ -136,7 +136,7 @@ NTSTATUS pvfs_mkdir(struct ntvfs_module_context *ntvfs, /* setup an inherited acl from the parent */ status = pvfs_acl_inherit(pvfs, req, name, -1); if (!NT_STATUS_IS_OK(status)) { - rmdir(name->full_name); + pvfs_sys_rmdir(pvfs, name->full_name); return status; } @@ -179,7 +179,7 @@ NTSTATUS pvfs_rmdir(struct ntvfs_module_context *ntvfs, return status; } - if (rmdir(name->full_name) == -1) { + if (pvfs_sys_rmdir(pvfs, name->full_name) == -1) { /* some olders systems don't return ENOTEMPTY to rmdir() */ if (errno == EEXIST) { return NT_STATUS_DIRECTORY_NOT_EMPTY; -- cgit