./configure
make
+based-on: 181c9faf928faad08ef095f4667afe460ec3bef6
diff --git a/Makefile.in b/Makefile.in
-index feacb90..3016643 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -41,7 +41,7 @@ OBJS3=progress.o pipe.o
TLS_OBJ = tls.o syscall.o lib/compat.o lib/snprintf.o lib/permstring.o lib/sysxattrs.o @BUILD_POPT@
diff --git a/cleanup.c b/cleanup.c
-index 19ef072..506f575 100644
--- a/cleanup.c
+++ b/cleanup.c
@@ -25,6 +25,9 @@
#include "case_N.h"
diff --git a/clientserver.c b/clientserver.c
-index b6afe00..5467c72 100644
--- a/clientserver.c
+++ b/clientserver.c
@@ -30,6 +30,9 @@ extern int am_sender;
return -1;
}
-@@ -1022,6 +1069,9 @@ int start_daemon(int f_in, int f_out)
+@@ -1016,6 +1063,9 @@ int start_daemon(int f_in, int f_out)
if (exchange_protocols(f_in, f_out, line, sizeof line, 0) < 0)
return -1;
line[0] = 0;
if (!read_line_old(f_in, line, sizeof line))
return -1;
-@@ -1033,6 +1083,20 @@ int start_daemon(int f_in, int f_out)
+@@ -1027,6 +1077,20 @@ int start_daemon(int f_in, int f_out)
return -1;
}
/* it's some sort of command that I don't understand */
io_printf(f_out, "@ERROR: Unknown command '%s'\n", line);
diff --git a/configure.in b/configure.in
-index bc7d4a7..73ca6c5 100644
--- a/configure.in
+++ b/configure.in
@@ -293,6 +293,21 @@ if test x"$enable_locale" != x"no"; then
case $host_os in
*cygwin* ) AC_MSG_RESULT(yes)
diff --git a/options.c b/options.c
-index e7c6c61..634b89e 100644
--- a/options.c
+++ b/options.c
@@ -191,6 +191,14 @@ int logfile_format_has_o_or_i = 0;
*argv_p = argv = poptGetArgs(pc);
*argc_p = argc = count_args(argv);
am_starting_up = 0;
-@@ -1742,6 +1799,12 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -1743,6 +1800,12 @@ int parse_arguments(int *argc_p, const char ***argv_p)
return 0;
#endif
default:
/* A large opt value means that set_refuse_options()
* turned this option off. */
-@@ -2108,6 +2171,17 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -2125,6 +2188,17 @@ int parse_arguments(int *argc_p, const char ***argv_p)
if (delay_updates && !partial_dir)
partial_dir = tmp_partialdir;
if (inplace) {
#ifdef HAVE_FTRUNCATE
if (partial_dir) {
-@@ -2698,9 +2772,18 @@ char *check_for_hostspec(char *s, char **host_ptr, int *port_ptr)
+@@ -2715,9 +2789,18 @@ char *check_for_hostspec(char *s, char **host_ptr, int *port_ptr)
{
char *path;
*port_ptr = RSYNC_PORT;
return path;
diff --git a/rsync.h b/rsync.h
-index be7cf8a..7b7cc88 100644
--- a/rsync.h
+++ b/rsync.h
@@ -31,6 +31,7 @@
#define SYMLINK_PREFIX "/rsyncd-munged/" /* This MUST have a trailing slash! */
#define SYMLINK_PREFIX_LEN ((int)sizeof SYMLINK_PREFIX - 1)
-@@ -569,6 +570,11 @@ typedef unsigned int size_t;
+@@ -573,6 +574,11 @@ typedef unsigned int size_t;
# define SIZEOF_INT64 SIZEOF_OFF_T
#endif
int32 size, entries;
diff --git a/ssl.c b/ssl.c
new file mode 100644
-index 0000000..f0d4d9f
--- /dev/null
+++ b/ssl.c
@@ -0,0 +1,369 @@