*/
/* 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);
/****************************************************************************
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;