From 7a9a2e67e1836c9c492513e8940a92bdca31cf42 Mon Sep 17 00:00:00 2001 From: Wayne Davison Date: Tue, 18 Jan 2022 23:47:48 -0800 Subject: [PATCH] The patches for 3.2.4pre3. --- backup-deleted.diff | 12 ++++++------ backup-dir-dels.diff | 14 +++++++------- catch_crash_signals.diff | 12 ++++++------ checksum-reading.diff | 14 +++++++------- checksum-updating.diff | 4 ++-- checksum-xattr.diff | 2 +- clone-dest.diff | 10 +++++----- congestion.diff | 4 ++-- copy-devices.diff | 8 ++++---- date-only.diff | 8 ++++---- db.diff | 16 ++++++++-------- detect-renamed-lax.diff | 6 +++--- detect-renamed.diff | 14 +++++++------- direct-io.diff | 8 ++++---- downdate.diff | 4 ++-- fileflags.diff | 32 ++++++++++++++++---------------- filter-attribute-mods.diff | 10 +++++----- hfs-compression.diff | 20 ++++++++++---------- ignore-case.diff | 8 ++++---- kerberos.diff | 16 ++++++++-------- link-by-hash.diff | 18 +++++++++--------- md5p8.diff | 9 +++++---- omit-dir-changes.diff | 10 +++++----- slow-down.diff | 4 ++-- slp.diff | 16 ++++++++-------- soften-links.diff | 2 +- source-backup.diff | 8 ++++---- source-filter_dest-filter.diff | 14 +++++++------- sparse-block.diff | 8 ++++---- transliterate.diff | 10 +++++----- xxh3-safety-check.diff | 2 +- 31 files changed, 162 insertions(+), 161 deletions(-) diff --git a/backup-deleted.diff b/backup-deleted.diff index a04652a..fd5818d 100644 --- a/backup-deleted.diff +++ b/backup-deleted.diff @@ -7,7 +7,7 @@ To use this patch, run these commands for a successful build: ./configure (optional if already run) make -based-on: c3b553a93f7090bcbb89c08405f1a5f1c175c864 +based-on: cc832943160fb2cbaeaf45942b724828399edd37 diff --git a/generator.c b/generator.c --- a/generator.c +++ b/generator.c @@ -51,7 +51,7 @@ diff --git a/options.c b/options.c {"no-backup", 0, POPT_ARG_VAL, &make_backups, 0, 0, 0 }, {"backup-dir", 0, POPT_ARG_STRING, &backup_dir, 0, 0, 0 }, {"suffix", 0, POPT_ARG_STRING, &backup_suffix, 0, 0, 0 }, -@@ -2748,6 +2749,10 @@ void server_options(char **args, int *argc_p) +@@ -2756,6 +2757,10 @@ void server_options(char **args, int *argc_p) args[ac++] = safe_arg("--compress-choice", compress_choice); if (am_sender) { @@ -86,7 +86,7 @@ diff --git a/receiver.c b/receiver.c diff --git a/rsync.1.md b/rsync.1.md --- a/rsync.1.md +++ b/rsync.1.md -@@ -342,6 +342,7 @@ has its own detailed description later in this man page. +@@ -348,6 +348,7 @@ has its own detailed description later in this man page. --relative, -R use relative path names --no-implied-dirs don't send implied dirs with --relative --backup, -b make backups (see --suffix & --backup-dir) @@ -94,9 +94,9 @@ diff --git a/rsync.1.md b/rsync.1.md --backup-dir=DIR make backups into hierarchy based in DIR --suffix=SUFFIX backup suffix (default ~ w/o --backup-dir) --update, -u skip files that are newer on the receiver -@@ -903,6 +904,13 @@ your home directory (remove the '=' for that). - enough priority to be effective (e.g., if your rules specify a trailing - inclusion/exclusion of `*`, the auto-added rule would never be reached). +@@ -913,6 +914,13 @@ your home directory (remove the '=' for that). + rules specify a trailing inclusion/exclusion of `*`, the auto-added rule + would never be reached). +0. `--backup-deleted` + diff --git a/backup-dir-dels.diff b/backup-dir-dels.diff index 3cee165..d26905d 100644 --- a/backup-dir-dels.diff +++ b/backup-dir-dels.diff @@ -239,7 +239,7 @@ diff --git a/options.c b/options.c {"list-only", 0, POPT_ARG_VAL, &list_only, 2, 0, 0 }, {"read-batch", 0, POPT_ARG_STRING, &batch_name, OPT_READ_BATCH, 0, 0 }, {"write-batch", 0, POPT_ARG_STRING, &batch_name, OPT_WRITE_BATCH, 0, 0 }, -@@ -2216,6 +2224,8 @@ int parse_arguments(int *argc_p, const char ***argv_p) +@@ -2224,6 +2232,8 @@ int parse_arguments(int *argc_p, const char ***argv_p) tmpdir = sanitize_path(NULL, tmpdir, NULL, 0, SP_DEFAULT); if (backup_dir) backup_dir = sanitize_path(NULL, backup_dir, NULL, 0, SP_DEFAULT); @@ -248,7 +248,7 @@ diff --git a/options.c b/options.c } if (daemon_filter_list.head && !am_sender) { filter_rule_list *elp = &daemon_filter_list; -@@ -2237,6 +2247,14 @@ int parse_arguments(int *argc_p, const char ***argv_p) +@@ -2245,6 +2255,14 @@ int parse_arguments(int *argc_p, const char ***argv_p) if (check_filter(elp, FLOG, dir, 1) < 0) goto options_rejected; } @@ -263,7 +263,7 @@ diff --git a/options.c b/options.c } if (!backup_suffix) -@@ -2248,6 +2266,20 @@ int parse_arguments(int *argc_p, const char ***argv_p) +@@ -2256,6 +2274,20 @@ int parse_arguments(int *argc_p, const char ***argv_p) backup_suffix); return 0; } @@ -284,7 +284,7 @@ diff --git a/options.c b/options.c if (backup_dir) { size_t len; make_backups = 1; /* --backup-dir implies --backup */ -@@ -2284,6 +2316,34 @@ int parse_arguments(int *argc_p, const char ***argv_p) +@@ -2292,6 +2324,34 @@ int parse_arguments(int *argc_p, const char ***argv_p) "P *%s", backup_suffix); parse_filter_str(&filter_list, backup_dir_buf, rule_template(0), 0); } @@ -319,7 +319,7 @@ diff --git a/options.c b/options.c if (make_backups && !backup_dir) omit_dir_times = -1; /* Implied, so avoid -O to sender. */ -@@ -2733,11 +2793,20 @@ void server_options(char **args, int *argc_p) +@@ -2741,11 +2801,20 @@ void server_options(char **args, int *argc_p) args[ac++] = "--backup-dir"; args[ac++] = safe_arg("", backup_dir); } @@ -343,7 +343,7 @@ diff --git a/options.c b/options.c diff --git a/rsync.1.md b/rsync.1.md --- a/rsync.1.md +++ b/rsync.1.md -@@ -344,7 +344,9 @@ has its own detailed description later in this man page. +@@ -350,7 +350,9 @@ has its own detailed description later in this man page. --backup, -b make backups (see --suffix & --backup-dir) --backup-deleted make backups only of deleted files --backup-dir=DIR make backups into hierarchy based in DIR @@ -353,7 +353,7 @@ diff --git a/rsync.1.md b/rsync.1.md --update, -u skip files that are newer on the receiver --inplace update destination files in-place --append append data onto shorter files -@@ -925,6 +927,11 @@ your home directory (remove the '=' for that). +@@ -935,6 +937,11 @@ your home directory (remove the '=' for that). daemon is the receiver, the backup dir cannot go outside the module's path hierarchy, so take extra care not to delete it or copy into it. diff --git a/catch_crash_signals.diff b/catch_crash_signals.diff index 3b3ebe0..0e1960b 100644 --- a/catch_crash_signals.diff +++ b/catch_crash_signals.diff @@ -25,7 +25,7 @@ To use this patch, run these commands for a successful build: ./configure (optional if already run) make -based-on: c3b553a93f7090bcbb89c08405f1a5f1c175c864 +based-on: cc832943160fb2cbaeaf45942b724828399edd37 diff --git a/errcode.h b/errcode.h --- a/errcode.h +++ b/errcode.h @@ -52,7 +52,7 @@ diff --git a/log.c b/log.c diff --git a/main.c b/main.c --- a/main.c +++ b/main.c -@@ -215,8 +215,11 @@ static void wait_process_with_flush(pid_t pid, int *exit_code_ptr) +@@ -216,8 +216,11 @@ static void wait_process_with_flush(pid_t pid, int *exit_code_ptr) *exit_code_ptr = RERR_TERMINATED; else *exit_code_ptr = RERR_WAITCHILD; @@ -65,7 +65,7 @@ diff --git a/main.c b/main.c } void write_del_stats(int f) -@@ -1626,6 +1629,14 @@ void remember_children(UNUSED(int val)) +@@ -1631,6 +1634,14 @@ void remember_children(UNUSED(int val)) break; } } @@ -80,7 +80,7 @@ diff --git a/main.c b/main.c } #endif #ifndef HAVE_SIGACTION -@@ -1679,6 +1690,13 @@ static void rsync_panic_handler(UNUSED(int whatsig)) +@@ -1684,6 +1695,13 @@ static void rsync_panic_handler(UNUSED(int whatsig)) } #endif @@ -94,7 +94,7 @@ diff --git a/main.c b/main.c static void unset_env_var(const char *var) { #ifdef HAVE_UNSETENV -@@ -1695,7 +1713,6 @@ static void unset_env_var(const char *var) +@@ -1700,7 +1718,6 @@ static void unset_env_var(const char *var) #endif } @@ -102,7 +102,7 @@ diff --git a/main.c b/main.c int main(int argc,char *argv[]) { int ret; -@@ -1719,6 +1736,11 @@ int main(int argc,char *argv[]) +@@ -1724,6 +1741,11 @@ int main(int argc,char *argv[]) SIGACTMASK(SIGFPE, rsync_panic_handler); SIGACTMASK(SIGABRT, rsync_panic_handler); SIGACTMASK(SIGBUS, rsync_panic_handler); diff --git a/checksum-reading.diff b/checksum-reading.diff index cda4f5b..1f7ff48 100644 --- a/checksum-reading.diff +++ b/checksum-reading.diff @@ -16,7 +16,7 @@ To use this patch, run these commands for a successful build: ./configure (optional if already run) make -based-on: c3b553a93f7090bcbb89c08405f1a5f1c175c864 +based-on: cc832943160fb2cbaeaf45942b724828399edd37 diff --git a/clientserver.c b/clientserver.c --- a/clientserver.c +++ b/clientserver.c @@ -29,7 +29,7 @@ diff --git a/clientserver.c b/clientserver.c extern int io_timeout; extern int no_detach; extern int write_batch; -@@ -1067,6 +1069,9 @@ static int rsync_module(int f_in, int f_out, int i, const char *addr, const char +@@ -1093,6 +1095,9 @@ static int rsync_module(int f_in, int f_out, int i, const char *addr, const char } else if (am_root < 0) /* Treat --fake-super from client as --super. */ am_root = 2; @@ -697,7 +697,7 @@ diff --git a/options.c b/options.c case OPT_INFO: arg = poptGetOptArg(pc); parse_output_words(info_words, info_levels, arg, USER_PRIORITY); -@@ -2081,6 +2100,9 @@ int parse_arguments(int *argc_p, const char ***argv_p) +@@ -2089,6 +2108,9 @@ int parse_arguments(int *argc_p, const char ***argv_p) } #endif @@ -710,7 +710,7 @@ diff --git a/options.c b/options.c diff --git a/rsync.1.md b/rsync.1.md --- a/rsync.1.md +++ b/rsync.1.md -@@ -336,6 +336,7 @@ has its own detailed description later in this man page. +@@ -342,6 +342,7 @@ has its own detailed description later in this man page. --quiet, -q suppress non-error messages --no-motd suppress daemon-mode MOTD --checksum, -c skip based on checksum, not mod-time & size @@ -718,7 +718,7 @@ diff --git a/rsync.1.md b/rsync.1.md --archive, -a archive mode is -rlptgoD (no -A,-X,-U,-N,-H) --no-OPTION turn off an implied OPTION (e.g. --no-D) --recursive, -r recurse into directories -@@ -715,6 +716,8 @@ your home directory (remove the '=' for that). +@@ -721,6 +722,8 @@ your home directory (remove the '=' for that). file that has the same size as the corresponding sender's file: files with either a changed size or a changed checksum are selected for transfer. @@ -727,7 +727,7 @@ diff --git a/rsync.1.md b/rsync.1.md Note that rsync always verifies that each _transferred_ file was correctly reconstructed on the receiving side by checking a whole-file checksum that is generated as the file is transferred, but that automatic -@@ -726,6 +729,38 @@ your home directory (remove the '=' for that). +@@ -732,6 +735,38 @@ your home directory (remove the '=' for that). option or an environment variable that is discussed in that option's section. @@ -797,7 +797,7 @@ diff --git a/rsync.h b/rsync.h diff --git a/rsyncd.conf.5.md b/rsyncd.conf.5.md --- a/rsyncd.conf.5.md +++ b/rsyncd.conf.5.md -@@ -422,6 +422,19 @@ the values of parameters. See the GLOBAL PARAMETERS section for more details. +@@ -421,6 +421,19 @@ the values of parameters. See the GLOBAL PARAMETERS section for more details. the max connections limit is not exceeded for the modules sharing the lock file. The default is `/var/run/rsyncd.lock`. diff --git a/checksum-updating.diff b/checksum-updating.diff index daca2b3..1aa3bab 100644 --- a/checksum-updating.diff +++ b/checksum-updating.diff @@ -596,7 +596,7 @@ diff --git a/receiver.c b/receiver.c diff --git a/rsync.1.md b/rsync.1.md --- a/rsync.1.md +++ b/rsync.1.md -@@ -740,9 +740,13 @@ your home directory (remove the '=' for that). +@@ -746,9 +746,13 @@ your home directory (remove the '=' for that). The MODE value is either "lax", for relaxed checking (which compares size and mtime), "strict" (which also compares ctime and inode), or "none" to @@ -628,7 +628,7 @@ diff --git a/rsync.h b/rsync.h diff --git a/rsyncd.conf.5.md b/rsyncd.conf.5.md --- a/rsyncd.conf.5.md +++ b/rsyncd.conf.5.md -@@ -427,13 +427,15 @@ the values of parameters. See the GLOBAL PARAMETERS section for more details. +@@ -426,13 +426,15 @@ the values of parameters. See the GLOBAL PARAMETERS section for more details. This parameter tells rsync to make use of any cached checksum information it finds in per-directory .rsyncsums files when the current transfer is using the `--checksum` option. The value can be set to either "lax", diff --git a/checksum-xattr.diff b/checksum-xattr.diff index d3defd1..f1aad4e 100644 --- a/checksum-xattr.diff +++ b/checksum-xattr.diff @@ -8,7 +8,7 @@ To use this patch, run these commands for a successful build: ./configure (optional if already run) make -based-on: c3b553a93f7090bcbb89c08405f1a5f1c175c864 +based-on: cc832943160fb2cbaeaf45942b724828399edd37 diff --git a/flist.c b/flist.c --- a/flist.c +++ b/flist.c diff --git a/clone-dest.diff b/clone-dest.diff index 5135f2d..e5501e4 100644 --- a/clone-dest.diff +++ b/clone-dest.diff @@ -13,11 +13,11 @@ To use this patch, run these commands for a successful build: ./configure (optional if already run) make -based-on: c3b553a93f7090bcbb89c08405f1a5f1c175c864 +based-on: cc832943160fb2cbaeaf45942b724828399edd37 diff --git a/Makefile.in b/Makefile.in --- a/Makefile.in +++ b/Makefile.in -@@ -51,7 +51,7 @@ popt_OBJS=popt/findme.o popt/popt.o popt/poptconfig.o \ +@@ -52,7 +52,7 @@ popt_OBJS=popt/findme.o popt/popt.o popt/poptconfig.o \ popt/popthelp.o popt/poptparse.o OBJS=$(OBJS1) $(OBJS2) $(OBJS3) $(DAEMON_OBJ) $(LIBOBJ) @BUILD_ZLIB@ @BUILD_POPT@ @@ -26,7 +26,7 @@ diff --git a/Makefile.in b/Makefile.in # Programs we must have to run the test cases CHECK_PROGS = rsync$(EXEEXT) tls$(EXEEXT) getgroups$(EXEEXT) getfsdev$(EXEEXT) \ -@@ -166,7 +166,7 @@ getgroups$(EXEEXT): getgroups.o +@@ -167,7 +167,7 @@ getgroups$(EXEEXT): getgroups.o getfsdev$(EXEEXT): getfsdev.o $(CC) $(CFLAGS) $(LDFLAGS) -o $@ getfsdev.o $(LIBS) @@ -129,7 +129,7 @@ diff --git a/options.c b/options.c diff --git a/rsync.1.md b/rsync.1.md --- a/rsync.1.md +++ b/rsync.1.md -@@ -423,6 +423,7 @@ has its own detailed description later in this man page. +@@ -429,6 +429,7 @@ has its own detailed description later in this man page. --compare-dest=DIR also compare destination files relative to DIR --copy-dest=DIR ... and include copies of unchanged files --link-dest=DIR hardlink to files in DIR when unchanged @@ -137,7 +137,7 @@ diff --git a/rsync.1.md b/rsync.1.md --compress, -z compress file data during the transfer --compress-choice=STR choose the compression algorithm (aka --zc) --compress-level=NUM explicitly set compression level (aka --zl) -@@ -2498,6 +2499,18 @@ your home directory (remove the '=' for that). +@@ -2523,6 +2524,18 @@ your home directory (remove the '=' for that). this bug by avoiding the `-o` option (or using `--no-o`) when sending to an old rsync. diff --git a/congestion.diff b/congestion.diff index 9a2bbb3..f5f3b58 100644 --- a/congestion.diff +++ b/congestion.diff @@ -27,7 +27,7 @@ To use this patch, run these commands for a successful build: ./configure (optional if already run) make -based-on: c3b553a93f7090bcbb89c08405f1a5f1c175c864 +based-on: cc832943160fb2cbaeaf45942b724828399edd37 diff --git a/daemon-parm.txt b/daemon-parm.txt --- a/daemon-parm.txt +++ b/daemon-parm.txt @@ -71,7 +71,7 @@ diff --git a/options.c b/options.c diff --git a/rsync.1.md b/rsync.1.md --- a/rsync.1.md +++ b/rsync.1.md -@@ -443,6 +443,8 @@ has its own detailed description later in this man page. +@@ -449,6 +449,8 @@ has its own detailed description later in this man page. --address=ADDRESS bind address for outgoing socket to daemon --port=PORT specify double-colon alternate port number --sockopts=OPTIONS specify custom TCP options diff --git a/copy-devices.diff b/copy-devices.diff index 256c9d8..797d046 100644 --- a/copy-devices.diff +++ b/copy-devices.diff @@ -8,7 +8,7 @@ To use this patch, run these commands for a successful build: ./configure (optional if already run) make -based-on: c3b553a93f7090bcbb89c08405f1a5f1c175c864 +based-on: cc832943160fb2cbaeaf45942b724828399edd37 diff --git a/generator.c b/generator.c --- a/generator.c +++ b/generator.c @@ -74,7 +74,7 @@ diff --git a/options.c b/options.c parse_one_refuse_match(0, "write-devices", list_end); } -@@ -2909,6 +2913,9 @@ void server_options(char **args, int *argc_p) +@@ -2917,6 +2921,9 @@ void server_options(char **args, int *argc_p) else if (remove_source_files) args[ac++] = "--remove-sent-files"; @@ -87,7 +87,7 @@ diff --git a/options.c b/options.c diff --git a/rsync.1.md b/rsync.1.md --- a/rsync.1.md +++ b/rsync.1.md -@@ -367,6 +367,7 @@ has its own detailed description later in this man page. +@@ -373,6 +373,7 @@ has its own detailed description later in this man page. --owner, -o preserve owner (super-user only) --group, -g preserve group --devices preserve device files (super-user only) @@ -119,7 +119,7 @@ diff --git a/rsync.c b/rsync.c diff --git a/rsyncd.conf.5.md b/rsyncd.conf.5.md --- a/rsyncd.conf.5.md +++ b/rsyncd.conf.5.md -@@ -934,9 +934,10 @@ the values of parameters. See the GLOBAL PARAMETERS section for more details. +@@ -933,9 +933,10 @@ the values of parameters. See the GLOBAL PARAMETERS section for more details. If you are un-refusing the compress option, you may want to match "`!compress*`" if you also want to allow the `--compress-level` option. diff --git a/date-only.diff b/date-only.diff index 87c6634..fe7befc 100644 --- a/date-only.diff +++ b/date-only.diff @@ -14,7 +14,7 @@ To use this patch, run these commands for a successful build: ./configure (optional if already run) make -based-on: c3b553a93f7090bcbb89c08405f1a5f1c175c864 +based-on: cc832943160fb2cbaeaf45942b724828399edd37 diff --git a/generator.c b/generator.c --- a/generator.c +++ b/generator.c @@ -55,7 +55,7 @@ diff --git a/options.c b/options.c {"one-file-system", 'x', POPT_ARG_NONE, 0, 'x', 0, 0 }, {"no-one-file-system",0, POPT_ARG_VAL, &one_file_system, 0, 0, 0 }, {"no-x", 0, POPT_ARG_VAL, &one_file_system, 0, 0, 0 }, -@@ -2795,6 +2797,9 @@ void server_options(char **args, int *argc_p) +@@ -2803,6 +2805,9 @@ void server_options(char **args, int *argc_p) else if (missing_args == 1 && !am_sender) args[ac++] = "--ignore-missing-args"; @@ -68,7 +68,7 @@ diff --git a/options.c b/options.c diff --git a/rsync.1.md b/rsync.1.md --- a/rsync.1.md +++ b/rsync.1.md -@@ -417,6 +417,7 @@ has its own detailed description later in this man page. +@@ -423,6 +423,7 @@ has its own detailed description later in this man page. --contimeout=SECONDS set daemon connection timeout in seconds --ignore-times, -I don't skip files that match size and time --size-only skip files that match in size @@ -76,7 +76,7 @@ diff --git a/rsync.1.md b/rsync.1.md --modify-window=NUM, -@ set the accuracy for mod-time comparisons --temp-dir=DIR, -T create temporary files in directory DIR --fuzzy, -y find similar file for basis if no dest file -@@ -677,6 +678,14 @@ your home directory (remove the '=' for that). +@@ -683,6 +684,14 @@ your home directory (remove the '=' for that). after using another mirroring system which may not preserve timestamps exactly. diff --git a/db.diff b/db.diff index f3c5177..fed91bf 100644 --- a/db.diff +++ b/db.diff @@ -21,7 +21,7 @@ To use this patch, run these commands for a successful build: ./configure make -based-on: 00a5ab236479ab1a2d2b0916c04bc916cfd47d0e +based-on: cc832943160fb2cbaeaf45942b724828399edd37 diff --git a/.gitignore b/.gitignore --- a/.gitignore +++ b/.gitignore @@ -48,8 +48,8 @@ diff --git a/Makefile.in b/Makefile.in GENFILES=configure.sh aclocal.m4 config.h.in rsync.1 rsync.1.html \ rsync-ssl.1 rsync-ssl.1.html rsyncd.conf.5 rsyncd.conf.5.html \ -- rrsync.1 rrsync.1.html -+ rrsync.1 rrsync.1.html rsyncdb.1 rsyncdb.1.html +- @GEN_RRSYNC@ ++ rsyncdb.1 rsyncdb.1.html @GEN_RRSYNC@ HEADERS=byteorder.h config.h errcode.h proto.h rsync.h ifuncs.h itypes.h inums.h \ lib/pool_alloc.h lib/mdigest.h lib/md-defines.h LIBOBJ=lib/wildmatch.o lib/compat.o lib/snprintf.o lib/mdfour.o lib/md5.o \ @@ -230,7 +230,7 @@ diff --git a/configure.ac b/configure.ac netdb.h malloc.h float.h limits.h iconv.h libcharset.h langinfo.h mcheck.h \ sys/acl.h acl/libacl.h attr/xattr.h sys/xattr.h sys/extattr.h dl.h \ popt.h popt/popt.h linux/falloc.h netinet/in_systm.h netgroup.h \ -@@ -1406,6 +1407,48 @@ if test x"$enable_acl_support" = x"no" || test x"$enable_xattr_support" = x"no" +@@ -1408,6 +1409,48 @@ if test x"$enable_acl_support" = x"no" || test x"$enable_xattr_support" = x"no" fi fi @@ -2430,7 +2430,7 @@ diff --git a/main.c b/main.c extern int inc_recurse; extern int blocking_io; extern int always_checksum; -@@ -57,6 +58,7 @@ extern int copy_unsafe_links; +@@ -58,6 +59,7 @@ extern int copy_unsafe_links; extern int keep_dirlinks; extern int preserve_hard_links; extern int protocol_version; @@ -2438,7 +2438,7 @@ diff --git a/main.c b/main.c extern int mkpath_dest_arg; extern int file_total; extern int recurse; -@@ -94,6 +96,7 @@ extern char *logfile_format; +@@ -95,6 +97,7 @@ extern char *logfile_format; extern char *filesfrom_host; extern char *partial_dir; extern char *rsync_path; @@ -2446,7 +2446,7 @@ diff --git a/main.c b/main.c extern char *shell_cmd; extern char *password_file; extern char *backup_dir; -@@ -1236,6 +1239,9 @@ void start_server(int f_in, int f_out, int argc, char *argv[]) +@@ -1237,6 +1240,9 @@ void start_server(int f_in, int f_out, int argc, char *argv[]) if (am_daemon && io_timeout && protocol_version >= 31) send_msg_int(MSG_IO_TIMEOUT, io_timeout); @@ -2456,7 +2456,7 @@ diff --git a/main.c b/main.c if (am_sender) { keep_dirlinks = 0; /* Must be disabled on the sender. */ if (need_messages_from_generator) -@@ -1526,6 +1532,9 @@ static int start_client(int argc, char *argv[]) +@@ -1531,6 +1537,9 @@ static int start_client(int argc, char *argv[]) else env_port = rsync_port; diff --git a/detect-renamed-lax.diff b/detect-renamed-lax.diff index 769de96..533a1bc 100644 --- a/detect-renamed-lax.diff +++ b/detect-renamed-lax.diff @@ -71,7 +71,7 @@ diff --git a/options.c b/options.c {"fuzzy", 'y', POPT_ARG_NONE, 0, 'y', 0, 0 }, {"no-fuzzy", 0, POPT_ARG_VAL, &fuzzy_basis, 0, 0, 0 }, {"no-y", 0, POPT_ARG_VAL, &fuzzy_basis, 0, 0, 0 }, -@@ -2781,8 +2783,14 @@ void server_options(char **args, int *argc_p) +@@ -2789,8 +2791,14 @@ void server_options(char **args, int *argc_p) args[ac++] = "--super"; if (size_only) args[ac++] = "--size-only"; @@ -91,7 +91,7 @@ diff --git a/options.c b/options.c diff --git a/rsync.1.md b/rsync.1.md --- a/rsync.1.md +++ b/rsync.1.md -@@ -421,6 +421,8 @@ has its own detailed description later in this man page. +@@ -427,6 +427,8 @@ has its own detailed description later in this man page. --temp-dir=DIR, -T create temporary files in directory DIR --fuzzy, -y find similar file for basis if no dest file --detect-renamed try to find renamed files to speed the xfer @@ -100,7 +100,7 @@ diff --git a/rsync.1.md b/rsync.1.md --compare-dest=DIR also compare destination files relative to DIR --copy-dest=DIR ... and include copies of unchanged files --link-dest=DIR hardlink to files in DIR when unchanged -@@ -2430,6 +2432,20 @@ your home directory (remove the '=' for that). +@@ -2455,6 +2457,20 @@ your home directory (remove the '=' for that). otential alternate-basis files will be removed as the transfer progresses. This option conflicts with [`--inplace`](#opt) and [`--append`](#opt). diff --git a/detect-renamed.diff b/detect-renamed.diff index 26ff584..2589314 100644 --- a/detect-renamed.diff +++ b/detect-renamed.diff @@ -38,7 +38,7 @@ TODO: a file that can't use it, while missing out on giving it to a file that could use it. -based-on: c3b553a93f7090bcbb89c08405f1a5f1c175c864 +based-on: cc832943160fb2cbaeaf45942b724828399edd37 diff --git a/backup.c b/backup.c --- a/backup.c +++ b/backup.c @@ -589,7 +589,7 @@ diff --git a/generator.c b/generator.c diff --git a/main.c b/main.c --- a/main.c +++ b/main.c -@@ -714,7 +714,7 @@ static char *get_local_name(struct file_list *flist, char *dest_path) +@@ -715,7 +715,7 @@ static char *get_local_name(struct file_list *flist, char *dest_path) if (mkpath_dest_arg && statret < 0 && (cp || file_total > 1)) { int save_errno = errno; @@ -617,7 +617,7 @@ diff --git a/options.c b/options.c {"fuzzy", 'y', POPT_ARG_NONE, 0, 'y', 0, 0 }, {"no-fuzzy", 0, POPT_ARG_VAL, &fuzzy_basis, 0, 0, 0 }, {"no-y", 0, POPT_ARG_VAL, &fuzzy_basis, 0, 0, 0 }, -@@ -2363,7 +2365,7 @@ int parse_arguments(int *argc_p, const char ***argv_p) +@@ -2371,7 +2373,7 @@ int parse_arguments(int *argc_p, const char ***argv_p) inplace = 1; } @@ -626,7 +626,7 @@ diff --git a/options.c b/options.c partial_dir = tmp_partialdir; if (inplace) { -@@ -2372,6 +2374,7 @@ int parse_arguments(int *argc_p, const char ***argv_p) +@@ -2380,6 +2382,7 @@ int parse_arguments(int *argc_p, const char ***argv_p) snprintf(err_buf, sizeof err_buf, "--%s cannot be used with --%s\n", append_mode ? "append" : "inplace", @@ -634,7 +634,7 @@ diff --git a/options.c b/options.c delay_updates ? "delay-updates" : "partial-dir"); return 0; } -@@ -2778,6 +2781,8 @@ void server_options(char **args, int *argc_p) +@@ -2786,6 +2789,8 @@ void server_options(char **args, int *argc_p) args[ac++] = "--super"; if (size_only) args[ac++] = "--size-only"; @@ -658,7 +658,7 @@ diff --git a/receiver.c b/receiver.c diff --git a/rsync.1.md b/rsync.1.md --- a/rsync.1.md +++ b/rsync.1.md -@@ -420,6 +420,7 @@ has its own detailed description later in this man page. +@@ -426,6 +426,7 @@ has its own detailed description later in this man page. --modify-window=NUM, -@ set the accuracy for mod-time comparisons --temp-dir=DIR, -T create temporary files in directory DIR --fuzzy, -y find similar file for basis if no dest file @@ -666,7 +666,7 @@ diff --git a/rsync.1.md b/rsync.1.md --compare-dest=DIR also compare destination files relative to DIR --copy-dest=DIR ... and include copies of unchanged files --link-dest=DIR hardlink to files in DIR when unchanged -@@ -2413,6 +2414,22 @@ your home directory (remove the '=' for that). +@@ -2438,6 +2439,22 @@ your home directory (remove the '=' for that). potential fuzzy-match files, so either use [`--delete-after`](#opt) or specify some filename exclusions if you need to prevent this. diff --git a/direct-io.diff b/direct-io.diff index 6602663..cab1cd7 100644 --- a/direct-io.diff +++ b/direct-io.diff @@ -10,7 +10,7 @@ To use this patch, run these commands for a successful build: ./configure (optional if already run) make -based-on: c3b553a93f7090bcbb89c08405f1a5f1c175c864 +based-on: cc832943160fb2cbaeaf45942b724828399edd37 diff --git a/options.c b/options.c --- a/options.c +++ b/options.c @@ -34,7 +34,7 @@ diff --git a/options.c b/options.c diff --git a/rsync.1.md b/rsync.1.md --- a/rsync.1.md +++ b/rsync.1.md -@@ -408,6 +408,7 @@ has its own detailed description later in this man page. +@@ -414,6 +414,7 @@ has its own detailed description later in this man page. --partial keep partially transferred files --partial-dir=DIR put a partially transferred file into DIR --delay-updates put all updated files into place at end @@ -42,7 +42,7 @@ diff --git a/rsync.1.md b/rsync.1.md --prune-empty-dirs, -m prune empty directory chains from file-list --numeric-ids don't map uid/gid values by user/group name --usermap=STRING custom username mapping -@@ -3207,6 +3208,17 @@ your home directory (remove the '=' for that). +@@ -3238,6 +3239,17 @@ your home directory (remove the '=' for that). update algorithm that is even more atomic (it uses [`--link-dest`](#opt) and a parallel hierarchy of files). @@ -95,7 +95,7 @@ diff --git a/syscall.c b/syscall.c return open(pathname, flags | O_BINARY, mode); } -@@ -681,6 +690,9 @@ int do_open_nofollow(const char *pathname, int flags) +@@ -684,6 +693,9 @@ int do_open_nofollow(const char *pathname, int flags) #endif } diff --git a/downdate.diff b/downdate.diff index 02e3d5e..f5bbd81 100644 --- a/downdate.diff +++ b/downdate.diff @@ -7,7 +7,7 @@ To use this patch, run these commands for a successful build: ./configure (optional if already run) make -based-on: c3b553a93f7090bcbb89c08405f1a5f1c175c864 +based-on: cc832943160fb2cbaeaf45942b724828399edd37 diff --git a/generator.c b/generator.c --- a/generator.c +++ b/generator.c @@ -70,7 +70,7 @@ diff --git a/options.c b/options.c diff --git a/rsync.1.md b/rsync.1.md --- a/rsync.1.md +++ b/rsync.1.md -@@ -345,6 +345,7 @@ has its own detailed description later in this man page. +@@ -351,6 +351,7 @@ has its own detailed description later in this man page. --backup-dir=DIR make backups into hierarchy based in DIR --suffix=SUFFIX backup suffix (default ~ w/o --backup-dir) --update, -u skip files that are newer on the receiver diff --git a/fileflags.diff b/fileflags.diff index 3d49833..fdede1b 100644 --- a/fileflags.diff +++ b/fileflags.diff @@ -7,7 +7,7 @@ To use this patch, run these commands for a successful build: ./configure (optional if already run) make -based-on: c3b553a93f7090bcbb89c08405f1a5f1c175c864 +based-on: cc832943160fb2cbaeaf45942b724828399edd37 diff --git a/compat.c b/compat.c --- a/compat.c +++ b/compat.c @@ -333,15 +333,15 @@ diff --git a/main.c b/main.c extern int dry_run; extern int list_only; -@@ -48,6 +51,7 @@ extern int called_from_signal_handler; - extern int need_messages_from_generator; +@@ -49,6 +52,7 @@ extern int need_messages_from_generator; extern int kluge_around_eof; extern int got_xfer_error; + extern int old_style_args; +extern int force_change; extern int msgs2stderr; extern int module_id; extern int read_only; -@@ -965,6 +969,22 @@ static int do_recv(int f_in, int f_out, char *local_name) +@@ -966,6 +970,22 @@ static int do_recv(int f_in, int f_out, char *local_name) * points to an identical file won't be replaced by the referent. */ copy_links = copy_dirlinks = copy_unsafe_links = 0; @@ -420,7 +420,7 @@ diff --git a/options.c b/options.c /* Now we use the descrip values to actually mark the options for refusal. */ for (op = long_options; op != list_end; op++) { -@@ -2677,6 +2695,9 @@ void server_options(char **args, int *argc_p) +@@ -2685,6 +2703,9 @@ void server_options(char **args, int *argc_p) if (xfer_dirs && !recurse && delete_mode && am_sender) args[ac++] = "--no-r"; @@ -430,7 +430,7 @@ diff --git a/options.c b/options.c if (do_compression && do_compression_level != CLVL_NOT_SPECIFIED) { if (asprintf(&arg, "--compress-level=%d", do_compression_level) < 0) goto oom; -@@ -2772,6 +2793,16 @@ void server_options(char **args, int *argc_p) +@@ -2780,6 +2801,16 @@ void server_options(char **args, int *argc_p) args[ac++] = "--delete-excluded"; if (force_delete) args[ac++] = "--force"; @@ -450,7 +450,7 @@ diff --git a/options.c b/options.c diff --git a/rsync.1.md b/rsync.1.md --- a/rsync.1.md +++ b/rsync.1.md -@@ -360,6 +360,7 @@ has its own detailed description later in this man page. +@@ -366,6 +366,7 @@ has its own detailed description later in this man page. --keep-dirlinks, -K treat symlinked dir on receiver as dir --hard-links, -H preserve hard links --perms, -p preserve permissions @@ -458,7 +458,7 @@ diff --git a/rsync.1.md b/rsync.1.md --executability, -E preserve executability --chmod=CHMOD affect file and/or directory permissions --acls, -A preserve ACLs (implies --perms) -@@ -400,7 +401,10 @@ has its own detailed description later in this man page. +@@ -406,7 +407,10 @@ has its own detailed description later in this man page. --ignore-missing-args ignore missing source args without error --delete-missing-args delete missing source args from destination --ignore-errors delete even if there are I/O errors @@ -470,15 +470,15 @@ diff --git a/rsync.1.md b/rsync.1.md --max-delete=NUM don't delete more than NUM files --max-size=SIZE don't transfer any file larger than SIZE --min-size=SIZE don't transfer any file smaller than SIZE -@@ -732,6 +736,7 @@ your home directory (remove the '=' for that). +@@ -738,6 +742,7 @@ your home directory (remove the '=' for that). recursion and want to preserve almost everything. Be aware that it does **not** include preserving ACLs (`-A`), xattrs (`-X`), atimes (`-U`), crtimes (`-N`), nor the finding and preserving of hardlinks (`-H`). + It also does **not** imply [`--fileflags`](#opt). The only exception to the above equivalence is when [`--files-from`](#opt) - is specified, in which case [`-r`](#opt--recursive) is not implied. -@@ -1188,7 +1193,7 @@ your home directory (remove the '=' for that). + is specified, in which case [`-r`](#opt) is not implied. +@@ -1198,7 +1203,7 @@ your home directory (remove the '=' for that). Without this option, if the sending side has replaced a directory with a symlink to a directory, the receiving side will delete anything that is in the way of the new symlink, including a directory hierarchy (as long as @@ -487,7 +487,7 @@ diff --git a/rsync.1.md b/rsync.1.md See also [`--keep-dirlinks`](#opt) for an analogous option for the receiving side. -@@ -1383,6 +1388,37 @@ your home directory (remove the '=' for that). +@@ -1393,6 +1398,37 @@ your home directory (remove the '=' for that). those used by [`--fake-super`](#opt)) unless you repeat the option (e.g. `-XX`). This "copy all xattrs" mode cannot be used with [`--fake-super`](#opt). @@ -525,7 +525,7 @@ diff --git a/rsync.1.md b/rsync.1.md 0. `--chmod=CHMOD` This option tells rsync to apply one or more comma-separated "chmod" modes -@@ -1869,8 +1905,8 @@ your home directory (remove the '=' for that). +@@ -1888,8 +1924,8 @@ your home directory (remove the '=' for that). [`--ignore-missing-args`](#opt) option a step farther: each missing arg will become a deletion request of the corresponding destination file on the receiving side (should it exist). If the destination file is a non-empty @@ -536,7 +536,7 @@ diff --git a/rsync.1.md b/rsync.1.md independent of any other type of delete processing. The missing source files are represented by special file-list entries which -@@ -1881,14 +1917,14 @@ your home directory (remove the '=' for that). +@@ -1900,14 +1936,14 @@ your home directory (remove the '=' for that). Tells [`--delete`](#opt) to go ahead and delete files even when there are I/O errors. @@ -554,7 +554,7 @@ diff --git a/rsync.1.md b/rsync.1.md [`--recursive`](#opt) option was also enabled. 0. `--max-delete=NUM` -@@ -2881,7 +2917,7 @@ your home directory (remove the '=' for that). +@@ -2904,7 +2940,7 @@ your home directory (remove the '=' for that). also turns on the output of other verbose messages). The "%i" escape has a cryptic output that is 11 letters long. The general @@ -869,7 +869,7 @@ diff --git a/syscall.c b/syscall.c { static int switch_step = 0; int code; -@@ -265,17 +318,72 @@ int do_chmod(const char *path, mode_t mode) +@@ -268,17 +321,72 @@ int do_chmod(const char *path, mode_t mode) code = chmod(path, mode & CHMOD_BITS); /* DISCOURAGED FUNCTION */ break; } diff --git a/filter-attribute-mods.diff b/filter-attribute-mods.diff index c04d33c..2ed37e8 100644 --- a/filter-attribute-mods.diff +++ b/filter-attribute-mods.diff @@ -9,7 +9,7 @@ To use this patch, run these commands for a successful build: ./configure (optional if already run) make -based-on: c3b553a93f7090bcbb89c08405f1a5f1c175c864 +based-on: cc832943160fb2cbaeaf45942b724828399edd37 diff --git a/exclude.c b/exclude.c --- a/exclude.c +++ b/exclude.c @@ -336,7 +336,7 @@ diff --git a/flist.c b/flist.c diff --git a/rsync.1.md b/rsync.1.md --- a/rsync.1.md +++ b/rsync.1.md -@@ -1406,7 +1406,9 @@ your home directory (remove the '=' for that). +@@ -1416,7 +1416,9 @@ your home directory (remove the '=' for that). > --chmod=D2775,F664 It is also legal to specify multiple `--chmod` options, as each additional @@ -347,7 +347,7 @@ diff --git a/rsync.1.md b/rsync.1.md See the [`--perms`](#opt) and [`--executability`](#opt) options for how the resulting permission value can be applied to the files in the transfer. -@@ -2813,6 +2815,10 @@ your home directory (remove the '=' for that). +@@ -2838,6 +2840,10 @@ your home directory (remove the '=' for that). avoid a complaint about wildcard characters, but a modern rsync handles this automatically. @@ -358,7 +358,7 @@ diff --git a/rsync.1.md b/rsync.1.md 0. `--timeout=SECONDS` This option allows you to set a maximum I/O timeout in seconds. If no data -@@ -3859,6 +3865,15 @@ The following modifiers are accepted after a "`+`" or "`-`": +@@ -3893,6 +3899,15 @@ The following modifiers are accepted after a "`+`" or "`-`": like "CVS" and "`*.o`" are marked as perishable, and will not prevent a directory that was removed on the source from being deleted on the destination. @@ -374,7 +374,7 @@ diff --git a/rsync.1.md b/rsync.1.md - An `x` indicates that a rule affects xattr names in xattr copy/delete operations (and is thus ignored when matching file/dir names). If no xattr-matching rules are specified, a default xattr filtering rule is used -@@ -3916,6 +3931,12 @@ The following modifiers are accepted after a merge or dir-merge rule: +@@ -3950,6 +3965,12 @@ The following modifiers are accepted after a merge or dir-merge rule: rules in the file must not specify sides (via a modifier or a rule prefix such as `hide`). diff --git a/hfs-compression.diff b/hfs-compression.diff index 398bf53..8351cde 100644 --- a/hfs-compression.diff +++ b/hfs-compression.diff @@ -155,7 +155,7 @@ diff --git a/main.c b/main.c extern int dry_run; extern int list_only; -@@ -60,6 +64,7 @@ extern int copy_dirlinks; +@@ -61,6 +65,7 @@ extern int copy_dirlinks; extern int copy_unsafe_links; extern int keep_dirlinks; extern int preserve_hard_links; @@ -163,7 +163,7 @@ diff --git a/main.c b/main.c extern int protocol_version; extern int mkpath_dest_arg; extern int file_total; -@@ -118,6 +123,7 @@ int daemon_connection = 0; /* 0 = no daemon, 1 = daemon via remote shell, -1 = d +@@ -119,6 +124,7 @@ int daemon_connection = 0; /* 0 = no daemon, 1 = daemon via remote shell, -1 = d mode_t orig_umask = 0; int batch_gen_fd = -1; int sender_keeps_checksum = 0; @@ -171,7 +171,7 @@ diff --git a/main.c b/main.c int raw_argc, cooked_argc; char **raw_argv, **cooked_argv; -@@ -663,6 +669,43 @@ static pid_t do_cmd(char *cmd, char *machine, char *user, char **remote_argv, in +@@ -664,6 +670,43 @@ static pid_t do_cmd(char *cmd, char *machine, char *user, char **remote_argv, in return pid; } @@ -215,7 +215,7 @@ diff --git a/main.c b/main.c /* The receiving side operates in one of two modes: * * 1. it receives any number of files into a destination directory, -@@ -743,6 +786,9 @@ static char *get_local_name(struct file_list *flist, char *dest_path) +@@ -744,6 +787,9 @@ static char *get_local_name(struct file_list *flist, char *dest_path) exit_cleanup(RERR_FILESELECT); } filesystem_dev = st.st_dev; /* ensures --force works right w/-x */ @@ -225,7 +225,7 @@ diff --git a/main.c b/main.c return NULL; } if (file_total > 1) { -@@ -800,7 +846,9 @@ static char *get_local_name(struct file_list *flist, char *dest_path) +@@ -801,7 +847,9 @@ static char *get_local_name(struct file_list *flist, char *dest_path) full_fname(dest_path)); exit_cleanup(RERR_FILESELECT); } @@ -236,7 +236,7 @@ diff --git a/main.c b/main.c return NULL; } -@@ -820,6 +868,9 @@ static char *get_local_name(struct file_list *flist, char *dest_path) +@@ -821,6 +869,9 @@ static char *get_local_name(struct file_list *flist, char *dest_path) full_fname(dest_path)); exit_cleanup(RERR_FILESELECT); } @@ -279,7 +279,7 @@ diff --git a/options.c b/options.c /* Now we use the descrip values to actually mark the options for refusal. */ for (op = long_options; op != list_end; op++) { -@@ -2099,6 +2108,15 @@ int parse_arguments(int *argc_p, const char ***argv_p) +@@ -2107,6 +2116,15 @@ int parse_arguments(int *argc_p, const char ***argv_p) } #endif @@ -295,7 +295,7 @@ diff --git a/options.c b/options.c if (write_batch && read_batch) { snprintf(err_buf, sizeof err_buf, "--write-batch and --read-batch can not be used together\n"); -@@ -2698,6 +2716,11 @@ void server_options(char **args, int *argc_p) +@@ -2706,6 +2724,11 @@ void server_options(char **args, int *argc_p) if (preserve_fileflags) args[ac++] = "--fileflags"; @@ -310,7 +310,7 @@ diff --git a/options.c b/options.c diff --git a/rsync.1.md b/rsync.1.md --- a/rsync.1.md +++ b/rsync.1.md -@@ -365,6 +365,8 @@ has its own detailed description later in this man page. +@@ -371,6 +371,8 @@ has its own detailed description later in this man page. --chmod=CHMOD affect file and/or directory permissions --acls, -A preserve ACLs (implies --perms) --xattrs, -X preserve extended attributes @@ -319,7 +319,7 @@ diff --git a/rsync.1.md b/rsync.1.md --owner, -o preserve owner (super-user only) --group, -g preserve group --devices preserve device files (super-user only) -@@ -1419,6 +1421,47 @@ your home directory (remove the '=' for that). +@@ -1429,6 +1431,47 @@ your home directory (remove the '=' for that). does not try to affect user flags. This option overrides [`--force-change`](#opt) and [`--force-uchange`](#opt). diff --git a/ignore-case.diff b/ignore-case.diff index c5641d1..dbb15f5 100644 --- a/ignore-case.diff +++ b/ignore-case.diff @@ -12,7 +12,7 @@ TODO: - Make this code handle multibyte character encodings, and honor the --iconv setting when converting case. -based-on: c3b553a93f7090bcbb89c08405f1a5f1c175c864 +based-on: cc832943160fb2cbaeaf45942b724828399edd37 diff --git a/exclude.c b/exclude.c --- a/exclude.c +++ b/exclude.c @@ -231,7 +231,7 @@ diff --git a/options.c b/options.c {"files-from", 0, POPT_ARG_STRING, &files_from, 0, 0, 0 }, {"from0", '0', POPT_ARG_VAL, &eol_nulls, 1, 0, 0}, {"no-from0", 0, POPT_ARG_VAL, &eol_nulls, 0, 0, 0}, -@@ -2808,6 +2811,9 @@ void server_options(char **args, int *argc_p) +@@ -2816,6 +2819,9 @@ void server_options(char **args, int *argc_p) args[ac++] = arg; } @@ -244,7 +244,7 @@ diff --git a/options.c b/options.c diff --git a/rsync.1.md b/rsync.1.md --- a/rsync.1.md +++ b/rsync.1.md -@@ -440,6 +440,7 @@ has its own detailed description later in this man page. +@@ -446,6 +446,7 @@ has its own detailed description later in this man page. --old-args disable the modern arg-protection idiom --protect-args, -s no space-splitting; wildcard chars only --copy-as=USER[:GROUP] specify user & optional group for the copy @@ -252,7 +252,7 @@ diff --git a/rsync.1.md b/rsync.1.md --address=ADDRESS bind address for outgoing socket to daemon --port=PORT specify double-colon alternate port number --sockopts=OPTIONS specify custom TCP options -@@ -2361,6 +2362,12 @@ your home directory (remove the '=' for that). +@@ -2386,6 +2387,12 @@ your home directory (remove the '=' for that). > sudo rsync -aive lsh -M--copy-as=joe src/ lh:dest/ diff --git a/kerberos.diff b/kerberos.diff index 35b7ae9..738015d 100644 --- a/kerberos.diff +++ b/kerberos.diff @@ -9,11 +9,11 @@ To use this patch, run these commands for a successful build: ./configure make -based-on: c3b553a93f7090bcbb89c08405f1a5f1c175c864 +based-on: cc832943160fb2cbaeaf45942b724828399edd37 diff --git a/Makefile.in b/Makefile.in --- a/Makefile.in +++ b/Makefile.in -@@ -45,7 +45,7 @@ OBJS1=flist.o rsync.o generator.o receiver.o cleanup.o sender.o exclude.o \ +@@ -46,7 +46,7 @@ OBJS1=flist.o rsync.o generator.o receiver.o cleanup.o sender.o exclude.o \ util1.o util2.o main.o checksum.o match.o syscall.o log.o backup.o delete.o OBJS2=options.o io.o compat.o hlink.o token.o uidlist.o socket.o hashtable.o \ usage.o fileio.o batch.o clientname.o chmod.o acls.o xattrs.o @@ -25,7 +25,7 @@ diff --git a/Makefile.in b/Makefile.in diff --git a/clientserver.c b/clientserver.c --- a/clientserver.c +++ b/clientserver.c -@@ -140,7 +140,7 @@ int start_socket_client(char *host, int remote_argc, char *remote_argv[], +@@ -141,7 +141,7 @@ int start_socket_client(char *host, int remote_argc, char *remote_argv[], setup_iconv(); #endif @@ -34,7 +34,7 @@ diff --git a/clientserver.c b/clientserver.c return ret ? ret : client_run(fd, fd, -1, argc, argv); } -@@ -217,7 +217,7 @@ static int exchange_protocols(int f_in, int f_out, char *buf, size_t bufsiz, int +@@ -218,7 +218,7 @@ static int exchange_protocols(int f_in, int f_out, char *buf, size_t bufsiz, int return 0; } @@ -43,7 +43,7 @@ diff --git a/clientserver.c b/clientserver.c { int i, modlen; char line[BIGPATHBUFLEN]; -@@ -328,6 +328,17 @@ int start_inband_exchange(int f_in, int f_out, const char *user, int argc, char +@@ -354,6 +354,17 @@ int start_inband_exchange(int f_in, int f_out, const char *user, int argc, char continue; } @@ -61,7 +61,7 @@ diff --git a/clientserver.c b/clientserver.c if (strcmp(line,"@RSYNCD: OK") == 0) break; -@@ -719,7 +730,12 @@ static int rsync_module(int f_in, int f_out, int i, const char *addr, const char +@@ -745,7 +756,12 @@ static int rsync_module(int f_in, int f_out, int i, const char *addr, const char } read_only = lp_read_only(i); /* may also be overridden by auth_server() */ @@ -78,7 +78,7 @@ diff --git a/clientserver.c b/clientserver.c diff --git a/configure.ac b/configure.ac --- a/configure.ac +++ b/configure.ac -@@ -940,6 +940,31 @@ if test x"$enable_iconv" != x"no"; then +@@ -941,6 +941,31 @@ if test x"$enable_iconv" != x"no"; then AC_DEFINE(UTF8_CHARSET, "UTF-8", [String to pass to iconv() for the UTF-8 charset.]) fi @@ -463,7 +463,7 @@ new file mode 100644 diff --git a/main.c b/main.c --- a/main.c +++ b/main.c -@@ -1569,7 +1569,7 @@ static int start_client(int argc, char *argv[]) +@@ -1574,7 +1574,7 @@ static int start_client(int argc, char *argv[]) * remote shell command, we need to do the RSYNCD protocol first */ if (daemon_connection) { int tmpret; diff --git a/link-by-hash.diff b/link-by-hash.diff index a7bb6a5..a7f6334 100644 --- a/link-by-hash.diff +++ b/link-by-hash.diff @@ -12,11 +12,11 @@ To use this patch, run these commands for a successful build: ./configure make -based-on: c3b553a93f7090bcbb89c08405f1a5f1c175c864 +based-on: cc832943160fb2cbaeaf45942b724828399edd37 diff --git a/Makefile.in b/Makefile.in --- a/Makefile.in +++ b/Makefile.in -@@ -45,7 +45,7 @@ OBJS1=flist.o rsync.o generator.o receiver.o cleanup.o sender.o exclude.o \ +@@ -46,7 +46,7 @@ OBJS1=flist.o rsync.o generator.o receiver.o cleanup.o sender.o exclude.o \ util1.o util2.o main.o checksum.o match.o syscall.o log.o backup.o delete.o OBJS2=options.o io.o compat.o hlink.o token.o uidlist.o socket.o hashtable.o \ usage.o fileio.o batch.o clientname.o chmod.o acls.o xattrs.o @@ -76,7 +76,7 @@ diff --git a/checksum.c b/checksum.c diff --git a/clientserver.c b/clientserver.c --- a/clientserver.c +++ b/clientserver.c -@@ -52,6 +52,7 @@ extern int logfile_format_has_i; +@@ -53,6 +53,7 @@ extern int logfile_format_has_i; extern int logfile_format_has_o_or_i; extern char *bind_address; extern char *config_file; @@ -84,7 +84,7 @@ diff --git a/clientserver.c b/clientserver.c extern char *logfile_format; extern char *files_from; extern char *tmpdir; -@@ -699,6 +700,9 @@ static int rsync_module(int f_in, int f_out, int i, const char *addr, const char +@@ -725,6 +726,9 @@ static int rsync_module(int f_in, int f_out, int i, const char *addr, const char return -1; } @@ -278,7 +278,7 @@ diff --git a/options.c b/options.c case OPT_STOP_AFTER: { long val; arg = poptGetOptArg(pc); -@@ -2215,6 +2235,8 @@ int parse_arguments(int *argc_p, const char ***argv_p) +@@ -2223,6 +2243,8 @@ int parse_arguments(int *argc_p, const char ***argv_p) tmpdir = sanitize_path(NULL, tmpdir, NULL, 0, SP_DEFAULT); if (backup_dir) backup_dir = sanitize_path(NULL, backup_dir, NULL, 0, SP_DEFAULT); @@ -287,7 +287,7 @@ diff --git a/options.c b/options.c } if (daemon_filter_list.head && !am_sender) { filter_rule_list *elp = &daemon_filter_list; -@@ -2884,6 +2906,12 @@ void server_options(char **args, int *argc_p) +@@ -2892,6 +2914,12 @@ void server_options(char **args, int *argc_p) args[ac++] = "--no-W"; } @@ -303,7 +303,7 @@ diff --git a/options.c b/options.c diff --git a/rsync.1.md b/rsync.1.md --- a/rsync.1.md +++ b/rsync.1.md -@@ -423,6 +423,7 @@ has its own detailed description later in this man page. +@@ -429,6 +429,7 @@ has its own detailed description later in this man page. --compare-dest=DIR also compare destination files relative to DIR --copy-dest=DIR ... and include copies of unchanged files --link-dest=DIR hardlink to files in DIR when unchanged @@ -311,7 +311,7 @@ diff --git a/rsync.1.md b/rsync.1.md --compress, -z compress file data during the transfer --compress-choice=STR choose the compression algorithm (aka --zc) --compress-level=NUM explicitly set compression level (aka --zl) -@@ -2498,6 +2499,50 @@ your home directory (remove the '=' for that). +@@ -2523,6 +2524,50 @@ your home directory (remove the '=' for that). this bug by avoiding the `-o` option (or using `--no-o`) when sending to an old rsync. @@ -400,7 +400,7 @@ diff --git a/rsync.h b/rsync.h diff --git a/rsyncd.conf.5.md b/rsyncd.conf.5.md --- a/rsyncd.conf.5.md +++ b/rsyncd.conf.5.md -@@ -357,6 +357,23 @@ the values of parameters. See the GLOBAL PARAMETERS section for more details. +@@ -356,6 +356,23 @@ the values of parameters. See the GLOBAL PARAMETERS section for more details. is 0, which means no limit. A negative value disables the module. See also the "[lock file](#)" parameter. diff --git a/md5p8.diff b/md5p8.diff index 4c7883b..3caec4b 100644 --- a/md5p8.diff +++ b/md5p8.diff @@ -27,11 +27,11 @@ xxHash is still preferred (and faster), but this provides a reasonably fast fallback for the case where xxHash libraries are not available at build time. -based-on: c3b553a93f7090bcbb89c08405f1a5f1c175c864 +based-on: cc832943160fb2cbaeaf45942b724828399edd37 diff --git a/Makefile.in b/Makefile.in --- a/Makefile.in +++ b/Makefile.in -@@ -30,14 +30,14 @@ SHELL=/bin/sh +@@ -30,7 +30,7 @@ SHELL=/bin/sh .SUFFIXES: .SUFFIXES: .c .o @@ -40,7 +40,8 @@ diff --git a/Makefile.in b/Makefile.in ASM_x86_64=lib/md5-asm-x86_64.o GENFILES=configure.sh aclocal.m4 config.h.in rsync.1 rsync.1.html \ - rsync-ssl.1 rsync-ssl.1.html rsyncd.conf.5 rsyncd.conf.5.html +@@ -38,7 +38,7 @@ GENFILES=configure.sh aclocal.m4 config.h.in rsync.1 rsync.1.html \ + @GEN_RRSYNC@ HEADERS=byteorder.h config.h errcode.h proto.h rsync.h ifuncs.h itypes.h inums.h \ lib/pool_alloc.h lib/mdigest.h lib/md-defines.h -LIBOBJ=lib/wildmatch.o lib/compat.o lib/snprintf.o lib/mdfour.o lib/md5.o \ @@ -48,7 +49,7 @@ diff --git a/Makefile.in b/Makefile.in lib/permstring.o lib/pool_alloc.o lib/sysacls.o lib/sysxattrs.o @LIBOBJS@ zlib_OBJS=zlib/deflate.o zlib/inffast.o zlib/inflate.o zlib/inftrees.o \ zlib/trees.o zlib/zutil.o zlib/adler32.o zlib/compress.o zlib/crc32.o -@@ -151,6 +151,9 @@ simd-checksum-x86_64.o: simd-checksum-x86_64.cpp +@@ -152,6 +152,9 @@ simd-checksum-x86_64.o: simd-checksum-x86_64.cpp simd-checksum-avx2.o: simd-checksum-avx2.S @$(srcdir)/cmd-or-msg disable-asm $(CC) $(CFLAGS) --include=$(srcdir)/rsync.h -DAVX2_ASM -I. @NOEXECSTACK@ -c -o $@ $(srcdir)/simd-checksum-avx2.S diff --git a/omit-dir-changes.diff b/omit-dir-changes.diff index f69f5f1..5059803 100644 --- a/omit-dir-changes.diff +++ b/omit-dir-changes.diff @@ -7,7 +7,7 @@ To use this patch, run these commands for a successful build: ./configure (optional if already run) make -based-on: c3b553a93f7090bcbb89c08405f1a5f1c175c864 +based-on: cc832943160fb2cbaeaf45942b724828399edd37 diff --git a/generator.c b/generator.c --- a/generator.c +++ b/generator.c @@ -67,7 +67,7 @@ diff --git a/options.c b/options.c {"modify-window", '@', POPT_ARG_INT, &modify_window, OPT_MODIFY_WINDOW, 0, 0 }, {"super", 0, POPT_ARG_VAL, &am_root, 2, 0, 0 }, {"no-super", 0, POPT_ARG_VAL, &am_root, 0, 0, 0 }, -@@ -2284,6 +2286,9 @@ int parse_arguments(int *argc_p, const char ***argv_p) +@@ -2292,6 +2294,9 @@ int parse_arguments(int *argc_p, const char ***argv_p) parse_filter_str(&filter_list, backup_dir_buf, rule_template(0), 0); } @@ -77,7 +77,7 @@ diff --git a/options.c b/options.c if (make_backups && !backup_dir) omit_dir_times = -1; /* Implied, so avoid -O to sender. */ -@@ -2780,6 +2785,8 @@ void server_options(char **args, int *argc_p) +@@ -2788,6 +2793,8 @@ void server_options(char **args, int *argc_p) args[ac++] = "--size-only"; if (do_stats) args[ac++] = "--stats"; @@ -89,7 +89,7 @@ diff --git a/options.c b/options.c diff --git a/rsync.1.md b/rsync.1.md --- a/rsync.1.md +++ b/rsync.1.md -@@ -375,6 +375,7 @@ has its own detailed description later in this man page. +@@ -381,6 +381,7 @@ has its own detailed description later in this man page. --crtimes, -N preserve create times (newness) --omit-dir-times, -O omit directories from --times --omit-link-times, -J omit symlinks from --times @@ -97,7 +97,7 @@ diff --git a/rsync.1.md b/rsync.1.md --super receiver attempts super-user activities --fake-super store/recover privileged attrs using xattrs --sparse, -S turn sequences of nulls into sparse blocks -@@ -1530,6 +1531,11 @@ your home directory (remove the '=' for that). +@@ -1540,6 +1541,11 @@ your home directory (remove the '=' for that). This tells rsync to omit symlinks when it is preserving modification, access, and create times. diff --git a/slow-down.diff b/slow-down.diff index a63361f..4169cb1 100644 --- a/slow-down.diff +++ b/slow-down.diff @@ -14,7 +14,7 @@ To use this patch, run these commands for a successful build: ./configure (optional if already run) make -based-on: c3b553a93f7090bcbb89c08405f1a5f1c175c864 +based-on: cc832943160fb2cbaeaf45942b724828399edd37 diff --git a/flist.c b/flist.c --- a/flist.c +++ b/flist.c @@ -58,7 +58,7 @@ diff --git a/options.c b/options.c diff --git a/rsync.1.md b/rsync.1.md --- a/rsync.1.md +++ b/rsync.1.md -@@ -459,6 +459,7 @@ has its own detailed description later in this man page. +@@ -465,6 +465,7 @@ has its own detailed description later in this man page. --early-input=FILE use FILE for daemon's early exec input --list-only list the files instead of copying them --bwlimit=RATE limit socket I/O bandwidth diff --git a/slp.diff b/slp.diff index 424fb34..04e3dbb 100644 --- a/slp.diff +++ b/slp.diff @@ -10,7 +10,7 @@ To use this patch, run these commands for a successful build: TODO: the configure changes should abort if the user requests --enable-slp and we can't honor that request. -based-on: c3b553a93f7090bcbb89c08405f1a5f1c175c864 +based-on: cc832943160fb2cbaeaf45942b724828399edd37 diff --git a/Makefile.in b/Makefile.in --- a/Makefile.in +++ b/Makefile.in @@ -23,7 +23,7 @@ diff --git a/Makefile.in b/Makefile.in LIBOBJDIR=lib/ INSTALLCMD=@INSTALL@ -@@ -46,7 +48,7 @@ OBJS1=flist.o rsync.o generator.o receiver.o cleanup.o sender.o exclude.o \ +@@ -47,7 +49,7 @@ OBJS1=flist.o rsync.o generator.o receiver.o cleanup.o sender.o exclude.o \ OBJS2=options.o io.o compat.o hlink.o token.o uidlist.o socket.o hashtable.o \ usage.o fileio.o batch.o clientname.o chmod.o acls.o xattrs.o OBJS3=progress.o pipe.o @ASM@ @SIMD@ @@ -32,7 +32,7 @@ diff --git a/Makefile.in b/Makefile.in popt_OBJS=popt/findme.o popt/popt.o popt/poptconfig.o \ popt/popthelp.o popt/poptparse.o OBJS=$(OBJS1) $(OBJS2) $(OBJS3) $(DAEMON_OBJ) $(LIBOBJ) @BUILD_ZLIB@ @BUILD_POPT@ -@@ -99,7 +101,7 @@ install-strip: +@@ -100,7 +102,7 @@ install-strip: $(MAKE) INSTALL_STRIP='-s' install rsync$(EXEEXT): $(OBJS) @@ -44,7 +44,7 @@ diff --git a/Makefile.in b/Makefile.in diff --git a/clientserver.c b/clientserver.c --- a/clientserver.c +++ b/clientserver.c -@@ -1490,6 +1490,13 @@ int daemon_main(void) +@@ -1516,6 +1516,13 @@ int daemon_main(void) * address too. In fact, why not just do getnameinfo on the * local address??? */ @@ -61,7 +61,7 @@ diff --git a/clientserver.c b/clientserver.c diff --git a/configure.ac b/configure.ac --- a/configure.ac +++ b/configure.ac -@@ -1008,6 +1008,29 @@ if test $rsync_cv_can_hardlink_special = yes; then +@@ -1009,6 +1009,29 @@ if test $rsync_cv_can_hardlink_special = yes; then AC_DEFINE(CAN_HARDLINK_SPECIAL, 1, [Define to 1 if link() can hard-link special files.]) fi @@ -108,7 +108,7 @@ diff --git a/daemon-parm.txt b/daemon-parm.txt diff --git a/main.c b/main.c --- a/main.c +++ b/main.c -@@ -1400,6 +1400,22 @@ static int start_client(int argc, char *argv[]) +@@ -1401,6 +1401,22 @@ static int start_client(int argc, char *argv[]) if (!read_batch) { /* for read_batch, NO source is specified */ char *path = check_for_hostspec(argv[0], &shell_machine, &rsync_port); @@ -178,7 +178,7 @@ new file mode 100644 diff --git a/rsyncd.conf.5.md b/rsyncd.conf.5.md --- a/rsyncd.conf.5.md +++ b/rsyncd.conf.5.md -@@ -139,6 +139,21 @@ a literal % into a value is to use %%. +@@ -138,6 +138,21 @@ a literal % into a value is to use %%. You can override the default backlog value when the daemon listens for connections. It defaults to 5. @@ -200,7 +200,7 @@ diff --git a/rsyncd.conf.5.md b/rsyncd.conf.5.md ## MODULE PARAMETERS After the global parameters you should define a number of modules, each module -@@ -1176,6 +1191,7 @@ A more sophisticated example would be: +@@ -1175,6 +1190,7 @@ A more sophisticated example would be: > max connections = 4 > syslog facility = local5 > pid file = /var/run/rsyncd.pid diff --git a/soften-links.diff b/soften-links.diff index a505181..04fb809 100644 --- a/soften-links.diff +++ b/soften-links.diff @@ -10,7 +10,7 @@ To use this patch, run these commands for a successful build: ./configure (optional if already run) make -based-on: c3b553a93f7090bcbb89c08405f1a5f1c175c864 +based-on: cc832943160fb2cbaeaf45942b724828399edd37 diff --git a/syscall.c b/syscall.c --- a/syscall.c +++ b/syscall.c diff --git a/source-backup.diff b/source-backup.diff index e91cbde..a0bc6fc 100644 --- a/source-backup.diff +++ b/source-backup.diff @@ -9,7 +9,7 @@ To use this patch, run these commands for a successful build: -- Matt McCutchen -based-on: c3b553a93f7090bcbb89c08405f1a5f1c175c864 +based-on: cc832943160fb2cbaeaf45942b724828399edd37 diff --git a/options.c b/options.c --- a/options.c +++ b/options.c @@ -29,7 +29,7 @@ diff --git a/options.c b/options.c {"no-backup", 0, POPT_ARG_VAL, &make_backups, 0, 0, 0 }, {"backup-dir", 0, POPT_ARG_STRING, &backup_dir, 0, 0, 0 }, {"suffix", 0, POPT_ARG_STRING, &backup_suffix, 0, 0, 0 }, -@@ -2783,6 +2785,8 @@ void server_options(char **args, int *argc_p) +@@ -2791,6 +2793,8 @@ void server_options(char **args, int *argc_p) } else { if (skip_compress) args[ac++] = safe_arg("--skip-compress", skip_compress); @@ -41,7 +41,7 @@ diff --git a/options.c b/options.c diff --git a/rsync.1.md b/rsync.1.md --- a/rsync.1.md +++ b/rsync.1.md -@@ -390,6 +390,7 @@ has its own detailed description later in this man page. +@@ -396,6 +396,7 @@ has its own detailed description later in this man page. --existing skip creating new files on receiver --ignore-existing skip updating files that exist on receiver --remove-source-files sender removes synchronized files (non-dir) @@ -49,7 +49,7 @@ diff --git a/rsync.1.md b/rsync.1.md --del an alias for --delete-during --delete delete extraneous files from dest dirs --delete-before receiver deletes before xfer, not during -@@ -1755,6 +1756,17 @@ your home directory (remove the '=' for that). +@@ -1774,6 +1775,17 @@ your home directory (remove the '=' for that). Starting with 3.1.0, rsync will skip the sender-side removal (and output an error) if the file's size or modify time has not stayed unchanged. diff --git a/source-filter_dest-filter.diff b/source-filter_dest-filter.diff index ad6330d..4cfe045 100644 --- a/source-filter_dest-filter.diff +++ b/source-filter_dest-filter.diff @@ -30,7 +30,7 @@ To use this patch, run these commands for a successful build: ./configure (optional if already run) make -based-on: c3b553a93f7090bcbb89c08405f1a5f1c175c864 +based-on: cc832943160fb2cbaeaf45942b724828399edd37 diff --git a/generator.c b/generator.c --- a/generator.c +++ b/generator.c @@ -54,7 +54,7 @@ diff --git a/generator.c b/generator.c diff --git a/main.c b/main.c --- a/main.c +++ b/main.c -@@ -188,7 +188,7 @@ int shell_exec(const char *cmd) +@@ -189,7 +189,7 @@ int shell_exec(const char *cmd) } /* Wait for a process to exit, calling io_flush while waiting. */ @@ -100,7 +100,7 @@ diff --git a/options.c b/options.c {"outbuf", 0, POPT_ARG_STRING, &outbuf_mode, 0, 0, 0 }, {"remote-option", 'M', POPT_ARG_STRING, 0, 'M', 0, 0 }, {"protocol", 0, POPT_ARG_INT, &protocol_version, 0, 0, 0 }, -@@ -2407,6 +2413,16 @@ int parse_arguments(int *argc_p, const char ***argv_p) +@@ -2415,6 +2421,16 @@ int parse_arguments(int *argc_p, const char ***argv_p) } } @@ -117,7 +117,7 @@ diff --git a/options.c b/options.c if (files_from) { char *h, *p; int q; -@@ -2795,6 +2811,25 @@ void server_options(char **args, int *argc_p) +@@ -2803,6 +2819,25 @@ void server_options(char **args, int *argc_p) else if (missing_args == 1 && !am_sender) args[ac++] = "--ignore-missing-args"; @@ -313,7 +313,7 @@ diff --git a/receiver.c b/receiver.c diff --git a/rsync.1.md b/rsync.1.md --- a/rsync.1.md +++ b/rsync.1.md -@@ -417,6 +417,7 @@ has its own detailed description later in this man page. +@@ -423,6 +423,7 @@ has its own detailed description later in this man page. --contimeout=SECONDS set daemon connection timeout in seconds --ignore-times, -I don't skip files that match size and time --size-only skip files that match in size @@ -321,7 +321,7 @@ diff --git a/rsync.1.md b/rsync.1.md --modify-window=NUM, -@ set the accuracy for mod-time comparisons --temp-dir=DIR, -T create temporary files in directory DIR --fuzzy, -y find similar file for basis if no dest file -@@ -465,6 +466,8 @@ has its own detailed description later in this man page. +@@ -471,6 +472,8 @@ has its own detailed description later in this man page. --write-batch=FILE write a batched update to FILE --only-write-batch=FILE like --write-batch but w/o updating dest --read-batch=FILE read a batched update from FILE @@ -330,7 +330,7 @@ diff --git a/rsync.1.md b/rsync.1.md --protocol=NUM force an older protocol version to be used --iconv=CONVERT_SPEC request charset conversion of filenames --checksum-seed=NUM set block/file checksum seed (advanced) -@@ -3482,6 +3485,36 @@ your home directory (remove the '=' for that). +@@ -3516,6 +3519,36 @@ your home directory (remove the '=' for that). [`--write-batch`](#opt). If _FILE_ is `-`, the batch data will be read from standard input. See the "BATCH MODE" section for details. diff --git a/sparse-block.diff b/sparse-block.diff index e7ecb70..8fce5aa 100644 --- a/sparse-block.diff +++ b/sparse-block.diff @@ -18,7 +18,7 @@ To use this patch, run these commands for a successful build: ./configure (optional if already run) make -based-on: c3b553a93f7090bcbb89c08405f1a5f1c175c864 +based-on: cc832943160fb2cbaeaf45942b724828399edd37 diff --git a/fileio.c b/fileio.c --- a/fileio.c +++ b/fileio.c @@ -58,7 +58,7 @@ diff --git a/options.c b/options.c {"preallocate", 0, POPT_ARG_NONE, &preallocate_files, 0, 0, 0}, {"inplace", 0, POPT_ARG_VAL, &inplace, 1, 0, 0 }, {"no-inplace", 0, POPT_ARG_VAL, &inplace, 0, 0, 0 }, -@@ -2715,6 +2717,12 @@ void server_options(char **args, int *argc_p) +@@ -2723,6 +2725,12 @@ void server_options(char **args, int *argc_p) args[ac++] = arg; } @@ -74,7 +74,7 @@ diff --git a/options.c b/options.c diff --git a/rsync.1.md b/rsync.1.md --- a/rsync.1.md +++ b/rsync.1.md -@@ -378,6 +378,7 @@ has its own detailed description later in this man page. +@@ -384,6 +384,7 @@ has its own detailed description later in this man page. --super receiver attempts super-user activities --fake-super store/recover privileged attrs using xattrs --sparse, -S turn sequences of nulls into sparse blocks @@ -82,7 +82,7 @@ diff --git a/rsync.1.md b/rsync.1.md --preallocate allocate dest files before writing them --write-devices write to devices as files (implies --inplace) --dry-run, -n perform a trial run with no changes made -@@ -1604,6 +1605,18 @@ your home directory (remove the '=' for that). +@@ -1614,6 +1615,18 @@ your home directory (remove the '=' for that). (as opposed to allocated sequences of null bytes) if the kernel version and filesystem type support creating holes in the allocated data. diff --git a/transliterate.diff b/transliterate.diff index c261bc9..a5196e9 100644 --- a/transliterate.diff +++ b/transliterate.diff @@ -10,7 +10,7 @@ To use this patch, run these commands for a successful build: ./configure (optional if already run) make -based-on: c3b553a93f7090bcbb89c08405f1a5f1c175c864 +based-on: cc832943160fb2cbaeaf45942b724828399edd37 diff --git a/flist.c b/flist.c --- a/flist.c +++ b/flist.c @@ -104,7 +104,7 @@ diff --git a/options.c b/options.c {"ipv4", '4', POPT_ARG_VAL, &default_af_hint, AF_INET, 0, 0 }, {"ipv6", '6', POPT_ARG_VAL, &default_af_hint, AF_INET6, 0, 0 }, {"8-bit-output", '8', POPT_ARG_VAL, &allow_8bit_chars, 1, 0, 0 }, -@@ -2453,6 +2455,24 @@ int parse_arguments(int *argc_p, const char ***argv_p) +@@ -2461,6 +2463,24 @@ int parse_arguments(int *argc_p, const char ***argv_p) } } @@ -129,7 +129,7 @@ diff --git a/options.c b/options.c am_starting_up = 0; return 1; -@@ -2901,6 +2921,12 @@ void server_options(char **args, int *argc_p) +@@ -2909,6 +2929,12 @@ void server_options(char **args, int *argc_p) if (relative_paths && !implied_dirs && (!am_sender || protocol_version >= 30)) args[ac++] = "--no-implied-dirs"; @@ -145,7 +145,7 @@ diff --git a/options.c b/options.c diff --git a/rsync.1.md b/rsync.1.md --- a/rsync.1.md +++ b/rsync.1.md -@@ -467,6 +467,7 @@ has its own detailed description later in this man page. +@@ -473,6 +473,7 @@ has its own detailed description later in this man page. --read-batch=FILE read a batched update from FILE --protocol=NUM force an older protocol version to be used --iconv=CONVERT_SPEC request charset conversion of filenames @@ -153,7 +153,7 @@ diff --git a/rsync.1.md b/rsync.1.md --checksum-seed=NUM set block/file checksum seed (advanced) --ipv4, -4 prefer IPv4 --ipv6, -6 prefer IPv6 -@@ -3524,6 +3525,25 @@ your home directory (remove the '=' for that). +@@ -3558,6 +3559,25 @@ your home directory (remove the '=' for that). free to specify just the local charset for a daemon transfer (e.g. `--iconv=utf8`). diff --git a/xxh3-safety-check.diff b/xxh3-safety-check.diff index 23a1ba7..c86d5c3 100644 --- a/xxh3-safety-check.diff +++ b/xxh3-safety-check.diff @@ -6,7 +6,7 @@ To use this patch, run these commands for a successful build: patch -p1