diff options
author | Jeremy Allison <jra@samba.org> | 2007-05-23 23:55:12 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 12:22:46 -0500 |
commit | 57d6318a0b5ecc0154547a04acef8ac222c1d28f (patch) | |
tree | c87905c626d1c6cac32ba8b4b3f6948484b5acd7 /source3/modules/vfs_cap.c | |
parent | dbfd6bf8c8cc9945c4ba7e22ac44b1f33f9c7ce6 (diff) | |
download | samba-57d6318a0b5ecc0154547a04acef8ac222c1d28f.tar.gz samba-57d6318a0b5ecc0154547a04acef8ac222c1d28f.tar.bz2 samba-57d6318a0b5ecc0154547a04acef8ac222c1d28f.zip |
r23105: Add lchown to the vfs layer. We need this in the POSIX code.
Jeremy.
(This used to be commit 932523cbb508db869b726768e86bfa8e248f768b)
Diffstat (limited to 'source3/modules/vfs_cap.c')
-rw-r--r-- | source3/modules/vfs_cap.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/source3/modules/vfs_cap.c b/source3/modules/vfs_cap.c index d495ed5d14..ab99031e4d 100644 --- a/source3/modules/vfs_cap.c +++ b/source3/modules/vfs_cap.c @@ -123,6 +123,13 @@ static int cap_chown(vfs_handle_struct *handle, const char *path, uid_t uid, gid return SMB_VFS_NEXT_CHOWN(handle, cappath, uid, gid); } +static int cap_lchown(vfs_handle_struct *handle, const char *path, uid_t uid, gid_t gid) +{ + pstring cappath; + capencode(cappath, path); + return SMB_VFS_NEXT_LCHOWN(handle, cappath, uid, gid); +} + static int cap_chdir(vfs_handle_struct *handle, const char *path) { pstring cappath; @@ -326,6 +333,7 @@ static vfs_op_tuple cap_op_tuples[] = { {SMB_VFS_OP(cap_unlink), SMB_VFS_OP_UNLINK, SMB_VFS_LAYER_TRANSPARENT}, {SMB_VFS_OP(cap_chmod), SMB_VFS_OP_CHMOD, SMB_VFS_LAYER_TRANSPARENT}, {SMB_VFS_OP(cap_chown), SMB_VFS_OP_CHOWN, SMB_VFS_LAYER_TRANSPARENT}, + {SMB_VFS_OP(cap_lchown), SMB_VFS_OP_LCHOWN, SMB_VFS_LAYER_TRANSPARENT}, {SMB_VFS_OP(cap_chdir), SMB_VFS_OP_CHDIR, SMB_VFS_LAYER_TRANSPARENT}, {SMB_VFS_OP(cap_ntimes), SMB_VFS_OP_NTIMES, SMB_VFS_LAYER_TRANSPARENT}, {SMB_VFS_OP(cap_symlink), SMB_VFS_OP_SYMLINK, SMB_VFS_LAYER_TRANSPARENT}, |