X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/3d19b4c83edab707de2ddf91b1469befc12de54e..dcc875e41e1c9865755dbd0cc839e74ac878910e:/rsync.c diff --git a/rsync.c b/rsync.c index 5a02979e..a65f01ff 100644 --- a/rsync.c +++ b/rsync.c @@ -179,7 +179,7 @@ int set_perms(char *fname,struct file_struct *file,STRUCT_STAT *st, } change_uid = am_root && preserve_uid && st->st_uid != file->uid; - change_gid = !am_daemon && preserve_gid && file->gid != (gid_t) -1 && \ + change_gid = preserve_gid && file->gid != (gid_t) -1 && \ st->st_gid != file->gid; if (change_gid && !am_root) { /* enforce bsd-style group semantics: non-root can only @@ -200,14 +200,9 @@ int set_perms(char *fname,struct file_struct *file,STRUCT_STAT *st, #ifdef HAVE_CHMOD if (!S_ISLNK(st->st_mode)) { - int file_mode; - if (preserve_perms) - file_mode = file->mode; - else - file_mode = file->mode & ACCESSPERMS; if (st->st_mode != file->mode) { updated = 1; - if (do_chmod(fname,file_mode) != 0) { + if (do_chmod(fname,file->mode) != 0) { rprintf(FERROR,"failed to set permissions on %s : %s\n", fname,strerror(errno)); return 0;