@@ -347,14 +348,14 @@ static void send_file_entry(struct file_
}
} else if (protocol_version < 28)
- rdev = makedev(0, 0);
+ rdev = MAKEDEV(0, 0);
- if (file->uid == uid)
+ if (id_pairs[file->id_ndx].uid == uid)
flags |= XMIT_SAME_UID;
if (dirname_len) {
file->dirname = lastdir = bp;
-@@ -855,8 +855,7 @@ struct file_struct *make_file(char *fnam
+@@ -857,8 +857,7 @@ struct file_struct *make_file(char *fnam
file->modtime = st.st_mtime;
file->length = st.st_size;
file->mode = st.st_mode;
#ifdef SUPPORT_HARD_LINKS
if (flist && flist->hlink_pool) {
-@@ -924,8 +923,7 @@ struct file_struct *make_file(char *fnam
+@@ -926,8 +925,7 @@ struct file_struct *make_file(char *fnam
file->modtime = st2.st_mtime;
file->length = st2.st_size;
file->mode = st2.st_mode;
file->u.link = NULL;
} else
file->mode = save_mode;
-@@ -1375,7 +1373,7 @@ struct file_list *recv_file_list(int f)
+@@ -1377,7 +1375,7 @@ struct file_list *recv_file_list(int f)
clean_flist(flist, relative_paths, 1);
if (f >= 0) {
/* Recv the io_error flag */
if (lp_ignore_errors(module_id) || ignore_errors)
-@@ -1691,13 +1689,15 @@ static void output_flist(struct file_lis
+@@ -1693,13 +1691,15 @@ static void output_flist(struct file_lis
for (i = 0; i < flist->count; i++) {
file = flist->files[i];
sprintf(depthbuf, "%d", file->dir.depth);
--- old/generator.c
+++ new/generator.c
-@@ -90,6 +90,7 @@ extern dev_t filesystem_dev;
+@@ -89,6 +89,7 @@ extern dev_t filesystem_dev;
extern char *backup_dir;
extern char *backup_suffix;
extern int backup_suffix_len;
extern struct file_list *the_file_list;
extern struct filter_list_struct server_filter_list;
-@@ -323,10 +324,12 @@ int unchanged_attrs(struct file_struct *
+@@ -322,10 +323,12 @@ int unchanged_attrs(struct file_struct *
&& (st->st_mode & CHMOD_BITS) != (file->mode & CHMOD_BITS))
return 0;
return 0;
return 1;
-@@ -339,6 +342,8 @@ void itemize(struct file_struct *file, i
+@@ -338,6 +341,8 @@ void itemize(struct file_struct *file, i
int keep_time = !preserve_times ? 0
: S_ISDIR(file->mode) ? !omit_dir_times
: !S_ISLNK(file->mode);
if (S_ISREG(file->mode) && file->length != st->st_size)
iflags |= ITEM_REPORT_SIZE;
-@@ -348,10 +353,10 @@ void itemize(struct file_struct *file, i
+@@ -347,10 +352,10 @@ void itemize(struct file_struct *file, i
iflags |= ITEM_REPORT_TIME;
if ((file->mode & CHMOD_BITS) != (st->st_mode & CHMOD_BITS))
iflags |= ITEM_REPORT_PERMS;
iflags |= ITEM_IS_NEW;
--- old/log.c
+++ new/log.c
-@@ -45,6 +45,7 @@ extern char *auth_user;
- extern char *log_format;
+@@ -46,6 +46,7 @@ extern char *auth_user;
+ extern char *stdout_format;
extern char *logfile_format;
extern char *logfile_name;
+extern struct id_pair *id_pairs;
#if defined HAVE_ICONV_OPEN && defined HAVE_ICONV_H
extern iconv_t ic_chck;
#endif
-@@ -464,16 +465,16 @@ static void log_formatted(enum logcode c
+@@ -471,16 +472,16 @@ static void log_formatted(enum logcode c
case 'U':
strlcat(fmt, "ld", sizeof fmt);
snprintf(buf2, sizeof buf2, fmt,
break;
--- old/rsync.c
+++ new/rsync.c
-@@ -50,6 +50,7 @@ extern int keep_dirlinks;
+@@ -49,6 +49,7 @@ extern int keep_dirlinks;
extern int make_backups;
extern mode_t orig_umask;
extern struct stats stats;
extern struct chmod_mode_struct *daemon_chmod_modes;
#if defined HAVE_ICONV_OPEN && defined HAVE_ICONV_H
-@@ -128,6 +129,8 @@ int set_file_attrs(char *fname, struct f
+@@ -127,6 +128,8 @@ int set_file_attrs(char *fname, struct f
int updated = 0;
STRUCT_STAT st2;
int change_uid, change_gid;
if (!st) {
if (dry_run)
-@@ -160,9 +163,11 @@ int set_file_attrs(char *fname, struct f
+@@ -159,9 +162,11 @@ int set_file_attrs(char *fname, struct f
updated = 1;
}
#if !defined HAVE_LCHOWN && !defined CHOWN_MODIFIES_SYMLINK
if (S_ISLNK(st->st_mode))
;
-@@ -174,18 +179,18 @@ int set_file_attrs(char *fname, struct f
+@@ -173,18 +178,18 @@ int set_file_attrs(char *fname, struct f
rprintf(FINFO,
"set uid of %s from %ld to %ld\n",
fname,
rsyserr(FERROR, errno, "%s %s failed",
--- old/rsync.h
+++ new/rsync.h
-@@ -496,6 +496,11 @@ struct hlink {
+@@ -502,6 +502,11 @@ struct hlink {
int hlindex;
};
#define F_DEV link_u.idev->dev
#define F_INODE link_u.idev->inode
-@@ -520,8 +525,7 @@ struct file_struct {
+@@ -526,8 +531,7 @@ struct file_struct {
struct hlink *links;
} link_u;
time_t modtime;