The branch, master has been updated via a470b67 Dirs need +rx as well as +w for non-super xfers. Fixes bug 8242. from 5561c14 Move implied_dot_dir=1, just to be safe.
;a=shortlog;h=master - Log ----------------------------------------------------------------- commit a470b675af97922b0af0ede71d4a8aaf947170d2 Author: Wayne Davison <way...@samba.org> Date: Sat Sep 3 12:40:12 2011 -0700 Dirs need +rx as well as +w for non-super xfers. Fixes bug 8242. ----------------------------------------------------------------------- Summary of changes: generator.c | 11 ++++++----- 1 files changed, 6 insertions(+), 5 deletions(-) Changeset truncated at 500 lines: diff --git a/generator.c b/generator.c index 631a559..30e3f32 100644 --- a/generator.c +++ b/generator.c @@ -1362,12 +1362,13 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx, && INFO_GTE(NAME, 1) && code != FNONE && f_out != -1) rprintf(code, "%s/\n", fname); - /* We need to ensure that the dirs in the transfer have writable - * permissions during the time we are putting files within them. - * This is then fixed after the transfer is done. */ + /* We need to ensure that the dirs in the transfer have both + * readable and writable permissions during the time we are + * putting files within them. This is then restored to the + * former permissions after the transfer is done. */ #ifdef HAVE_CHMOD - if (!am_root && !(file->mode & S_IWUSR) && dir_tweaking) { - mode_t mode = file->mode | S_IWUSR; + if (!am_root && (file->mode & S_IRWXU) != S_IRWXU && dir_tweaking) { + mode_t mode = file->mode | S_IRWXU; if (do_chmod(fname, mode) < 0) { rsyserr(FERROR_XFER, errno, "failed to modify permissions on %s", -- The rsync repository. _______________________________________________ rsync-cvs mailing list rsync-cvs@lists.samba.org https://lists.samba.org/mailman/listinfo/rsync-cvs