From: Jeremy Allison Date: Thu, 12 Nov 2009 21:08:04 +0000 (-0800) Subject: Fix bug 6891 - using windows explorer to change ownership on a folder fails with... X-Git-Tag: tdb-1.2.0~166 X-Git-Url: http://git.samba.org/?a=commitdiff_plain;h=6747a91ca0c350374c54bac5892cf96e5aed029f;hp=83c2c177a5e86d04da37384f1f04230c8274e1e6;p=samba.git Fix bug 6891 - using windows explorer to change ownership on a folder fails with Bad File Descriptor. Jeremy. --- diff --git a/source3/smbd/posix_acls.c b/source3/smbd/posix_acls.c index 26e609fb838..15ea4d5fb2a 100644 --- a/source3/smbd/posix_acls.c +++ b/source3/smbd/posix_acls.c @@ -3594,7 +3594,17 @@ int try_chown(connection_struct *conn, struct smb_filename *smb_fname, become_root(); /* Keep the current file gid the same. */ - ret = SMB_VFS_FCHOWN(fsp, uid, (gid_t)-1); + if (fsp->fh->fd == -1) { + if (lp_posix_pathnames()) { + ret = SMB_VFS_LCHOWN(conn, smb_fname->base_name, uid, + (gid_t)-1); + } else { + ret = SMB_VFS_CHOWN(conn, smb_fname->base_name, uid, + (gid_t)-1); + } + } else { + ret = SMB_VFS_FCHOWN(fsp, uid, (gid_t)-1); + } unbecome_root(); close_file_fchmod(NULL, fsp);