From: Wayne Davison Date: Fri, 21 Oct 2022 00:58:38 +0000 (-0700) Subject: The patches for 3.2.7. X-Git-Tag: v3.2.7^0 X-Git-Url: http://git.samba.org/samba.git/?a=commitdiff_plain;h=6005589f1e8fa9a5cab126432495b264eab2bb59;p=rsync-patches.git The patches for 3.2.7. --- diff --git a/backup-deleted.diff b/backup-deleted.diff index 8ce6229..407a811 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: ed4b3448be243b1bdb30a5da811f1e217f5a0601 +based-on: 6b5ae825db985e9d1c98576651b50c8e490ddb97 diff --git a/generator.c b/generator.c --- a/generator.c +++ b/generator.c @@ -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 -@@ -392,6 +392,7 @@ has its own detailed description later in this manpage. +@@ -428,6 +428,7 @@ has its own detailed description later in this manpage. --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,7 +94,7 @@ 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 -@@ -970,6 +971,13 @@ expand it. +@@ -1006,6 +1007,13 @@ expand it. rules specify a trailing inclusion/exclusion of `*`, the auto-added rule would never be reached). diff --git a/backup-dir-dels.diff b/backup-dir-dels.diff index 0cc987f..807bb9e 100644 --- a/backup-dir-dels.diff +++ b/backup-dir-dels.diff @@ -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 -@@ -394,7 +394,9 @@ has its own detailed description later in this manpage. +@@ -430,7 +430,9 @@ has its own detailed description later in this manpage. --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 -@@ -992,6 +994,11 @@ expand it. +@@ -1028,6 +1030,11 @@ expand it. 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 ddb0ef5..a9e19d9 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: ed4b3448be243b1bdb30a5da811f1e217f5a0601 +based-on: 6b5ae825db985e9d1c98576651b50c8e490ddb97 diff --git a/errcode.h b/errcode.h --- a/errcode.h +++ b/errcode.h @@ -65,7 +65,7 @@ diff --git a/main.c b/main.c } void write_del_stats(int f) -@@ -1635,6 +1638,14 @@ void remember_children(UNUSED(int val)) +@@ -1646,6 +1649,14 @@ void remember_children(UNUSED(int val)) break; } } @@ -80,7 +80,7 @@ diff --git a/main.c b/main.c } #endif #ifndef HAVE_SIGACTION -@@ -1688,6 +1699,13 @@ static void rsync_panic_handler(UNUSED(int whatsig)) +@@ -1699,6 +1710,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 -@@ -1704,7 +1722,6 @@ static void unset_env_var(const char *var) +@@ -1715,7 +1733,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; -@@ -1728,6 +1745,11 @@ int main(int argc,char *argv[]) +@@ -1739,6 +1756,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 1249431..5127bf3 100644 --- a/checksum-reading.diff +++ b/checksum-reading.diff @@ -10,17 +10,13 @@ pre-compute their .rsyncsums files, set the "checksum files = strict" option in their daemon config file, and thus make it quite efficient for a client rsync to make use of the --checksum option on their server. -Note that the sums cached are just MD4 & MD5, so a mirror using this would -also want to export RSYNC_CHECKSUM_LIST="md5 md4" to limit the checksum -values that the negotiation code can match. - To use this patch, run these commands for a successful build: patch -p1 basename[0] #define F_IS_HLINKED(f) ((f)->flags & FLAG_HLINKED) -@@ -1117,6 +1121,13 @@ typedef struct { +@@ -1111,6 +1115,13 @@ typedef struct { #define RELNAMECACHE_LEN (offsetof(relnamecache, fname)) #endif diff --git a/checksum-updating.diff b/checksum-updating.diff index 63c86eb..f89acd2 100644 --- a/checksum-updating.diff +++ b/checksum-updating.diff @@ -598,7 +598,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 -@@ -803,9 +803,13 @@ expand it. +@@ -839,9 +839,13 @@ expand it. The MODE value is either "lax", for relaxed checking (which compares size and mtime), "strict" (which also compares ctime and inode), or "none" to @@ -618,7 +618,7 @@ diff --git a/rsync.1.md b/rsync.1.md diff --git a/rsync.h b/rsync.h --- a/rsync.h +++ b/rsync.h -@@ -1123,6 +1123,8 @@ typedef struct { +@@ -1117,6 +1117,8 @@ typedef struct { #define CSF_ENABLE (1<<1) #define CSF_LAX (1<<2) diff --git a/clone-dest.diff b/clone-dest.diff index 0918a1f..5fbaee6 100644 --- a/clone-dest.diff +++ b/clone-dest.diff @@ -13,7 +13,7 @@ To use this patch, run these commands for a successful build: ./configure (optional if already run) make -based-on: ed4b3448be243b1bdb30a5da811f1e217f5a0601 +based-on: 6b5ae825db985e9d1c98576651b50c8e490ddb97 diff --git a/Makefile.in b/Makefile.in --- a/Makefile.in +++ b/Makefile.in @@ -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) \ -@@ -168,7 +168,7 @@ getgroups$(EXEEXT): getgroups.o +@@ -170,7 +170,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 -@@ -474,6 +474,7 @@ has its own detailed description later in this manpage. +@@ -510,6 +510,7 @@ has its own detailed description later in this manpage. --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) -@@ -2665,6 +2666,18 @@ expand it. +@@ -2717,6 +2718,18 @@ expand it. 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 198c8de..42cbe4d 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: ed4b3448be243b1bdb30a5da811f1e217f5a0601 +based-on: 6b5ae825db985e9d1c98576651b50c8e490ddb97 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 -@@ -495,6 +495,8 @@ has its own detailed description later in this manpage. +@@ -531,6 +531,8 @@ has its own detailed description later in this manpage. --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/date-only.diff b/date-only.diff index f352d3a..3f1ab76 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: ed4b3448be243b1bdb30a5da811f1e217f5a0601 +based-on: 6b5ae825db985e9d1c98576651b50c8e490ddb97 diff --git a/generator.c b/generator.c --- a/generator.c +++ b/generator.c @@ -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 -@@ -468,6 +468,7 @@ has its own detailed description later in this manpage. +@@ -504,6 +504,7 @@ has its own detailed description later in this manpage. --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 -@@ -740,6 +741,14 @@ expand it. +@@ -776,6 +777,14 @@ expand it. after using another mirroring system which may not preserve timestamps exactly. diff --git a/detect-renamed-lax.diff b/detect-renamed-lax.diff index 127114d..f034f59 100644 --- a/detect-renamed-lax.diff +++ b/detect-renamed-lax.diff @@ -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 -@@ -472,6 +472,8 @@ has its own detailed description later in this manpage. +@@ -508,6 +508,8 @@ has its own detailed description later in this manpage. --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 -@@ -2597,6 +2599,20 @@ expand it. +@@ -2649,6 +2651,20 @@ expand it. 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 71b1e9d..0289076 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: ed4b3448be243b1bdb30a5da811f1e217f5a0601 +based-on: 6b5ae825db985e9d1c98576651b50c8e490ddb97 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 -@@ -715,7 +715,7 @@ static char *get_local_name(struct file_list *flist, char *dest_path) +@@ -724,7 +724,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; @@ -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 -@@ -471,6 +471,7 @@ has its own detailed description later in this manpage. +@@ -507,6 +507,7 @@ has its own detailed description later in this manpage. --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 -@@ -2580,6 +2581,22 @@ expand it. +@@ -2632,6 +2633,22 @@ expand it. 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 2f663dc..505aff2 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: ed4b3448be243b1bdb30a5da811f1e217f5a0601 +based-on: 6b5ae825db985e9d1c98576651b50c8e490ddb97 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 -@@ -459,6 +459,7 @@ has its own detailed description later in this manpage. +@@ -495,6 +495,7 @@ has its own detailed description later in this manpage. --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 -@@ -3378,6 +3379,17 @@ expand it. +@@ -3430,6 +3431,17 @@ expand it. update algorithm that is even more atomic (it uses [`--link-dest`](#opt) and a parallel hierarchy of files). diff --git a/downdate.diff b/downdate.diff index 9364003..fcc3b04 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: ed4b3448be243b1bdb30a5da811f1e217f5a0601 +based-on: 6b5ae825db985e9d1c98576651b50c8e490ddb97 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 -@@ -395,6 +395,7 @@ has its own detailed description later in this manpage. +@@ -431,6 +431,7 @@ has its own detailed description later in this manpage. --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 c70c08a..c24baf6 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: ed4b3448be243b1bdb30a5da811f1e217f5a0601 +based-on: 6b5ae825db985e9d1c98576651b50c8e490ddb97 diff --git a/compat.c b/compat.c --- a/compat.c +++ b/compat.c @@ -341,7 +341,7 @@ diff --git a/main.c b/main.c extern int msgs2stderr; extern int module_id; extern int read_only; -@@ -966,6 +970,22 @@ static int do_recv(int f_in, int f_out, char *local_name) +@@ -975,6 +979,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; @@ -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 -@@ -410,6 +410,7 @@ has its own detailed description later in this manpage. +@@ -446,6 +446,7 @@ has its own detailed description later in this manpage. --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) -@@ -451,7 +452,10 @@ has its own detailed description later in this manpage. +@@ -487,7 +488,10 @@ has its own detailed description later in this manpage. --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,7 +470,7 @@ 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 -@@ -795,6 +799,7 @@ expand it. +@@ -831,6 +835,7 @@ expand it. 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`). @@ -478,7 +478,7 @@ diff --git a/rsync.1.md b/rsync.1.md The only exception to the above equivalence is when [`--files-from`](#opt) is specified, in which case [`-r`](#opt) is not implied. -@@ -1254,7 +1259,7 @@ expand it. +@@ -1295,7 +1300,7 @@ expand it. 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. -@@ -1449,6 +1454,37 @@ expand it. +@@ -1490,6 +1495,37 @@ expand it. 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 -@@ -1967,8 +2003,8 @@ expand it. +@@ -2017,8 +2053,8 @@ expand it. [`--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 -@@ -1979,14 +2015,14 @@ expand it. +@@ -2029,14 +2065,14 @@ expand it. 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` -@@ -3044,7 +3080,7 @@ expand it. +@@ -3096,7 +3132,7 @@ expand it. also turns on the output of other verbose messages). The "%i" escape has a cryptic output that is 11 letters long. The general @@ -701,7 +701,7 @@ diff --git a/rsync.h b/rsync.h #define ITEM_REPORT_CRTIME (1<<10) #define ITEM_BASIS_TYPE_FOLLOWS (1<<11) #define ITEM_XNAME_FOLLOWS (1<<12) -@@ -593,6 +595,31 @@ typedef unsigned int size_t; +@@ -587,6 +589,31 @@ typedef unsigned int size_t; #define SUPPORT_CRTIMES 1 #endif @@ -733,7 +733,7 @@ diff --git a/rsync.h b/rsync.h /* Find a variable that is either exactly 32-bits or longer. * If some code depends on 32-bit truncation, it will need to * take special action in a "#if SIZEOF_INT32 > 4" section. */ -@@ -824,6 +851,7 @@ extern int pathname_ndx; +@@ -818,6 +845,7 @@ extern int pathname_ndx; extern int depth_ndx; extern int uid_ndx; extern int gid_ndx; @@ -741,7 +741,7 @@ diff --git a/rsync.h b/rsync.h extern int acls_ndx; extern int xattrs_ndx; extern int file_sum_extra_cnt; -@@ -879,6 +907,11 @@ extern int file_sum_extra_cnt; +@@ -873,6 +901,11 @@ extern int file_sum_extra_cnt; /* When the associated option is on, all entries will have these present: */ #define F_OWNER(f) REQ_EXTRA(f, uid_ndx)->unum #define F_GROUP(f) REQ_EXTRA(f, gid_ndx)->unum diff --git a/filter-attribute-mods.diff b/filter-attribute-mods.diff index 96b31a1..d50ee29 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: ed4b3448be243b1bdb30a5da811f1e217f5a0601 +based-on: 6b5ae825db985e9d1c98576651b50c8e490ddb97 diff --git a/exclude.c b/exclude.c --- a/exclude.c +++ b/exclude.c @@ -338,7 +338,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 -@@ -1472,7 +1472,9 @@ expand it. +@@ -1513,7 +1513,9 @@ expand it. > --chmod=D2775,F664 It is also legal to specify multiple `--chmod` options, as each additional @@ -349,7 +349,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. -@@ -2978,6 +2980,10 @@ expand it. +@@ -3030,6 +3032,10 @@ expand it. An older rsync client may need to use [`-s`](#opt) to avoid a complaint about wildcard characters, but a modern rsync handles this automatically. @@ -360,7 +360,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 -@@ -4128,6 +4134,15 @@ The following modifiers are accepted after an include (+) or exclude (-) rule: +@@ -4184,6 +4190,15 @@ The following modifiers are accepted after an include (+) or exclude (-) rule: 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. @@ -376,7 +376,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 -@@ -4185,6 +4200,12 @@ The following modifiers are accepted after a merge or dir-merge rule: +@@ -4241,6 +4256,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`). @@ -402,7 +402,7 @@ diff --git a/rsync.h b/rsync.h #define XFLG_FATAL_ERRORS (1<<0) #define XFLG_OLD_PREFIXES (1<<1) -@@ -988,6 +991,8 @@ struct map_struct { +@@ -982,6 +985,8 @@ struct map_struct { int status; /* first errno from read errors */ }; @@ -411,7 +411,7 @@ diff --git a/rsync.h b/rsync.h #define NAME_IS_FILE (0) /* filter name as a file */ #define NAME_IS_DIR (1<<0) /* filter name as a dir */ #define NAME_IS_XATTR (1<<2) /* filter name as an xattr */ -@@ -1013,8 +1018,18 @@ struct map_struct { +@@ -1007,8 +1012,18 @@ struct map_struct { #define FILTRULE_CLEAR_LIST (1<<18)/* this item is the "!" token */ #define FILTRULE_PERISHABLE (1<<19)/* perishable if parent dir goes away */ #define FILTRULE_XATTR (1<<20)/* rule only applies to xattr names */ @@ -430,7 +430,7 @@ diff --git a/rsync.h b/rsync.h typedef struct filter_struct { struct filter_struct *next; -@@ -1024,6 +1039,11 @@ typedef struct filter_struct { +@@ -1018,6 +1033,11 @@ typedef struct filter_struct { int slash_cnt; struct filter_list_struct *mergelist; } u; diff --git a/ignore-case.diff b/ignore-case.diff index 9cc7644..5448d17 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: ed4b3448be243b1bdb30a5da811f1e217f5a0601 +based-on: 6b5ae825db985e9d1c98576651b50c8e490ddb97 diff --git a/exclude.c b/exclude.c --- a/exclude.c +++ b/exclude.c @@ -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 -@@ -492,6 +492,7 @@ has its own detailed description later in this manpage. +@@ -528,6 +528,7 @@ has its own detailed description later in this manpage. --secluded-args, -s use the protocol to safely send the args --trust-sender trust the remote sender's file list --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 -@@ -2528,6 +2529,12 @@ expand it. +@@ -2580,6 +2581,12 @@ expand it. > sudo rsync -aive lsh -M--copy-as=joe src/ lh:dest/ diff --git a/kerberos.diff b/kerberos.diff index 578a2ce..f47117f 100644 --- a/kerberos.diff +++ b/kerberos.diff @@ -9,7 +9,7 @@ To use this patch, run these commands for a successful build: ./configure make -based-on: ed4b3448be243b1bdb30a5da811f1e217f5a0601 +based-on: 6b5ae825db985e9d1c98576651b50c8e490ddb97 diff --git a/Makefile.in b/Makefile.in --- a/Makefile.in +++ b/Makefile.in @@ -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 -@@ -981,6 +981,31 @@ if test x"$enable_iconv" != x"no"; then +@@ -979,6 +979,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 -@@ -1578,7 +1578,7 @@ static int start_client(int argc, char *argv[]) +@@ -1589,7 +1589,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; @@ -475,7 +475,7 @@ diff --git a/main.c b/main.c diff --git a/rsync.h b/rsync.h --- a/rsync.h +++ b/rsync.h -@@ -535,6 +535,15 @@ enum delret { +@@ -529,6 +529,15 @@ enum delret { #define iconv_t int #endif diff --git a/link-by-hash.diff b/link-by-hash.diff index 89f8d40..0b37ffc 100644 --- a/link-by-hash.diff +++ b/link-by-hash.diff @@ -12,7 +12,7 @@ To use this patch, run these commands for a successful build: ./configure make -based-on: ed4b3448be243b1bdb30a5da811f1e217f5a0601 +based-on: 6b5ae825db985e9d1c98576651b50c8e490ddb97 diff --git a/Makefile.in b/Makefile.in --- a/Makefile.in +++ b/Makefile.in @@ -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 -@@ -474,6 +474,7 @@ has its own detailed description later in this manpage. +@@ -510,6 +510,7 @@ has its own detailed description later in this manpage. --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) -@@ -2665,6 +2666,50 @@ expand it. +@@ -2717,6 +2718,50 @@ expand it. this bug by avoiding the `-o` option (or using `--no-o`) when sending to an old rsync. @@ -387,7 +387,7 @@ diff --git a/rsync.c b/rsync.c diff --git a/rsync.h b/rsync.h --- a/rsync.h +++ b/rsync.h -@@ -1452,7 +1452,8 @@ extern short info_levels[], debug_levels[]; +@@ -1446,7 +1446,8 @@ extern short info_levels[], debug_levels[]; #define DEBUG_FUZZY (DEBUG_FLIST+1) #define DEBUG_GENR (DEBUG_FUZZY+1) #define DEBUG_HASH (DEBUG_GENR+1) diff --git a/omit-dir-changes.diff b/omit-dir-changes.diff index 17352b0..b6bb957 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: ed4b3448be243b1bdb30a5da811f1e217f5a0601 +based-on: 6b5ae825db985e9d1c98576651b50c8e490ddb97 diff --git a/generator.c b/generator.c --- a/generator.c +++ b/generator.c @@ -88,7 +88,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 -@@ -427,6 +427,7 @@ has its own detailed description later in this manpage. +@@ -463,6 +463,7 @@ has its own detailed description later in this manpage. --crtimes, -N preserve create times (newness) --omit-dir-times, -O omit directories from --times --omit-link-times, -J omit symlinks from --times @@ -96,7 +96,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 -@@ -1604,6 +1605,11 @@ expand it. +@@ -1654,6 +1655,11 @@ expand it. 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 fe4b976..82f64c0 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: ed4b3448be243b1bdb30a5da811f1e217f5a0601 +based-on: 6b5ae825db985e9d1c98576651b50c8e490ddb97 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 -@@ -511,6 +511,7 @@ has its own detailed description later in this manpage. +@@ -547,6 +547,7 @@ has its own detailed description later in this manpage. --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 75e0e94..8f68e43 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: ed4b3448be243b1bdb30a5da811f1e217f5a0601 +based-on: 6b5ae825db985e9d1c98576651b50c8e490ddb97 diff --git a/Makefile.in b/Makefile.in --- a/Makefile.in +++ b/Makefile.in @@ -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@ -@@ -101,7 +103,7 @@ install-strip: +@@ -103,7 +105,7 @@ install-strip: $(MAKE) INSTALL_STRIP='-s' install rsync$(EXEEXT): $(OBJS) @@ -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 -@@ -1049,6 +1049,29 @@ if test $rsync_cv_can_hardlink_special = yes; then +@@ -1047,6 +1047,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 -@@ -1402,6 +1402,22 @@ static int start_client(int argc, char *argv[]) +@@ -1411,6 +1411,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); @@ -134,11 +134,10 @@ diff --git a/main.c b/main.c diff --git a/rsync.1.md b/rsync.1.md --- a/rsync.1.md +++ b/rsync.1.md -@@ -152,7 +152,19 @@ rsync daemon by leaving off the module name: +@@ -152,6 +152,18 @@ rsync daemon by leaving off the module name: > rsync somehost.mydomain.com:: --See the following section for more details. +And, if Service Location Protocol is available, the following will list the +available rsync servers: + @@ -151,10 +150,9 @@ diff --git a/rsync.1.md b/rsync.1.md + +> rsync rsync:// + -+See the following section for even more usage details. - - ## SORTED TRANSFER ORDER + ## COPYING TO A DIFFERENT NAME + When you want to copy a directory to a different name, use a trailing slash on diff --git a/rsync.h b/rsync.h --- a/rsync.h +++ b/rsync.h diff --git a/soften-links.diff b/soften-links.diff index 8f1a8d5..ae900ec 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: ed4b3448be243b1bdb30a5da811f1e217f5a0601 +based-on: 6b5ae825db985e9d1c98576651b50c8e490ddb97 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 4b45396..5d1616d 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: ed4b3448be243b1bdb30a5da811f1e217f5a0601 +based-on: 6b5ae825db985e9d1c98576651b50c8e490ddb97 diff --git a/options.c b/options.c --- a/options.c +++ b/options.c @@ -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 -@@ -441,6 +441,7 @@ has its own detailed description later in this manpage. +@@ -477,6 +477,7 @@ has its own detailed description later in this manpage. --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 -@@ -1841,6 +1842,17 @@ expand it. +@@ -1891,6 +1892,17 @@ expand it. not remove a file the receiver just verified, such as when the user accidentally makes the source and destination directory the same path. diff --git a/source-filter_dest-filter.diff b/source-filter_dest-filter.diff index 81b5a78..0088c55 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: ed4b3448be243b1bdb30a5da811f1e217f5a0601 +based-on: 6b5ae825db985e9d1c98576651b50c8e490ddb97 diff --git a/generator.c b/generator.c --- a/generator.c +++ b/generator.c @@ -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 -@@ -468,6 +468,7 @@ has its own detailed description later in this manpage. +@@ -504,6 +504,7 @@ has its own detailed description later in this manpage. --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 -@@ -517,6 +518,8 @@ has its own detailed description later in this manpage. +@@ -553,6 +554,8 @@ has its own detailed description later in this manpage. --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) -@@ -3654,6 +3657,36 @@ expand it. +@@ -3710,6 +3713,36 @@ expand it. [`--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 d2925ad..4f7df2e 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: ed4b3448be243b1bdb30a5da811f1e217f5a0601 +based-on: 6b5ae825db985e9d1c98576651b50c8e490ddb97 diff --git a/fileio.c b/fileio.c --- a/fileio.c +++ b/fileio.c @@ -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 -@@ -430,6 +430,7 @@ has its own detailed description later in this manpage. +@@ -466,6 +466,7 @@ has its own detailed description later in this manpage. --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 --dry-run, -n perform a trial run with no changes made --whole-file, -W copy files whole (w/o delta-xfer algorithm) -@@ -1678,6 +1679,18 @@ expand it. +@@ -1728,6 +1729,18 @@ expand it. (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 782b6a5..4878a36 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: ed4b3448be243b1bdb30a5da811f1e217f5a0601 +based-on: 6b5ae825db985e9d1c98576651b50c8e490ddb97 diff --git a/flist.c b/flist.c --- a/flist.c +++ b/flist.c @@ -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 -@@ -519,6 +519,7 @@ has its own detailed description later in this manpage. +@@ -555,6 +555,7 @@ has its own detailed description later in this manpage. --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 -@@ -3696,6 +3697,22 @@ expand it. +@@ -3752,6 +3753,22 @@ expand it. free to specify just the local charset for a daemon transfer (e.g. `--iconv=utf8`).