mirror of
https://github.com/samba-team/samba.git
synced 2025-01-26 10:04:02 +03:00
r10885: Fix bug where read-only share files are always seen as
read-only. Noticed by Andrew Bartlett. Jeremy (This used to be commit a33f4f0d2afe28ca0e3ab6c9ecfcdbaa267a7fbe)
This commit is contained in:
parent
8ec32e008a
commit
3ecf9119d5
@ -479,7 +479,7 @@ int file_utime(connection_struct *conn, const char *fname, struct utimbuf *times
|
||||
*/
|
||||
|
||||
/* Check if we have write access. */
|
||||
if (can_write_to_file(conn, fname, &sbuf)) {
|
||||
if (CAN_WRITE(conn) && can_write_to_file(conn, fname, &sbuf)) {
|
||||
/* We are allowed to become root and change the filetime. */
|
||||
become_root();
|
||||
ret = SMB_VFS_UTIME(conn,fname, times);
|
||||
|
@ -4149,16 +4149,13 @@ BOOL can_delete_file_in_directory(connection_struct *conn, const char *fname)
|
||||
/****************************************************************************
|
||||
Actually emulate the in-kernel access checking for write access. We need
|
||||
this to successfully check for ability to write for dos filetimes.
|
||||
Note this doesn't take into account share write permissions.
|
||||
****************************************************************************/
|
||||
|
||||
BOOL can_write_to_file(connection_struct *conn, const char *fname, SMB_STRUCT_STAT *psbuf)
|
||||
{
|
||||
int ret;
|
||||
|
||||
if (!CAN_WRITE(conn)) {
|
||||
return False;
|
||||
}
|
||||
|
||||
if (current_user.uid == 0 || conn->admin_user) {
|
||||
/* I'm sorry sir, I didn't know you were root... */
|
||||
return True;
|
||||
|
Loading…
x
Reference in New Issue
Block a user