summaryrefslogtreecommitdiff
path: root/source4/ntvfs/posix/pvfs_mkdir.c
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2010-03-05 17:52:35 +1100
committerAndrew Tridgell <tridge@samba.org>2010-03-05 23:07:31 +1100
commitace6d75ae6f953b76fa9709857af4744020cd6fb (patch)
treef125e6a22e60284437b55eb915ab62ccbe979a7c /source4/ntvfs/posix/pvfs_mkdir.c
parent034bcaf14d1bc651c8b51b489aebcfa392158f2c (diff)
downloadsamba-ace6d75ae6f953b76fa9709857af4744020cd6fb.tar.gz
samba-ace6d75ae6f953b76fa9709857af4744020cd6fb.tar.bz2
samba-ace6d75ae6f953b76fa9709857af4744020cd6fb.zip
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 <abartlet@samba.org>
Diffstat (limited to 'source4/ntvfs/posix/pvfs_mkdir.c')
-rw-r--r--source4/ntvfs/posix/pvfs_mkdir.c12
1 files changed, 6 insertions, 6 deletions
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;