Note that you'll need to run 'make proto' after applying this patch.
---- orig/Makefile.in 2005-07-07 23:11:07
-+++ Makefile.in 2004-07-03 20:18:02
+--- orig/Makefile.in 2005-11-07 04:29:00
++++ Makefile.in 2005-11-07 04:36:50
@@ -34,7 +34,7 @@ OBJS1=rsync.o generator.o receiver.o cle
main.o checksum.o match.o syscall.o log.o backup.o
OBJS2=options.o flist.o io.o compat.o hlink.o token.o uidlist.o socket.o \
- fileio.o batch.o clientname.o
+ fileio.o batch.o clientname.o chmod.o
-OBJS3=progress.o pipe.o
+OBJS3=progress.o pipe.o fnameconv.o
DAEMON_OBJ = params.o loadparm.o clientserver.o access.o connection.o authenticate.o
#define RERR_SIGNAL 20 /* status returned when sent SIGUSR1, SIGINT */
#define RERR_WAITCHILD 21 /* some error returned by waitpid() */
---- orig/flist.c 2005-10-19 08:24:28
+--- orig/flist.c 2005-11-07 04:29:01
+++ flist.c 2005-03-05 00:29:08
@@ -57,6 +57,7 @@ extern int copy_unsafe_links;
extern int protocol_version;
extern struct stats stats;
extern struct file_list *the_file_list;
-@@ -332,7 +333,10 @@ void send_file_entry(struct file_struct
+@@ -334,7 +335,10 @@ void send_file_entry(struct file_struct
io_write_phase = "send_file_entry";
flags = base_flags;
-@@ -541,6 +545,9 @@ static struct file_struct *receive_file_
+@@ -543,6 +547,9 @@ static struct file_struct *receive_file_
strlcpy(lastname, thisname, MAXPATHLEN);
clean_fname(thisname, 0);
if (sanitize_paths)
-@@ -1064,6 +1071,9 @@ struct file_list *send_file_list(int f,
+@@ -1073,6 +1080,9 @@ struct file_list *send_file_list(int f,
start_write = stats.total_written;
gettimeofday(&start_tv, NULL);
flist = flist_new(WITH_HLINK, "send_file_list");
io_start_buffering_out();
-@@ -1268,6 +1278,9 @@ struct file_list *send_file_list(int f,
+@@ -1285,6 +1295,9 @@ struct file_list *send_file_list(int f,
stats.flist_size = stats.total_written - start_write;
stats.num_files = flist->count;
if (verbose > 3)
output_flist(flist);
-@@ -1288,6 +1301,9 @@ struct file_list *recv_file_list(int f)
+@@ -1305,6 +1318,9 @@ struct file_list *recv_file_list(int f)
start_read = stats.total_read;
flist = flist_new(WITH_HLINK, "recv_file_list");
flist->count = 0;
-@@ -1340,6 +1356,9 @@ struct file_list *recv_file_list(int f)
+@@ -1357,6 +1373,9 @@ struct file_list *recv_file_list(int f)
io_error |= read_int(f);
}
+ if (verbose > 2)
+ rprintf(FINFO, "Converted filename: %s -> %s\n", src, dest);
+}
---- orig/generator.c 2005-10-14 20:03:01
+--- orig/generator.c 2005-10-30 22:30:28
+++ generator.c 2005-03-05 00:29:37
@@ -594,7 +594,13 @@ static int phase = 0;
* start sending checksums.
{ RERR_SIGNAL , "received SIGUSR1 or SIGINT" },
{ RERR_WAITCHILD , "waitpid() failed" },
{ RERR_MALLOC , "error allocating core memory buffers" },
---- orig/main.c 2005-10-26 16:49:08
+--- orig/main.c 2005-11-02 07:22:12
+++ main.c 2004-07-22 00:31:47
-@@ -391,7 +391,7 @@ static pid_t do_cmd(char *cmd, char *mac
+@@ -388,7 +388,7 @@ static pid_t do_cmd(char *cmd, char *mac
whole_file = 1;
ret = local_child(argc, args, f_in, f_out, child_main);
} else
if (dir)
free(dir);
---- orig/options.c 2005-10-26 16:49:08
+--- orig/options.c 2005-11-07 04:29:01
+++ options.c 2005-10-26 16:49:33
@@ -141,6 +141,7 @@ char *basis_dir[MAX_BASIS_DIRS+1];
char *config_file = NULL;
char *password_file = NULL;
char *rsync_path = RSYNC_PATH;
char *backup_dir = NULL;
-@@ -325,6 +326,7 @@ void usage(enum logcode F)
+@@ -329,6 +330,7 @@ void usage(enum logcode F)
rprintf(F," --compare-dest=DIR also compare destination files relative to DIR\n");
rprintf(F," --copy-dest=DIR ... and include copies of unchanged files\n");
rprintf(F," --link-dest=DIR hardlink to files in DIR when unchanged\n");
rprintf(F," -z, --compress compress file data during the transfer\n");
rprintf(F," --compress-level=NUM explicitly set compression level\n");
rprintf(F," -C, --cvs-exclude auto-ignore files the same way CVS does\n");
-@@ -454,6 +456,7 @@ static struct poptOption long_options[]
+@@ -459,6 +461,7 @@ static struct poptOption long_options[]
{"copy-dest", 0, POPT_ARG_STRING, 0, OPT_COPY_DEST, 0, 0 },
{"link-dest", 0, POPT_ARG_STRING, 0, OPT_LINK_DEST, 0, 0 },
{"fuzzy", 'y', POPT_ARG_NONE, &fuzzy_basis, 0, 0, 0 },