can't say if I've left any cleanup/compatibility errors in the code.
---- orig/Makefile.in 2004-11-02 16:47:15
+--- orig/Makefile.in 2005-07-07 23:11:07
+++ Makefile.in 2004-10-08 20:17:06
-@@ -39,7 +39,7 @@ OBJS3=progress.o pipe.o
+@@ -38,7 +38,7 @@ OBJS3=progress.o pipe.o
DAEMON_OBJ = params.o loadparm.o clientserver.o access.o connection.o authenticate.o
popt_OBJS=popt/findme.o popt/popt.o popt/poptconfig.o \
popt/popthelp.o popt/poptparse.o
if (verbose > 3) {
rprintf(FINFO,"_exit_cleanup(code=%d, file=%s, line=%d): entered\n",
code, safe_fname(file), line);
---- orig/clientserver.c 2005-05-19 08:52:42
+--- orig/clientserver.c 2005-08-17 06:45:07
+++ clientserver.c 2005-04-09 17:39:57
@@ -44,6 +44,9 @@ extern int io_timeout;
extern int orig_umask;
return -1;
}
-@@ -541,6 +589,7 @@ static void send_listing(int fd)
+@@ -597,6 +645,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 */
-@@ -590,6 +639,9 @@ int start_daemon(int f_in, int f_out)
+@@ -646,6 +695,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;
-@@ -599,6 +651,20 @@ int start_daemon(int f_in, int f_out)
+@@ -655,6 +707,20 @@ int start_daemon(int f_in, int f_out)
return -1;
}
if (*line == '#') {
/* it's some sort of command that I don't understand */
io_printf(f_out, "@ERROR: Unknown command '%s'\n", line);
---- orig/configure.in 2005-05-28 08:24:57
+--- orig/configure.in 2005-07-29 02:47:19
+++ configure.in 2004-07-03 20:22:28
-@@ -284,6 +284,21 @@ yes
+@@ -293,6 +293,21 @@ yes
AC_SEARCH_LIBS(getaddrinfo, inet6)
fi
AC_MSG_CHECKING([whether to call shutdown on all sockets])
case $host_os in
*cygwin* ) AC_MSG_RESULT(yes)
---- orig/options.c 2005-05-19 08:52:42
-+++ options.c 2005-05-19 08:58:46
+--- orig/options.c 2005-08-27 21:11:26
++++ options.c 2005-08-27 21:24:31
@@ -157,6 +157,14 @@ int log_format_has_o_or_i = 0;
int always_checksum = 0;
int list_only = 0;
#define MAX_BATCH_NAME_LEN 256 /* Must be less than MAXPATHLEN-13 */
char *batch_name = NULL;
-@@ -182,6 +190,7 @@ static void print_rsync_version(enum log
+@@ -183,6 +191,7 @@ static void print_rsync_version(enum log
char const *hardlinks = "no ";
char const *links = "no ";
char const *ipv6 = "no ";
STRUCT_STAT *dumstat;
#ifdef HAVE_SOCKETPAIR
-@@ -204,6 +213,10 @@ static void print_rsync_version(enum log
+@@ -205,6 +214,10 @@ static void print_rsync_version(enum log
ipv6 = "";
#endif
rprintf(f, "%s version %s protocol version %d\n",
RSYNC_NAME, RSYNC_VERSION, PROTOCOL_VERSION);
rprintf(f,
-@@ -217,10 +230,10 @@ static void print_rsync_version(enum log
+@@ -218,10 +231,10 @@ static void print_rsync_version(enum log
/* Note that this field may not have type ino_t. It depends
* on the complicated interaction between largefile feature
* macros. */
OPT_READ_BATCH, OPT_WRITE_BATCH, OPT_ONLY_WRITE_BATCH, OPT_MAX_SIZE,
OPT_REFUSED_BASE = 9000};
-@@ -464,6 +484,13 @@ static struct poptOption long_options[]
- {"ipv4", '4', POPT_ARG_VAL, &default_af_hint, AF_INET, 0, 0 },
- {"ipv6", '6', POPT_ARG_VAL, &default_af_hint, AF_INET6, 0, 0 },
- #endif
+@@ -485,6 +505,13 @@ static struct poptOption long_options[]
+ {"checksum-seed", 0, POPT_ARG_INT, &checksum_seed, 0, 0, 0 },
+ {"server", 0, POPT_ARG_NONE, &am_server, 0, 0, 0 },
+ {"sender", 0, POPT_ARG_NONE, 0, OPT_SENDER, 0, 0 },
+#if HAVE_OPENSSL
+ {"ssl", 0, POPT_ARG_NONE, 0, OPT_USE_SSL, 0, 0},
+ {"ssl-cert", 0, POPT_ARG_STRING, &ssl_cert_path, OPT_USE_SSL, 0, 0},
+ {"ssl-key-passwd", 0, POPT_ARG_STRING, &ssl_key_passwd, OPT_USE_SSL, 0, 0},
+ {"ssl-ca-certs", 0, POPT_ARG_STRING, &ssl_ca_path, OPT_USE_SSL, 0, 0},
+#endif
- /* All these options switch us into daemon-mode option-parsing. */
+ /* All the following options switch us into daemon-mode option-parsing. */
{"config", 0, POPT_ARG_STRING, 0, OPT_DAEMON, 0, 0 },
{"daemon", 0, POPT_ARG_NONE, 0, OPT_DAEMON, 0, 0 },
-@@ -876,6 +903,12 @@ int parse_arguments(int *argc, const cha
+@@ -916,6 +943,12 @@ int parse_arguments(int *argc, const cha
basis_dir[basis_dir_cnt++] = (char *)arg;
break;
default:
/* A large opt value means that set_refuse_options()
* turned this option off. */
-@@ -1129,6 +1162,17 @@ int parse_arguments(int *argc, const cha
+@@ -1174,6 +1207,17 @@ int parse_arguments(int *argc, const cha
if (delay_updates && !partial_dir)
partial_dir = partialdir_for_delayupdate;
if (inplace) {
#ifdef HAVE_FTRUNCATE
if (partial_dir) {
-@@ -1498,11 +1542,28 @@ char *check_for_hostspec(char *s, char *
+@@ -1547,11 +1591,28 @@ char *check_for_hostspec(char *s, char *
{
char *p;
int not_host;
if ((p = strchr(s, '/')) != NULL) {
hostlen = p - s;
path = p + 1;
---- orig/rsync.h 2005-05-03 17:11:01
+--- orig/rsync.h 2005-08-17 06:45:08
+++ rsync.h 2004-10-08 21:01:33
@@ -32,6 +32,7 @@