if (verbose > 2) {
rprintf(FINFO,"_exit_cleanup(code=%d, file=%s, line=%d): about to call exit(%d)\n",
---- orig/clientserver.c 2005-02-27 07:33:41
+--- orig/clientserver.c 2005-03-01 03:39:47
+++ clientserver.c 2004-07-03 20:22:18
-@@ -354,6 +354,9 @@ static int rsync_module(int f_in, int f_
+@@ -351,6 +351,9 @@ static int rsync_module(int f_in, int f_
XFLG_ANCHORED2ABS | XFLG_OLD_PREFIXES);
log_init();
if (use_chroot) {
/*
-@@ -476,6 +479,9 @@ static int rsync_module(int f_in, int f_
+@@ -473,6 +476,9 @@ static int rsync_module(int f_in, int f_
rprintf(FLOG, "rsync %s %s from %s@%s (%s)\n",
am_sender ? "on" : "to",
request, auth_user, host, addr);
{
int i;
for (i = 0; rerr_names[i].name; i++) {
---- orig/main.c 2005-02-28 02:16:55
+--- orig/main.c 2005-03-01 03:39:47
+++ main.c 2004-07-03 20:22:18
-@@ -139,6 +139,9 @@ static void report(int f)
+@@ -138,6 +138,9 @@ static void report(int f)
if (am_daemon) {
log_exit(0, __FILE__, __LINE__);
next;
}
---- orig/options.c 2005-02-25 18:44:31
+--- orig/options.c 2005-03-01 05:49:24
+++ options.c 2005-02-14 02:46:05
@@ -44,6 +44,7 @@ int keep_dirlinks = 0;
int copy_links = 0;
default:
/* A large opt value means that set_refuse_options()
* turned this option off. */
-@@ -1259,6 +1285,8 @@ void server_options(char **args,int *arg
+@@ -1261,6 +1287,8 @@ void server_options(char **args,int *arg
if (preserve_hard_links)
argstr[x++] = 'H';
#include "proto.h"
/* We have replacement versions of these if they're missing. */
---- orig/rsync.yo 2005-02-28 02:16:55
+--- orig/rsync.yo 2005-03-01 01:22:59
+++ rsync.yo 2004-07-03 20:11:58
@@ -317,6 +317,7 @@ to the detailed description below for a
-H, --hard-links preserve hard links
matched(f, s, buf, j, -2);
matched(f, s, buf, len, -1);
}
---- orig/options.c 2005-02-25 18:44:31
+--- orig/options.c 2005-03-01 05:49:24
+++ options.c 2005-02-16 15:36:40
@@ -39,6 +39,7 @@ int make_backups = 0;
**/
break;
}
if (!is_wild)
-@@ -1114,6 +1120,14 @@ int parse_arguments(int *argc, const cha
+@@ -1105,6 +1111,14 @@ int parse_arguments(int *argc, const cha
bwlimit_writemax = 512;
}
if (delay_updates && !partial_dir)
partial_dir = partialdir_for_delayupdate;
-@@ -1413,7 +1427,9 @@ void server_options(char **args,int *arg
+@@ -1415,7 +1429,9 @@ void server_options(char **args,int *arg
if (opt_ignore_existing && am_sender)
args[ac++] = "--ignore-existing";
continue;
}
---- orig/rsync.yo 2005-02-28 02:16:55
+--- orig/rsync.yo 2005-03-01 01:22:59
+++ rsync.yo 2005-02-11 20:36:38
@@ -309,6 +309,7 @@ to the detailed description below for a
--suffix=SUFFIX backup suffix (default ~ w/o --backup-dir)
make proto
---- orig/batch.c 2005-02-16 17:08:13
+--- orig/batch.c 2005-03-01 01:22:58
+++ batch.c 2004-07-03 20:15:41
-@@ -205,6 +205,8 @@ void show_flist(int index, struct file_s
+@@ -202,6 +202,8 @@ void show_flist(int index, struct file_s
rprintf(FINFO, "flist->flags=%#x\n", fptr[i]->flags);
rprintf(FINFO, "flist->modtime=%#lx\n",
(long unsigned) fptr[i]->modtime);
if (verbose > 1)
rprintf(FINFO, "%s is newer\n", safe_fname(fname));
return;
---- orig/options.c 2005-02-25 18:44:31
+--- orig/options.c 2005-03-01 05:49:24
+++ options.c 2005-02-21 10:53:28
@@ -50,6 +50,7 @@ int preserve_uid = 0;
int preserve_gid = 0;
{"checksum", 'c', POPT_ARG_NONE, &always_checksum, 0, 0, 0 },
{"verbose", 'v', POPT_ARG_NONE, 0, 'v', 0, 0 },
{"quiet", 'q', POPT_ARG_NONE, 0, 'q', 0, 0 },
-@@ -1267,6 +1270,8 @@ void server_options(char **args,int *arg
+@@ -1269,6 +1272,8 @@ void server_options(char **args,int *arg
argstr[x++] = 'D';
if (preserve_times)
argstr[x++] = 't';
uid_t uid;
gid_t gid;
mode_t mode;
---- orig/rsync.yo 2005-02-28 02:16:55
+--- orig/rsync.yo 2005-03-01 01:22:59
+++ rsync.yo 2005-01-24 01:57:18
@@ -322,6 +322,7 @@ to the detailed description below for a
-D, --devices preserve devices (root only)
else
ok = do_rmdir(fname) == 0;
if (ok) {
---- orig/options.c 2005-03-01 01:22:59
+--- orig/options.c 2005-03-01 05:49:24
+++ options.c 2005-03-01 01:25:39
@@ -127,10 +127,14 @@ int no_detach
int write_batch = 0;
file->uid = st.st_uid;
file->gid = st.st_gid;
---- orig/options.c 2005-03-01 01:22:59
+--- orig/options.c 2005-03-01 05:49:24
+++ options.c 2005-03-01 01:26:56
@@ -140,6 +140,7 @@ char *log_format = NULL;
char *password_file = NULL;
if (st->st_size != file->length)
return 0;
---- orig/options.c 2005-02-25 18:44:31
+--- orig/options.c 2005-03-01 05:49:24
+++ options.c 2005-01-28 19:14:15
@@ -89,6 +89,7 @@ int keep_partial = 0;
int safe_symlinks = 0;
{"modify-window", 0, POPT_ARG_INT, &modify_window, OPT_MODIFY_WINDOW, 0, 0 },
{"one-file-system", 'x', POPT_ARG_NONE, &one_file_system, 0, 0, 0 },
{"existing", 0, POPT_ARG_NONE, &only_existing, 0, 0, 0 },
-@@ -1373,6 +1376,9 @@ void server_options(char **args,int *arg
+@@ -1375,6 +1378,9 @@ void server_options(char **args,int *arg
if (size_only)
args[ac++] = "--size-only";
if (modify_window_set) {
if (asprintf(&arg, "--modify-window=%d", modify_window) < 0)
goto oom;
---- orig/rsync.yo 2005-02-28 02:16:55
+--- orig/rsync.yo 2005-03-01 01:22:59
+++ rsync.yo 2005-02-11 22:49:10
@@ -350,6 +350,7 @@ to the detailed description below for a
--timeout=TIME set I/O timeout in seconds
{ RERR_SIGNAL , "received SIGUSR1 or SIGINT" },
{ RERR_WAITCHILD , "some error returned by waitpid()" },
{ RERR_MALLOC , "error allocating core memory buffers" },
---- orig/main.c 2005-02-28 02:16:55
+--- orig/main.c 2005-03-01 03:39:47
+++ main.c 2004-07-22 00:31:47
-@@ -363,7 +363,7 @@ static pid_t do_cmd(char *cmd, char *mac
+@@ -362,7 +362,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-02-25 18:44:31
+--- orig/options.c 2005-03-01 05:49:24
+++ options.c 2005-02-14 02:50:32
@@ -137,6 +137,7 @@ char *basis_dir[MAX_BASIS_DIRS+1];
char *config_file = NULL;
This patch from Sami Farin lets you specify --fsync if you want fsync()
to be called on every file we write.
---- orig/options.c 2005-02-25 18:44:31
+--- orig/options.c 2005-03-01 05:49:24
+++ options.c 2005-01-28 19:30:47
@@ -39,6 +39,7 @@ int make_backups = 0;
**/
{"dry-run", 'n', POPT_ARG_NONE, &dry_run, 0, 0, 0 },
{"sparse", 'S', POPT_ARG_NONE, &sparse_files, 0, 0, 0 },
{"cvs-exclude", 'C', POPT_ARG_NONE, &cvs_exclude, 0, 0, 0 },
-@@ -1421,6 +1424,9 @@ void server_options(char **args,int *arg
+@@ -1423,6 +1426,9 @@ void server_options(char **args,int *arg
args[ac++] = tmpdir;
}
case '?':
/* Match anything but '/'. */
if (*text == '/')
---- orig/options.c 2005-02-25 18:44:31
+--- orig/options.c 2005-03-01 05:49:24
+++ options.c 2004-10-14 17:22:51
@@ -100,6 +100,7 @@ int max_delete = 0;
OFF_T max_size = 0;
{"safe-links", 0, POPT_ARG_NONE, &safe_symlinks, 0, 0, 0 },
{"help", 'h', POPT_ARG_NONE, 0, 'h', 0, 0 },
{"backup", 'b', POPT_ARG_NONE, &make_backups, 0, 0, 0 },
-@@ -1385,6 +1388,9 @@ void server_options(char **args,int *arg
+@@ -1387,6 +1390,9 @@ void server_options(char **args,int *arg
args[ac++] = arg;
}
+}
+
+#endif
---- orig/options.c 2005-03-01 01:22:59
+--- orig/options.c 2005-03-01 05:49:24
+++ options.c 2005-03-01 01:27:55
@@ -140,6 +140,7 @@ char *log_format = NULL;
char *password_file = NULL;
#else
linkname_len = 0;
#endif
---- orig/options.c 2005-02-25 18:44:31
+--- orig/options.c 2005-03-01 05:49:24
+++ options.c 2005-01-28 19:33:24
@@ -43,6 +43,7 @@ int archive_mode = 0;
int keep_dirlinks = 0;
{"copy-links", 'L', POPT_ARG_NONE, ©_links, 0, 0, 0 },
{"keep-dirlinks", 'K', POPT_ARG_NONE, &keep_dirlinks, 0, 0, 0 },
{"whole-file", 'W', POPT_ARG_VAL, &whole_file, 1, 0, 0 },
---- orig/rsync.yo 2005-02-28 02:16:55
+--- orig/rsync.yo 2005-03-01 01:22:59
+++ rsync.yo 2005-01-28 19:33:40
@@ -311,6 +311,7 @@ to the detailed description below for a
--inplace update destination files in-place
if (verbose > 3) {
rprintf(FINFO,"_exit_cleanup(code=%d, file=%s, line=%d): entered\n",
code, safe_fname(file), line);
---- orig/clientserver.c 2005-03-01 01:22:59
+--- orig/clientserver.c 2005-03-01 03:39:47
+++ clientserver.c 2004-10-08 20:44:59
@@ -45,6 +45,9 @@ extern int select_timeout;
extern int orig_umask;
extern char *bind_address;
extern struct filter_list_struct server_filter_list;
extern char *config_file;
-@@ -102,8 +105,18 @@ int start_socket_client(char *host, char
+@@ -99,8 +102,18 @@ int start_socket_client(char *host, char
exit_cleanup(RERR_SOCKETIO);
ret = start_inband_exchange(user, path, fd, fd, argc);
}
int start_inband_exchange(char *user, char *path, int f_in, int f_out,
-@@ -164,6 +177,33 @@ int start_inband_exchange(char *user, ch
+@@ -161,6 +174,33 @@ int start_inband_exchange(char *user, ch
if (verbose > 1)
print_child_argv(sargs);
p = strchr(path,'/');
if (p) *p = 0;
io_printf(f_out, "%s\n", path);
-@@ -192,6 +232,10 @@ int start_inband_exchange(char *user, ch
+@@ -189,6 +229,10 @@ int start_inband_exchange(char *user, ch
* server to terminate the listing of modules.
* We don't want to go on and transfer
* anything; just exit. */
exit(0);
}
-@@ -199,6 +243,10 @@ int start_inband_exchange(char *user, ch
+@@ -196,6 +240,10 @@ int start_inband_exchange(char *user, ch
rprintf(FERROR, "%s\n", line);
/* This is always fatal; the server will now
* close the socket. */
return RERR_STARTCLIENT;
} else {
rprintf(FINFO,"%s\n", line);
-@@ -552,6 +600,7 @@ static void send_listing(int fd)
+@@ -549,6 +597,7 @@ static void send_listing(int fd)
io_printf(fd,"@RSYNCD: EXIT\n");
}
/* this is called when a connection is established to a client
and we want to start talking. The setup of the system is done from
here */
-@@ -601,6 +650,9 @@ int start_daemon(int f_in, int f_out)
+@@ -598,6 +647,9 @@ int start_daemon(int f_in, int f_out)
if (protocol_version > remote_protocol)
protocol_version = remote_protocol;
line[0] = 0;
if (!read_line(f_in, line, sizeof line - 1))
return -1;
-@@ -610,6 +662,20 @@ int start_daemon(int f_in, int f_out)
+@@ -607,6 +659,20 @@ int start_daemon(int f_in, int f_out)
return -1;
}
AC_MSG_CHECKING([whether to call shutdown on all sockets])
case $host_os in
*cygwin* ) AC_MSG_RESULT(yes)
---- orig/options.c 2005-03-01 01:22:59
+--- orig/options.c 2005-03-01 05:49:24
+++ options.c 2005-03-01 01:34:42
@@ -155,6 +155,14 @@ int log_format_has_o_or_i = 0;
int always_checksum = 0;
+ preserve_gid = 2;
+ }
}
---- orig/options.c 2005-02-25 18:44:31
+--- orig/options.c 2005-03-01 05:49:24
+++ options.c 2004-09-09 01:59:08
@@ -402,8 +402,8 @@ static struct poptOption long_options[]
{"no-whole-file", 0, POPT_ARG_VAL, &whole_file, 0, 0, 0 },
preserve_devices = 1;
}
-@@ -1259,10 +1267,16 @@ void server_options(char **args,int *arg
+@@ -1261,10 +1269,16 @@ void server_options(char **args,int *arg
if (preserve_hard_links)
argstr[x++] = 'H';
while (1) {
char fname2[MAXPATHLEN];
---- orig/options.c 2005-03-01 01:22:59
+--- orig/options.c 2005-03-01 05:49:24
+++ options.c 2005-03-01 01:37:22
@@ -81,6 +81,7 @@ char *filesfrom_host = NULL;
int eol_nulls = 0;
if (t - last_io >= io_timeout) {
if (!am_server && !am_daemon) {
rprintf(FERROR, "io timeout after %d seconds -- exiting\n",
---- orig/options.c 2005-03-01 01:22:59
+--- orig/options.c 2005-03-01 05:49:24
+++ options.c 2005-01-28 19:35:23
@@ -105,6 +105,7 @@ int checksum_seed = 0;
int inplace = 0;