X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/9a54a640f74dcaeb03ef99799a5320b3eb77f7ec..3b22184d4c61e6dc77ec15f93bb760046c40533e:/util.c diff --git a/util.c b/util.c index 2c4c571e..9d5f1800 100644 --- a/util.c +++ b/util.c @@ -177,13 +177,6 @@ int set_modtime(const char *fname, time_t modtime, uint32 mod_nsec, mode_t mode) } } -/* This creates a new directory with default permissions. Now that we - * leave the original umask set, we can just mkdir with mode 777. */ -int mkdir_defmode(char *fname) -{ - return do_mkdir(fname, ACCESSPERMS); -} - /* Create any necessary directories in fname. Any missing directories are * created with default permissions. Returns < 0 on error, or the number * of directories created. */ @@ -336,6 +329,11 @@ int copy_file(const char *source, const char *dest, int ofd, mode_t mode) return -1; } +#ifdef SUPPORT_XATTRS + if (preserve_xattrs) + mode |= S_IWUSR; +#endif + mode &= INITACCESSPERMS; if ((ofd = do_open(dest, O_WRONLY | O_CREAT | O_TRUNC | O_EXCL, mode)) < 0) { int save_errno = errno; rsyserr(FERROR_XFER, save_errno, "open %s", full_fname(dest));