int updated = 0;
STRUCT_STAT st2;
int change_uid, change_gid;
- extern int am_daemon;
if (dry_run) return 0;
rprintf(FERROR,"chown %s : %s\n", fname,strerror(errno));
return 0;
}
+ /* a lchown had been done - we have to re-stat if the
+ destination had the setuid or setgid bits set due
+ to the side effect of the chown call */
+ if (st->st_mode & (S_ISUID | S_ISGID)) {
+ link_stat(fname, st);
+ }
updated = 1;
}
set_perms(fname,file,NULL,0);
}
}
-
-
-