./configure
make
-based-on: b37a136314f250fc837d2836a923ffd441e847ca
+based-on: 6b237b0fe9b0941c51afc9e880a28c47583a11de
diff --git a/.gitignore b/.gitignore
--- a/.gitignore
+++ b/.gitignore
int connect_timeout = 0;
int keep_partial = 0;
int safe_symlinks = 0;
-@@ -276,6 +281,7 @@ static struct output_struct debug_words[COUNT_DEBUG+1] = {
+@@ -277,6 +282,7 @@ static struct output_struct debug_words[COUNT_DEBUG+1] = {
DEBUG_WORD(CHDIR, W_CLI|W_SRV, "Debug when the current directory changes"),
DEBUG_WORD(CONNECT, W_CLI, "Debug connection events (levels 1-2)"),
DEBUG_WORD(CMD, W_CLI, "Debug commands+options that are issued (levels 1-2)"),
DEBUG_WORD(DEL, W_REC, "Debug delete actions (levels 1-3)"),
DEBUG_WORD(DELTASUM, W_SND|W_REC, "Debug delta-transfer checksumming (levels 1-4)"),
DEBUG_WORD(DUP, W_REC, "Debug weeding of duplicate names"),
-@@ -644,6 +650,16 @@ static void print_capabilities(enum logcode f)
+@@ -652,6 +658,16 @@ static void print_capabilities(enum logcode f)
#endif
- "SIMD",
+ "prealloc",
+#if !defined HAVE_MYSQL_MYSQL_H || !defined HAVE_LIBMYSQLCLIENT
+ "no "
NULL
};
-@@ -737,6 +753,7 @@ enum {OPT_SERVER = 1000, OPT_DAEMON, OPT_SENDER, OPT_EXCLUDE, OPT_EXCLUDE_FROM,
+@@ -751,6 +767,7 @@ enum {OPT_SERVER = 1000, OPT_DAEMON, OPT_SENDER, OPT_EXCLUDE, OPT_EXCLUDE_FROM,
OPT_INCLUDE, OPT_INCLUDE_FROM, OPT_MODIFY_WINDOW, OPT_MIN_SIZE, OPT_CHMOD,
OPT_READ_BATCH, OPT_WRITE_BATCH, OPT_ONLY_WRITE_BATCH, OPT_MAX_SIZE,
OPT_NO_D, OPT_APPEND, OPT_NO_ICONV, OPT_INFO, OPT_DEBUG,
OPT_USERMAP, OPT_GROUPMAP, OPT_CHOWN, OPT_BWLIMIT,
OPT_OLD_COMPRESS, OPT_NEW_COMPRESS, OPT_NO_COMPRESS,
OPT_REFUSED_BASE = 9000};
-@@ -887,6 +904,10 @@ static struct poptOption long_options[] = {
+@@ -901,6 +918,10 @@ static struct poptOption long_options[] = {
{"no-c", 0, POPT_ARG_VAL, &always_checksum, 0, 0, 0 },
{"checksum-choice", 0, POPT_ARG_STRING, &checksum_choice, 0, 0, 0 },
{"cc", 0, POPT_ARG_STRING, &checksum_choice, 0, 0, 0 },
{"block-size", 'B', POPT_ARG_LONG, &block_size, 0, 0, 0 },
{"compare-dest", 0, POPT_ARG_STRING, 0, OPT_COMPARE_DEST, 0, 0 },
{"copy-dest", 0, POPT_ARG_STRING, 0, OPT_COPY_DEST, 0, 0 },
-@@ -976,6 +997,9 @@ static struct poptOption long_options[] = {
+@@ -990,6 +1011,9 @@ static struct poptOption long_options[] = {
{"dparam", 0, POPT_ARG_STRING, 0, OPT_DAEMON, 0, 0 },
{"detach", 0, POPT_ARG_NONE, 0, OPT_DAEMON, 0, 0 },
{"no-detach", 0, POPT_ARG_NONE, 0, OPT_DAEMON, 0, 0 },
{0,0,0,0, 0, 0, 0}
};
-@@ -1016,6 +1040,39 @@ static struct poptOption long_daemon_options[] = {
+@@ -1030,6 +1054,39 @@ static struct poptOption long_daemon_options[] = {
{0,0,0,0, 0, 0, 0}
};
static char err_buf[200];
-@@ -1141,6 +1198,8 @@ static void set_refuse_options(void)
+@@ -1155,6 +1212,8 @@ static void set_refuse_options(void)
parse_one_refuse_match(0, "iconv", list_end);
#endif
parse_one_refuse_match(0, "log-file*", list_end);
}
#ifndef SUPPORT_HARD_LINKS
-@@ -1279,6 +1338,102 @@ static void create_refuse_error(int which)
+@@ -1293,6 +1352,102 @@ static void create_refuse_error(int which)
snprintf(err_buf + n, sizeof err_buf - n, " (-%c)\n", op->shortName);
}
/* This is used to make sure that --daemon & --server cannot be aliased to
* something else. These options have always disabled popt aliases for the
* parsing of a daemon or server command-line, but we have to make sure that
-@@ -1335,6 +1490,12 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -1349,6 +1504,12 @@ int parse_arguments(int *argc_p, const char ***argv_p)
return 0;
}
set_refuse_options();
#ifdef ICONV_OPTION
-@@ -1453,6 +1614,12 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -1467,6 +1628,12 @@ int parse_arguments(int *argc_p, const char ***argv_p)
am_daemon = 1;
return 1;
case OPT_MODIFY_WINDOW:
/* The value has already been set by popt, but
* we need to remember that we're using a
-@@ -1527,6 +1694,10 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -1541,6 +1708,10 @@ int parse_arguments(int *argc_p, const char ***argv_p)
preserve_devices = preserve_specials = 0;
break;
./configure (optional if already run)
make
-based-on: c225330aaf9d6032a79317bda1bf669e90ac7212
+based-on: 6b237b0fe9b0941c51afc9e880a28c47583a11de
diff --git a/compat.c b/compat.c
--- a/compat.c
+++ b/compat.c
int io_timeout = 0;
int prune_empty_dirs = 0;
int use_qsort = 0;
-@@ -644,6 +646,11 @@ static void print_capabilities(enum logcode f)
+@@ -652,6 +654,11 @@ static void print_capabilities(enum logcode f)
#endif
- "SIMD",
+ "prealloc",
+#ifndef SUPPORT_FILEFLAGS
+ "no "
NULL
};
-@@ -776,6 +783,8 @@ static struct poptOption long_options[] = {
+@@ -790,6 +797,8 @@ static struct poptOption long_options[] = {
{"perms", 'p', POPT_ARG_VAL, &preserve_perms, 1, 0, 0 },
{"no-perms", 0, POPT_ARG_VAL, &preserve_perms, 0, 0, 0 },
{"no-p", 0, POPT_ARG_VAL, &preserve_perms, 0, 0, 0 },
{"executability", 'E', POPT_ARG_NONE, &preserve_executability, 0, 0, 0 },
{"acls", 'A', POPT_ARG_NONE, 0, 'A', 0, 0 },
{"no-acls", 0, POPT_ARG_VAL, &preserve_acls, 0, 0, 0 },
-@@ -869,6 +878,12 @@ static struct poptOption long_options[] = {
+@@ -883,6 +892,12 @@ static struct poptOption long_options[] = {
{"remove-source-files",0,POPT_ARG_VAL, &remove_source_files, 1, 0, 0 },
{"force", 0, POPT_ARG_VAL, &force_delete, 1, 0, 0 },
{"no-force", 0, POPT_ARG_VAL, &force_delete, 0, 0, 0 },
{"ignore-errors", 0, POPT_ARG_VAL, &ignore_errors, 1, 0, 0 },
{"no-ignore-errors", 0, POPT_ARG_VAL, &ignore_errors, 0, 0, 0 },
{"max-delete", 0, POPT_ARG_INT, &max_delete, 0, 0, 0 },
-@@ -1152,6 +1167,14 @@ static void set_refuse_options(void)
+@@ -1166,6 +1181,14 @@ static void set_refuse_options(void)
#ifndef HAVE_SETVBUF
parse_one_refuse_match(0, "outbuf", list_end);
#endif
/* Now we use the descrip values to actually mark the options for refusal. */
for (op = long_options; op != list_end; op++) {
-@@ -2598,6 +2621,9 @@ void server_options(char **args, int *argc_p)
+@@ -2617,6 +2640,9 @@ void server_options(char **args, int *argc_p)
if (xfer_dirs && !recurse && delete_mode && am_sender)
args[ac++] = "--no-r";
if (do_compression && do_compression_level != CLVL_NOT_SPECIFIED) {
if (asprintf(&arg, "--compress-level=%d", do_compression_level) < 0)
goto oom;
-@@ -2701,6 +2727,16 @@ void server_options(char **args, int *argc_p)
+@@ -2720,6 +2746,16 @@ void server_options(char **args, int *argc_p)
args[ac++] = "--delete-excluded";
if (force_delete)
args[ac++] = "--force";