The patches for 3.0.9. b3.0.x v3.0.9
authorWayne Davison <wayned@samba.org>
Fri, 23 Sep 2011 16:42:28 +0000 (09:42 -0700)
committerWayne Davison <wayned@samba.org>
Fri, 23 Sep 2011 16:42:28 +0000 (09:42 -0700)
44 files changed:
acls.diff
adaptec_acl_mods.diff
atimes.diff
backup-dir-dels.diff
catch_crash_signals.diff
checksum-reading.diff
checksum-updating.diff
checksum-xattr.diff
copy-devices.diff
crtimes.diff
cvs-entries.diff
daemon-forward-lookup.diff
date-only.diff
db.diff
detect-renamed-lax.diff
detect-renamed.diff
downdate.diff
dparam.diff
drop-cache.diff
fileflags.diff
fsync.diff
hfs-compression.diff
ignore-case.diff
link-by-hash.diff
log-checksum.diff
munge-links.diff
nameconverter.diff
netgroup-auth.diff
omit-dir-changes.diff
openssl-support.diff
preallocate.diff
remote-option.diff
slow-down.diff
slp.diff
soften-links.diff
source-backup.diff
source-filter_dest-filter.diff
sparse-block.diff
stdout.diff
time-limit.diff
transliterate.diff
tru64.diff
usermap.diff
xattrs.diff

index 46b4e99cd41f4f0d7268b221e173889e8d567e6b..fe3fdb9db82271c82b4466487f225989fd58eb25 100644 (file)
--- a/acls.diff
+++ b/acls.diff
@@ -9,7 +9,7 @@ To use this patch, run these commands for a successful build:
     ./configure                         (optional if already run)
     make
 
-based-on: a5ef6969530e4616112999be9330cc442bcba7b7
+based-on: 40afd365cc8ca968fd16e161d24df5b8a8a520cc
 diff --git a/acls.c b/acls.c
 --- a/acls.c
 +++ b/acls.c
index b85014efede4da672ab68138923ceae8e26fa1c3..eb86f2e921f74d61bc7523affe635f0a091e7a4d 100644 (file)
@@ -24,7 +24,7 @@ Todo:
 Fix a bug that could lose some bits when stripping some (supposedly)
 superfluous ACL info.
 
-based-on: a5ef6969530e4616112999be9330cc442bcba7b7
+based-on: 40afd365cc8ca968fd16e161d24df5b8a8a520cc
 diff --git a/lib/sysacls.c b/lib/sysacls.c
 --- a/lib/sysacls.c
 +++ b/lib/sysacls.c
index a313ba64145d114a61bb3c5778355a5d87d5b5c4..403b558a0f9b7ff8c81a9724c91cac02ec5a684e 100644 (file)
@@ -4,7 +4,7 @@ To use this patch, run these commands for a successful build:
     ./configure                      (optional if already run)
     make
 
-based-on: a5ef6969530e4616112999be9330cc442bcba7b7
+based-on: 40afd365cc8ca968fd16e161d24df5b8a8a520cc
 diff --git a/compat.c b/compat.c
 --- a/compat.c
 +++ b/compat.c
@@ -381,7 +381,7 @@ diff --git a/rsync.h b/rsync.h
 diff --git a/rsync.yo b/rsync.yo
 --- a/rsync.yo
 +++ b/rsync.yo
-@@ -353,6 +353,7 @@ to the detailed description below for a complete description.  verb(
+@@ -366,6 +366,7 @@ to the detailed description below for a complete description.  verb(
   -D                          same as --devices --specials
   -t, --times                 preserve modification times
   -O, --omit-dir-times        omit directories from --times
@@ -389,7 +389,7 @@ diff --git a/rsync.yo b/rsync.yo
       --super                 receiver attempts super-user activities
       --fake-super            store/recover privileged attrs using xattrs
   -S, --sparse                handle sparse files efficiently
-@@ -1064,6 +1065,12 @@ it is preserving modification times (see bf(--times)).  If NFS is sharing
+@@ -1077,6 +1078,12 @@ it is preserving modification times (see bf(--times)).  If NFS is sharing
  the directories on the receiving side, it is a good idea to use bf(-O).
  This option is inferred if you use bf(--backup) without bf(--backup-dir).
  
@@ -402,7 +402,7 @@ diff --git a/rsync.yo b/rsync.yo
  dit(bf(--super)) This tells the receiving side to attempt super-user
  activities even if the receiving rsync wasn't run by the super-user.  These
  activities include: preserving users via the bf(--owner) option, preserving
-@@ -1815,7 +1822,10 @@ quote(itemization(
+@@ -1838,7 +1845,10 @@ quote(itemization(
    sender's value (requires bf(--owner) and super-user privileges).
    it() A bf(g) means the group is different and is being updated to the
    sender's value (requires bf(--group) and the authority to set the group).
index 20ae9378a145bc0290390ae84a7ee3c7da693a54..22ada22f5b287cbdc396b9b19d6e6e4dcac6bc61 100644 (file)
@@ -19,7 +19,7 @@ To use this patch, run these commands for a successful build:
     ./configure                                 (optional if already run)
     make
 
-based-on: a5ef6969530e4616112999be9330cc442bcba7b7
+based-on: 40afd365cc8ca968fd16e161d24df5b8a8a520cc
 diff --git a/backup.c b/backup.c
 --- a/backup.c
 +++ b/backup.c
index c6758f7c2edc585ef0ec456e6456d8f76d03a9bd..77d9f6352dc131ab5b042856007b9c8886e77d61 100644 (file)
@@ -25,7 +25,7 @@ To use this patch, run these commands for a successful build:
     ./configure                                  (optional if already run)
     make
 
-based-on: a5ef6969530e4616112999be9330cc442bcba7b7
+based-on: 40afd365cc8ca968fd16e161d24df5b8a8a520cc
 diff --git a/errcode.h b/errcode.h
 --- a/errcode.h
 +++ b/errcode.h
index 129795218a89b9944acaf2d43644aae360a4af62..5eae0246f7a323979eed12eef94c4706f9afcfa6 100644 (file)
@@ -16,7 +16,7 @@ To use this patch, run these commands for a successful build:
     ./configure                               (optional if already run)
     make
 
-based-on: a5ef6969530e4616112999be9330cc442bcba7b7
+based-on: 40afd365cc8ca968fd16e161d24df5b8a8a520cc
 diff --git a/checksum.c b/checksum.c
 --- a/checksum.c
 +++ b/checksum.c
@@ -716,7 +716,7 @@ diff --git a/rsync.h b/rsync.h
 diff --git a/rsync.yo b/rsync.yo
 --- a/rsync.yo
 +++ b/rsync.yo
-@@ -321,6 +321,7 @@ to the detailed description below for a complete description.  verb(
+@@ -334,6 +334,7 @@ to the detailed description below for a complete description.  verb(
   -q, --quiet                 suppress non-error messages
       --no-motd               suppress daemon-mode MOTD (see caveat)
   -c, --checksum              skip based on checksum, not mod-time & size
@@ -724,7 +724,7 @@ diff --git a/rsync.yo b/rsync.yo
   -a, --archive               archive mode; equals -rlptgoD (no -H,-A,-X)
       --no-OPTION             turn off an implied OPTION (e.g. --no-D)
   -r, --recursive             recurse into directories
-@@ -526,9 +527,9 @@ uses a "quick check" that (by default) checks if each file's size and time
+@@ -539,9 +540,9 @@ uses a "quick check" that (by default) checks if each file's size and time
  of last modification match between the sender and receiver.  This option
  changes this to compare a 128-bit checksum for each file that has a
  matching size.  Generating the checksums means that both sides will expend
@@ -737,7 +737,7 @@ diff --git a/rsync.yo b/rsync.yo
  
  The sending side generates its checksums while it is doing the file-system
  scan that builds the list of the available files.  The receiver generates
-@@ -536,6 +537,8 @@ its checksums when it is scanning for changed files, and will checksum any
+@@ -549,6 +550,8 @@ its checksums when it is scanning for changed files, and will checksum any
  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.
  
@@ -746,7 +746,7 @@ diff --git a/rsync.yo b/rsync.yo
  Note that rsync always verifies that each em(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
-@@ -545,6 +548,36 @@ option's before-the-transfer "Does this file need to be updated?" check.
+@@ -558,6 +561,36 @@ option's before-the-transfer "Does this file need to be updated?" check.
  For protocol 30 and beyond (first supported in 3.0.0), the checksum used is
  MD5.  For older protocols, the checksum used is MD4.
  
index 3431deef9cdf40a24d7313b53d219f52a8bc7b27..47ee3407ffb6ec3b659c0057a2dd27c4734b39e2 100644 (file)
@@ -608,7 +608,7 @@ diff --git a/rsync.h b/rsync.h
 diff --git a/rsync.yo b/rsync.yo
 --- a/rsync.yo
 +++ b/rsync.yo
-@@ -557,9 +557,13 @@ computed just as it would be if bf(--sumfiles) was not specified.
+@@ -570,9 +570,13 @@ computed just as it would be if bf(--sumfiles) was not specified.
  
  The MODE value is either "lax", for relaxed checking (which compares size
  and mtime), "strict" (which also compares ctime and inode), or "none" to
index 83439733b614c3b8511044d98cdf7c2697004220..e6e3d353768662d8b9c71df6fc5b9fac5fe2aabb 100644 (file)
@@ -8,7 +8,7 @@ To use this patch, run these commands for a successful build:
     ./configure                               (optional if already run)
     make
 
-based-on: a5ef6969530e4616112999be9330cc442bcba7b7
+based-on: 40afd365cc8ca968fd16e161d24df5b8a8a520cc
 diff --git a/flist.c b/flist.c
 --- a/flist.c
 +++ b/flist.c
@@ -182,7 +182,7 @@ diff --git a/xattrs.c b/xattrs.c
  
  typedef struct {
        char *datum, *name;
-@@ -243,7 +249,9 @@ static int rsync_xal_get(const char *fname, item_list *xalp)
+@@ -246,7 +252,9 @@ static int rsync_xal_get(const char *fname, item_list *xalp)
                         || (am_root < 0
                          && (strcmp(name+RPRE_LEN+1, XSTAT_SUFFIX) == 0
                           || strcmp(name+RPRE_LEN+1, XACC_ACL_SUFFIX) == 0
@@ -193,7 +193,7 @@ diff --git a/xattrs.c b/xattrs.c
                                continue;
                }
  
-@@ -955,6 +963,39 @@ int del_def_xattr_acl(const char *fname)
+@@ -956,6 +964,39 @@ int del_def_xattr_acl(const char *fname)
  }
  #endif
  
index 7a25f484240bbdd3feec8ff1f8271c3bfa0625a5..3bebca6857e37a2f9f68dcc24abb8785f5aad278 100644 (file)
@@ -8,7 +8,7 @@ To use this patch, run these commands for a successful build:
     ./configure                      (optional if already run)
     make
 
-based-on: a5ef6969530e4616112999be9330cc442bcba7b7
+based-on: 40afd365cc8ca968fd16e161d24df5b8a8a520cc
 diff --git a/generator.c b/generator.c
 --- a/generator.c
 +++ b/generator.c
index 5cb008980e99762aebf1add50c4a4f47da7acc3d..1857ba17388de8ab97e9f8f155cd4f14206ddd6e 100644 (file)
@@ -462,7 +462,7 @@ diff --git a/rsync.h b/rsync.h
 diff --git a/rsync.yo b/rsync.yo
 --- a/rsync.yo
 +++ b/rsync.yo
-@@ -354,6 +354,7 @@ to the detailed description below for a complete description.  verb(
+@@ -367,6 +367,7 @@ to the detailed description below for a complete description.  verb(
   -D                          same as --devices --specials
   -t, --times                 preserve modification times
   -O, --omit-dir-times        omit directories from --times
@@ -470,7 +470,7 @@ diff --git a/rsync.yo b/rsync.yo
       --super                 receiver attempts super-user activities
       --fake-super            store/recover privileged attrs using xattrs
   -S, --sparse                handle sparse files efficiently
-@@ -1092,6 +1093,9 @@ it is preserving modification times (see bf(--times)).  If NFS is sharing
+@@ -1105,6 +1106,9 @@ it is preserving modification times (see bf(--times)).  If NFS is sharing
  the directories on the receiving side, it is a good idea to use bf(-O).
  This option is inferred if you use bf(--backup) without bf(--backup-dir).
  
@@ -480,7 +480,7 @@ diff --git a/rsync.yo b/rsync.yo
  dit(bf(--super)) This tells the receiving side to attempt super-user
  activities even if the receiving rsync wasn't run by the super-user.  These
  activities include: preserving users via the bf(--owner) option, preserving
-@@ -1788,7 +1792,7 @@ with older versions of rsync, but that also turns on the output of other
+@@ -1811,7 +1815,7 @@ with older versions of rsync, but that also turns on the output of other
  verbose messages).
  
  The "%i" escape has a cryptic output that is 11 letters long.  The general
@@ -489,7 +489,7 @@ diff --git a/rsync.yo b/rsync.yo
  type of update being done, bf(X) is replaced by the file-type, and the
  other letters represent attributes that may be output if they are being
  modified.
-@@ -1847,6 +1851,8 @@ quote(itemization(
+@@ -1870,6 +1874,8 @@ quote(itemization(
    it() The bf(f) means that the fileflags information changed.
    it() The bf(a) means that the ACL information changed.
    it() The bf(x) means that the extended attribute information changed.
index 3eeea97da13a5c224d4227f590d9939531620246..b89fb562630bc5011e8d98ba579a96bbc5dcd30c 100644 (file)
@@ -8,7 +8,7 @@ To use this patch, run these commands for a successful build:
     ./configure                                 (optional if already run)
     make
 
-based-on: a5ef6969530e4616112999be9330cc442bcba7b7
+based-on: 40afd365cc8ca968fd16e161d24df5b8a8a520cc
 diff --git a/exclude.c b/exclude.c
 --- a/exclude.c
 +++ b/exclude.c
@@ -36,7 +36,7 @@ diff --git a/exclude.c b/exclude.c
                if (strlcpy(dirbuf + dirbuf_len, ex->pattern,
                    MAXPATHLEN - dirbuf_len) < MAXPATHLEN - dirbuf_len) {
                        parse_filter_file(lp, dirbuf, ex->match_flags,
-@@ -1030,6 +1040,7 @@ void parse_filter_file(struct filter_list_struct *listp, const char *fname,
+@@ -1026,6 +1036,7 @@ void parse_filter_file(struct filter_list_struct *listp, const char *fname,
        char line[BIGPATHBUFLEN];
        char *eob = line + sizeof line - 1;
        int word_split = mflags & MATCHFLG_WORD_SPLIT;
@@ -44,7 +44,7 @@ diff --git a/exclude.c b/exclude.c
  
        if (!fname || !*fname)
                return;
-@@ -1076,6 +1087,24 @@ void parse_filter_file(struct filter_list_struct *listp, const char *fname,
+@@ -1072,6 +1083,24 @@ void parse_filter_file(struct filter_list_struct *listp, const char *fname,
                                }
                                break;
                        }
@@ -69,7 +69,7 @@ diff --git a/exclude.c b/exclude.c
                        if (word_split && isspace(ch))
                                break;
                        if (eol_nulls? !ch : (ch == '\n' || ch == '\r'))
-@@ -1085,13 +1114,15 @@ void parse_filter_file(struct filter_list_struct *listp, const char *fname,
+@@ -1081,13 +1110,15 @@ void parse_filter_file(struct filter_list_struct *listp, const char *fname,
                        else
                                overflow = 1;
                }
index becd078459acc2ae2df4840412c77827a5781ead..7b67e533296485561e35f48205efbdc5529d4275 100644 (file)
@@ -8,7 +8,7 @@ To use this patch, run these commands for a successful build:
     ./configure                         (optional if already run)
     make
 
-based-on: a5ef6969530e4616112999be9330cc442bcba7b7
+based-on: 40afd365cc8ca968fd16e161d24df5b8a8a520cc
 diff --git a/access.c b/access.c
 --- a/access.c
 +++ b/access.c
index 153874294f2f5daf436c17eabe9c137c02429ec1..462b0b2f3674ba931b6d7c31ca0058d6e1aa36f2 100644 (file)
@@ -14,7 +14,7 @@ To use this patch, run these commands for a successful build:
     ./configure                                 (optional if already run)
     make
 
-based-on: a5ef6969530e4616112999be9330cc442bcba7b7
+based-on: 40afd365cc8ca968fd16e161d24df5b8a8a520cc
 diff --git a/generator.c b/generator.c
 --- a/generator.c
 +++ b/generator.c
@@ -76,7 +76,7 @@ diff --git a/options.c b/options.c
 diff --git a/rsync.yo b/rsync.yo
 --- a/rsync.yo
 +++ b/rsync.yo
-@@ -386,6 +386,7 @@ to the detailed description below for a complete description.  verb(
+@@ -399,6 +399,7 @@ to the detailed description below for a complete description.  verb(
       --contimeout=SECONDS    set daemon connection timeout in seconds
   -I, --ignore-times          don't skip files that match size and time
       --size-only             skip files that match in size
@@ -84,7 +84,7 @@ diff --git a/rsync.yo b/rsync.yo
       --modify-window=NUM     compare mod-times with reduced accuracy
   -T, --temp-dir=DIR          create temporary files in directory DIR
   -y, --fuzzy                 find similar file for basis if no dest file
-@@ -512,6 +513,12 @@ time to just looking for files that have changed in size.  This is useful
+@@ -525,6 +526,12 @@ time to just looking for files that have changed in size.  This is useful
  when starting to use rsync after using another mirroring system which may
  not preserve timestamps exactly.
  
diff --git a/db.diff b/db.diff
index 91f72746ae390763f27a7d8b5f3d5d931331885e..f4efcdfecf7ec04e742f12b1065db5cc507013f0 100644 (file)
--- a/db.diff
+++ b/db.diff
@@ -986,7 +986,7 @@ diff --git a/pipe.c b/pipe.c
 diff --git a/rsync.yo b/rsync.yo
 --- a/rsync.yo
 +++ b/rsync.yo
-@@ -321,6 +321,7 @@ to the detailed description below for a complete description.  verb(
+@@ -334,6 +334,7 @@ to the detailed description below for a complete description.  verb(
   -q, --quiet                 suppress non-error messages
       --no-motd               suppress daemon-mode MOTD (see caveat)
   -c, --checksum              skip based on checksum, not mod-time & size
@@ -994,7 +994,7 @@ diff --git a/rsync.yo b/rsync.yo
   -a, --archive               archive mode; equals -rlptgoD (no -H,-A,-X)
       --no-OPTION             turn off an implied OPTION (e.g. --no-D)
   -r, --recursive             recurse into directories
-@@ -546,6 +547,47 @@ option's before-the-transfer "Does this file need to be updated?" check.
+@@ -559,6 +560,47 @@ option's before-the-transfer "Does this file need to be updated?" check.
  For protocol 30 and beyond (first supported in 3.0.0), the checksum used is
  MD5.  For older protocols, the checksum used is MD4.
  
index f31c744ca8b0a7415680ed924ec5806b0dabad4a..e170e8598566e586c523121b8fe9298620c129f8 100644 (file)
@@ -100,7 +100,7 @@ diff --git a/options.c b/options.c
 diff --git a/rsync.yo b/rsync.yo
 --- a/rsync.yo
 +++ b/rsync.yo
-@@ -390,6 +390,8 @@ to the detailed description below for a complete description.  verb(
+@@ -403,6 +403,8 @@ to the detailed description below for a complete description.  verb(
   -T, --temp-dir=DIR          create temporary files in directory DIR
   -y, --fuzzy                 find similar file for basis if no dest file
       --detect-renamed        try to find renamed files to speed the xfer
@@ -109,7 +109,7 @@ diff --git a/rsync.yo b/rsync.yo
       --compare-dest=DIR      also compare received files relative to DIR
       --copy-dest=DIR         ... and include copies of unchanged files
       --link-dest=DIR         hardlink to files in DIR when unchanged
-@@ -1583,6 +1585,17 @@ the bf(--partial-dir) option, that directory will be used instead.  These
+@@ -1606,6 +1608,17 @@ the bf(--partial-dir) option, that directory will be used instead.  These
  potential alternate-basis files will be removed as the transfer progresses.
  This option conflicts with bf(--inplace) and bf(--append).
  
index b3295c0e8e57c789adbac7e11191dbcc3ae9d73f..e397f452bdf335aef6e11f0c2a2701e4e25cb92e 100644 (file)
@@ -32,7 +32,7 @@ TODO:
   a file that can't use it, while missing out on giving it to a file
   that could use it.
 
-based-on: a5ef6969530e4616112999be9330cc442bcba7b7
+based-on: 40afd365cc8ca968fd16e161d24df5b8a8a520cc
 diff --git a/compat.c b/compat.c
 --- a/compat.c
 +++ b/compat.c
@@ -611,7 +611,7 @@ diff --git a/options.c b/options.c
 diff --git a/rsync.yo b/rsync.yo
 --- a/rsync.yo
 +++ b/rsync.yo
-@@ -389,6 +389,7 @@ to the detailed description below for a complete description.  verb(
+@@ -402,6 +402,7 @@ to the detailed description below for a complete description.  verb(
       --modify-window=NUM     compare mod-times with reduced accuracy
   -T, --temp-dir=DIR          create temporary files in directory DIR
   -y, --fuzzy                 find similar file for basis if no dest file
@@ -619,7 +619,7 @@ diff --git a/rsync.yo b/rsync.yo
       --compare-dest=DIR      also compare received files relative to DIR
       --copy-dest=DIR         ... and include copies of unchanged files
       --link-dest=DIR         hardlink to files in DIR when unchanged
-@@ -1567,6 +1568,21 @@ Note that the use of the bf(--delete) option might get rid of any potential
+@@ -1590,6 +1591,21 @@ Note that the use of the bf(--delete) option might get rid of any potential
  fuzzy-match files, so either use bf(--delete-after) or specify some
  filename exclusions if you need to prevent this.
  
index f4c1279538dad9face0e608d5b45f9360d6abecb..47e344fafde3dba729630e2b79e2e7f9c7850733 100644 (file)
@@ -7,7 +7,7 @@ To use this patch, run these commands for a successful build:
     ./configure                                 (optional if already run)
     make
 
-based-on: a5ef6969530e4616112999be9330cc442bcba7b7
+based-on: 40afd365cc8ca968fd16e161d24df5b8a8a520cc
 diff --git a/generator.c b/generator.c
 --- a/generator.c
 +++ b/generator.c
index 0c4cf1c6a20aec045412436719a09e7b84173968..5867aad17b72a38b1fd538744d2d8a46224586ad 100644 (file)
@@ -7,7 +7,7 @@ To use this patch, run these commands for a successful build:
     ./configure                               (optional if already run)
     make
 
-based-on: a5ef6969530e4616112999be9330cc442bcba7b7
+based-on: 40afd365cc8ca968fd16e161d24df5b8a8a520cc
 diff --git a/clientserver.c b/clientserver.c
 --- a/clientserver.c
 +++ b/clientserver.c
@@ -148,7 +148,7 @@ diff --git a/options.c b/options.c
 diff --git a/rsync.yo b/rsync.yo
 --- a/rsync.yo
 +++ b/rsync.yo
-@@ -439,6 +439,7 @@ accepted: verb(
+@@ -452,6 +452,7 @@ accepted: verb(
       --address=ADDRESS       bind to the specified address
       --bwlimit=KBPS          limit I/O bandwidth; KBytes per second
       --config=FILE           specify alternate rsyncd.conf file
@@ -156,7 +156,7 @@ diff --git a/rsync.yo b/rsync.yo
       --no-detach             do not detach from the parent
       --port=PORT             listen on alternate port number
       --log-file=FILE         override the "log file" setting
-@@ -2248,6 +2249,14 @@ The default is /etc/rsyncd.conf unless the daemon is running over
+@@ -2271,6 +2272,14 @@ The default is /etc/rsyncd.conf unless the daemon is running over
  a remote shell program and the remote user is not the super-user; in that case
  the default is rsyncd.conf in the current directory (typically $HOME).
  
index d4bfb5cdb72e6b96a46dcf3633604bd77bc62f92..72bdfe54b8250b830691a3ee094fe6daa8697555 100644 (file)
@@ -69,7 +69,7 @@ To use this patch, run these commands for a successful build:
     ./configure
     make
 
-based-on: a5ef6969530e4616112999be9330cc442bcba7b7
+based-on: 40afd365cc8ca968fd16e161d24df5b8a8a520cc
 diff --git a/checksum.c b/checksum.c
 --- a/checksum.c
 +++ b/checksum.c
@@ -202,7 +202,7 @@ diff --git a/receiver.c b/receiver.c
 diff --git a/rsync.yo b/rsync.yo
 --- a/rsync.yo
 +++ b/rsync.yo
-@@ -356,6 +356,7 @@ to the detailed description below for a complete description.  verb(
+@@ -369,6 +369,7 @@ to the detailed description below for a complete description.  verb(
       --super                 receiver attempts super-user activities
       --fake-super            store/recover privileged attrs using xattrs
   -S, --sparse                handle sparse files efficiently
@@ -210,7 +210,7 @@ diff --git a/rsync.yo b/rsync.yo
   -n, --dry-run               perform a trial run with no changes made
   -W, --whole-file            copy files whole (w/o delta-xfer algorithm)
   -x, --one-file-system       don't cross filesystem boundaries
-@@ -1109,6 +1110,10 @@ dit(bf(-S, --sparse)) Try to handle sparse files efficiently so they take
+@@ -1122,6 +1123,10 @@ dit(bf(-S, --sparse)) Try to handle sparse files efficiently so they take
  up less space on the destination.  Conflicts with bf(--inplace) because it's
  not possible to overwrite data in a sparse fashion.
  
index 33764653621ba0a06bf54c785d4bf5ee62c78cdd..50f6ecc33ef2b1ead3da1e8bb72325968842d05b 100644 (file)
@@ -8,7 +8,7 @@ To use this patch, run these commands for a successful build:
     ./configure
     make
 
-based-on: a5ef6969530e4616112999be9330cc442bcba7b7
+based-on: 40afd365cc8ca968fd16e161d24df5b8a8a520cc
 diff --git a/Makefile.in b/Makefile.in
 --- a/Makefile.in
 +++ b/Makefile.in
@@ -766,7 +766,7 @@ diff --git a/rsync.h b/rsync.h
 diff --git a/rsync.yo b/rsync.yo
 --- a/rsync.yo
 +++ b/rsync.yo
-@@ -342,6 +342,7 @@ to the detailed description below for a complete description.  verb(
+@@ -355,6 +355,7 @@ to the detailed description below for a complete description.  verb(
   -K, --keep-dirlinks         treat symlinked dir on receiver as dir
   -H, --hard-links            preserve hard links
   -p, --perms                 preserve permissions
@@ -774,8 +774,8 @@ diff --git a/rsync.yo b/rsync.yo
   -E, --executability         preserve executability
       --chmod=CHMOD           affect file and/or directory permissions
   -A, --acls                  preserve ACLs (implies -p)
-@@ -373,7 +374,10 @@ to the detailed description below for a complete description.  verb(
-      --delete-after          receiver deletes after transfer, not before
+@@ -386,7 +387,10 @@ to the detailed description below for a complete description.  verb(
+      --delete-after          receiver deletes after transfer, not during
       --delete-excluded       also delete excluded files from dest dirs
       --ignore-errors         delete even if there are I/O errors
 -     --force                 force deletion of dirs even if not empty
@@ -786,7 +786,7 @@ diff --git a/rsync.yo b/rsync.yo
       --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
-@@ -553,7 +557,8 @@ specified, in which case bf(-r) is not implied.
+@@ -566,7 +570,8 @@ specified, in which case bf(-r) is not implied.
  
  Note that bf(-a) bf(does not preserve hardlinks), because
  finding multiply-linked files is expensive.  You must separately
@@ -796,7 +796,7 @@ diff --git a/rsync.yo b/rsync.yo
  
  dit(--no-OPTION) You may turn off one or more implied options by prefixing
  the option name with "no-".  Not all options may be prefixed with a "no-":
-@@ -833,7 +838,7 @@ they would be using bf(--copy-links).
+@@ -846,7 +851,7 @@ they would be using bf(--copy-links).
  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
@@ -805,7 +805,7 @@ diff --git a/rsync.yo b/rsync.yo
  
  See also bf(--keep-dirlinks) for an analogous option for the receiving
  side.
-@@ -996,6 +1001,29 @@ Note that this option does not copy rsyncs special xattr values (e.g. those
+@@ -1009,6 +1014,29 @@ Note that this option does not copy rsyncs special xattr values (e.g. those
  used by bf(--fake-super)) unless you repeat the option (e.g. -XX).  This
  "copy all xattrs" mode cannot be used with bf(--fake-super).
  
@@ -833,9 +833,9 @@ diff --git a/rsync.yo b/rsync.yo
 +bf(--force-change) and bf(--force-schange).
 +
  dit(bf(--chmod)) This option tells rsync to apply one or more
- comma-separated "chmod" strings to the permission of the files in the
+ comma-separated "chmod" modes to the permission of the files in the
  transfer.  The resulting value is treated as though it were the permissions
-@@ -1266,12 +1294,13 @@ See bf(--delete) (which is implied) for more details on file-deletion.
+@@ -1289,12 +1317,13 @@ See bf(--delete) (which is implied) for more details on file-deletion.
  dit(bf(--ignore-errors)) Tells bf(--delete) to go ahead and delete files
  even when there are I/O errors.
  
@@ -852,7 +852,7 @@ diff --git a/rsync.yo b/rsync.yo
  bf(--recursive) option was also enabled.
  
  dit(bf(--max-delete=NUM)) This tells rsync not to delete more than NUM
-@@ -1759,7 +1788,7 @@ with older versions of rsync, but that also turns on the output of other
+@@ -1782,7 +1811,7 @@ with older versions of rsync, but that also turns on the output of other
  verbose messages).
  
  The "%i" escape has a cryptic output that is 11 letters long.  The general
@@ -861,7 +861,7 @@ diff --git a/rsync.yo b/rsync.yo
  type of update being done, bf(X) is replaced by the file-type, and the
  other letters represent attributes that may be output if they are being
  modified.
-@@ -1815,7 +1844,7 @@ quote(itemization(
+@@ -1838,7 +1867,7 @@ quote(itemization(
    sender's value (requires bf(--owner) and super-user privileges).
    it() A bf(g) means the group is different and is being updated to the
    sender's value (requires bf(--group) and the authority to set the group).
@@ -1436,7 +1436,7 @@ diff --git a/util.c b/util.c
 diff --git a/xattrs.c b/xattrs.c
 --- a/xattrs.c
 +++ b/xattrs.c
-@@ -1041,7 +1041,7 @@ int set_stat_xattr(const char *fname, struct file_struct *file, mode_t new_mode)
+@@ -1042,7 +1042,7 @@ int set_stat_xattr(const char *fname, struct file_struct *file, mode_t new_mode)
        mode = (fst.st_mode & _S_IFMT) | (fmode & ACCESSPERMS)
             | (S_ISDIR(fst.st_mode) ? 0700 : 0600);
        if (fst.st_mode != mode)
index 6f3834f38f664a0b859f1c3080593f2247656e3d..1e2a07667ec17b386233b12e28e5b9e73b4cb0a7 100644 (file)
@@ -7,7 +7,7 @@ To use this patch, run these commands for a successful build:
     ./configure                         (optional if already run)
     make
 
-based-on: a5ef6969530e4616112999be9330cc442bcba7b7
+based-on: 40afd365cc8ca968fd16e161d24df5b8a8a520cc
 diff --git a/options.c b/options.c
 --- a/options.c
 +++ b/options.c
index 4f7c0551483be3d3ce3654ae1b1b92c66291a358..bdc655c30a8586257a953dda57f34f297b7ce78d 100644 (file)
@@ -384,7 +384,7 @@ diff --git a/rsync.h b/rsync.h
 diff --git a/rsync.yo b/rsync.yo
 --- a/rsync.yo
 +++ b/rsync.yo
-@@ -347,6 +347,8 @@ to the detailed description below for a complete description.  verb(
+@@ -360,6 +360,8 @@ to the detailed description below for a complete description.  verb(
       --chmod=CHMOD           affect file and/or directory permissions
   -A, --acls                  preserve ACLs (implies -p)
   -X, --xattrs                preserve extended attributes
@@ -393,7 +393,7 @@ diff --git a/rsync.yo b/rsync.yo
   -o, --owner                 preserve owner (super-user only)
   -g, --group                 preserve group
       --devices               preserve device files (super-user only)
-@@ -1025,6 +1027,42 @@ flags on files and directories that are being updated or deleted on the
+@@ -1038,6 +1040,42 @@ flags on files and directories that are being updated or deleted on the
  receiving side.  It does not try to affect user flags.  This option overrides
  bf(--force-change) and bf(--force-schange).
  
@@ -434,7 +434,7 @@ diff --git a/rsync.yo b/rsync.yo
 +This option implies bf(--fileflags) and bf(--xattrs).
 +
  dit(bf(--chmod)) This option tells rsync to apply one or more
- comma-separated "chmod" strings to the permission of the files in the
+ comma-separated "chmod" modes to the permission of the files in the
  transfer.  The resulting value is treated as though it were the permissions
 diff --git a/t_stub.c b/t_stub.c
 --- a/t_stub.c
@@ -487,7 +487,7 @@ diff --git a/xattrs.c b/xattrs.c
  typedef struct {
        char *datum, *name;
        size_t datum_len, name_len;
-@@ -163,8 +179,7 @@ static ssize_t get_xattr_names(const char *fname)
+@@ -166,8 +182,7 @@ static ssize_t get_xattr_names(const char *fname)
  /* On entry, the *len_ptr parameter contains the size of the extra space we
   * should allocate when we create a buffer for the data.  On exit, it contains
   * the length of the datum. */
@@ -497,7 +497,7 @@ diff --git a/xattrs.c b/xattrs.c
  {
        size_t datum_len = sys_lgetxattr(fname, name, NULL, 0);
        size_t extra_len = *len_ptr;
-@@ -173,7 +188,7 @@ static char *get_xattr_data(const char *fname, const char *name, size_t *len_ptr
+@@ -176,7 +191,7 @@ static char *get_xattr_data(const char *fname, const char *name, size_t *len_ptr
        *len_ptr = datum_len;
  
        if (datum_len == (size_t)-1) {
@@ -506,7 +506,7 @@ diff --git a/xattrs.c b/xattrs.c
                        return NULL;
                rsyserr(FERROR_XFER, errno,
                        "get_xattr_data: lgetxattr(\"%s\",\"%s\",0) failed",
-@@ -181,6 +196,15 @@ static char *get_xattr_data(const char *fname, const char *name, size_t *len_ptr
+@@ -184,6 +199,15 @@ static char *get_xattr_data(const char *fname, const char *name, size_t *len_ptr
                return NULL;
        }
  
@@ -522,7 +522,7 @@ diff --git a/xattrs.c b/xattrs.c
        if (!datum_len && !extra_len)
                extra_len = 1; /* request non-zero amount of memory */
        if (datum_len + extra_len < datum_len)
-@@ -209,7 +233,29 @@ static char *get_xattr_data(const char *fname, const char *name, size_t *len_ptr
+@@ -212,7 +236,29 @@ static char *get_xattr_data(const char *fname, const char *name, size_t *len_ptr
        return ptr;
  }
  
@@ -553,7 +553,7 @@ diff --git a/xattrs.c b/xattrs.c
  {
        ssize_t list_len, name_len;
        size_t datum_len, name_offset;
-@@ -218,7 +264,8 @@ static int rsync_xal_get(const char *fname, item_list *xalp)
+@@ -221,7 +267,8 @@ static int rsync_xal_get(const char *fname, item_list *xalp)
        int user_only = am_sender ? 0 : am_root <= 0;
  #endif
        rsync_xa *rxa;
@@ -563,7 +563,7 @@ diff --git a/xattrs.c b/xattrs.c
  
        /* This puts the name list into the "namebuf" buffer. */
        if ((list_len = get_xattr_names(fname)) < 0)
-@@ -248,20 +295,22 @@ static int rsync_xal_get(const char *fname, item_list *xalp)
+@@ -251,20 +298,22 @@ static int rsync_xal_get(const char *fname, item_list *xalp)
                }
  
                datum_len = name_len; /* Pass extra size to get_xattr_data() */
@@ -592,7 +592,7 @@ diff --git a/xattrs.c b/xattrs.c
                } else
                        name_offset = datum_len;
  
-@@ -306,7 +355,7 @@ int get_xattr(const char *fname, stat_x *sxp)
+@@ -309,7 +358,7 @@ int get_xattr(const char *fname, stat_x *sxp)
                        return 0;
        }
  
@@ -601,7 +601,7 @@ diff --git a/xattrs.c b/xattrs.c
                free_xattr(sxp);
                return -1;
        }
-@@ -341,6 +390,8 @@ int copy_xattrs(const char *source, const char *dest)
+@@ -344,6 +393,8 @@ int copy_xattrs(const char *source, const char *dest)
                datum_len = 0;
                if (!(ptr = get_xattr_data(source, name, &datum_len, 0)))
                        return -1;
@@ -610,7 +610,7 @@ diff --git a/xattrs.c b/xattrs.c
                if (sys_lsetxattr(dest, name, ptr, datum_len) < 0) {
                        int save_errno = errno ? errno : EINVAL;
                        rsyserr(FERROR_XFER, errno,
-@@ -357,6 +408,10 @@ int copy_xattrs(const char *source, const char *dest)
+@@ -360,6 +411,10 @@ int copy_xattrs(const char *source, const char *dest)
  
  static int find_matching_xattr(item_list *xalp)
  {
@@ -621,7 +621,7 @@ diff --git a/xattrs.c b/xattrs.c
        size_t i, j;
        item_list *lst = rsync_xal_l.items;
  
-@@ -390,6 +445,7 @@ static int find_matching_xattr(item_list *xalp)
+@@ -393,6 +448,7 @@ static int find_matching_xattr(item_list *xalp)
        }
  
        return -1;
@@ -629,7 +629,7 @@ diff --git a/xattrs.c b/xattrs.c
  }
  
  /* Store *xalp on the end of rsync_xal_l */
-@@ -569,11 +625,13 @@ void send_xattr_request(const char *fname, struct file_struct *file, int f_out)
+@@ -572,11 +628,13 @@ void send_xattr_request(const char *fname, struct file_struct *file, int f_out)
  
                        /* Re-read the long datum. */
                        if (!(ptr = get_xattr_data(fname, rxa->name, &len, 0))) {
@@ -644,7 +644,7 @@ diff --git a/xattrs.c b/xattrs.c
                        write_varint(f_out, len); /* length might have changed! */
                        write_buf(f_out, ptr, len);
                        free(ptr);
-@@ -791,7 +849,7 @@ static int rsync_xal_set(const char *fname, item_list *xalp,
+@@ -792,7 +850,7 @@ static int rsync_xal_set(const char *fname, item_list *xalp,
        int user_only = am_root <= 0;
  #endif
        size_t name_len;
@@ -653,7 +653,7 @@ diff --git a/xattrs.c b/xattrs.c
  
        /* This puts the current name list into the "namebuf" buffer. */
        if ((list_len = get_xattr_names(fname)) < 0)
-@@ -803,7 +861,10 @@ static int rsync_xal_set(const char *fname, item_list *xalp,
+@@ -804,7 +862,10 @@ static int rsync_xal_set(const char *fname, item_list *xalp,
                if (XATTR_ABBREV(rxas[i])) {
                        /* See if the fnamecmp version is identical. */
                        len = name_len = rxas[i].name_len;
@@ -665,7 +665,7 @@ diff --git a/xattrs.c b/xattrs.c
                          still_abbrev:
                                if (am_generator)
                                        continue;
-@@ -812,14 +873,14 @@ static int rsync_xal_set(const char *fname, item_list *xalp,
+@@ -813,14 +874,14 @@ static int rsync_xal_set(const char *fname, item_list *xalp,
                                ret = -1;
                                continue;
                        }
@@ -683,7 +683,7 @@ diff --git a/xattrs.c b/xattrs.c
                        if (memcmp(sum, rxas[i].datum + 1, MAX_DIGEST_LEN) != 0) {
                                free(ptr);
                                goto still_abbrev;
-@@ -888,6 +949,10 @@ static int rsync_xal_set(const char *fname, item_list *xalp,
+@@ -889,6 +950,10 @@ static int rsync_xal_set(const char *fname, item_list *xalp,
                }
        }
  
@@ -694,7 +694,7 @@ diff --git a/xattrs.c b/xattrs.c
        return ret;
  }
  
-@@ -934,7 +999,7 @@ char *get_xattr_acl(const char *fname, int is_access_acl, size_t *len_p)
+@@ -935,7 +1000,7 @@ char *get_xattr_acl(const char *fname, int is_access_acl, size_t *len_p)
  {
        const char *name = is_access_acl ? XACC_ACL_ATTR : XDEF_ACL_ATTR;
        *len_p = 0; /* no extra data alloc needed from get_xattr_data() */
@@ -703,7 +703,7 @@ diff --git a/xattrs.c b/xattrs.c
  }
  
  int set_xattr_acl(const char *fname, int is_access_acl, const char *buf, size_t buf_len)
-@@ -1077,11 +1142,33 @@ int set_stat_xattr(const char *fname, struct file_struct *file, mode_t new_mode)
+@@ -1078,11 +1143,33 @@ int set_stat_xattr(const char *fname, struct file_struct *file, mode_t new_mode)
        return 0;
  }
  
@@ -737,7 +737,7 @@ diff --git a/xattrs.c b/xattrs.c
        return ret;
  }
  
-@@ -1090,6 +1177,9 @@ int x_lstat(const char *fname, STRUCT_STAT *fst, STRUCT_STAT *xst)
+@@ -1091,6 +1178,9 @@ int x_lstat(const char *fname, STRUCT_STAT *fst, STRUCT_STAT *xst)
        int ret = do_lstat(fname, fst);
        if ((ret < 0 || get_stat_xattr(fname, -1, fst, xst) < 0) && xst)
                xst->st_mode = 0;
@@ -747,7 +747,7 @@ diff --git a/xattrs.c b/xattrs.c
        return ret;
  }
  
-@@ -1098,6 +1188,9 @@ int x_fstat(int fd, STRUCT_STAT *fst, STRUCT_STAT *xst)
+@@ -1099,6 +1189,9 @@ int x_fstat(int fd, STRUCT_STAT *fst, STRUCT_STAT *xst)
        int ret = do_fstat(fd, fst);
        if ((ret < 0 || get_stat_xattr(NULL, fd, fst, xst) < 0) && xst)
                xst->st_mode = 0;
index 7cf52ddaa08b09e565df34184e0de4c882d3afe6..ad716a865404b593b859f0a9cddfef2c8cfb2808 100644 (file)
@@ -12,7 +12,7 @@ TODO:
  - Make this code handle multibyte character encodings, and honor the
    --iconv setting when converting case.
 
-based-on: a5ef6969530e4616112999be9330cc442bcba7b7
+based-on: 40afd365cc8ca968fd16e161d24df5b8a8a520cc
 diff --git a/exclude.c b/exclude.c
 --- a/exclude.c
 +++ b/exclude.c
@@ -250,7 +250,7 @@ diff --git a/options.c b/options.c
 diff --git a/rsync.yo b/rsync.yo
 --- a/rsync.yo
 +++ b/rsync.yo
-@@ -406,6 +406,7 @@ to the detailed description below for a complete description.  verb(
+@@ -419,6 +419,7 @@ to the detailed description below for a complete description.  verb(
       --files-from=FILE       read list of source-file names from FILE
   -0, --from0                 all *from/filter files are delimited by 0s
   -s, --protect-args          no space-splitting; wildcard chars only
@@ -258,7 +258,7 @@ diff --git a/rsync.yo b/rsync.yo
       --address=ADDRESS       bind address for outgoing socket to daemon
       --port=PORT             specify double-colon alternate port number
       --sockopts=OPTIONS      specify custom TCP options
-@@ -1525,6 +1526,10 @@ side will also be translated
+@@ -1548,6 +1549,10 @@ side will also be translated
  from the local to the remote character-set.  The translation happens before
  wild-cards are expanded.  See also the bf(--files-from) option.
  
index 9fa2a61eb002f2ada97841e6868576e7c797a524..1dff405759bf9b3b962f9ffac2621a5b062ebb43 100644 (file)
@@ -12,7 +12,7 @@ To use this patch, run these commands for a successful build:
     ./configure                         (optional if already run)
     make
 
-based-on: a5ef6969530e4616112999be9330cc442bcba7b7
+based-on: 40afd365cc8ca968fd16e161d24df5b8a8a520cc
 diff --git a/Makefile.in b/Makefile.in
 --- a/Makefile.in
 +++ b/Makefile.in
@@ -584,7 +584,7 @@ diff --git a/rsync.h b/rsync.h
 diff --git a/rsync.yo b/rsync.yo
 --- a/rsync.yo
 +++ b/rsync.yo
-@@ -392,6 +392,7 @@ to the detailed description below for a complete description.  verb(
+@@ -405,6 +405,7 @@ to the detailed description below for a complete description.  verb(
       --compare-dest=DIR      also compare received files relative to DIR
       --copy-dest=DIR         ... and include copies of unchanged files
       --link-dest=DIR         hardlink to files in DIR when unchanged
index 7eb628c885c52fd78e1f969d00ba83caf29676ce..61e8495fe2c3d5c5cffd33e9c05fe31f257a3821 100644 (file)
@@ -12,7 +12,7 @@ To use this patch, run these commands for a successful build:
     ./configure                                 (optional if already run)
     make
 
-based-on: a5ef6969530e4616112999be9330cc442bcba7b7
+based-on: 40afd365cc8ca968fd16e161d24df5b8a8a520cc
 diff --git a/flist.c b/flist.c
 --- a/flist.c
 +++ b/flist.c
index 27f5ce23f621a6d688e295cca2f99cf2da6d70c9..c4912ffb7e8a5a0c218fc94f1429ac02b64d6a9f 100644 (file)
@@ -137,7 +137,7 @@ diff --git a/pipe.c b/pipe.c
 diff --git a/rsync.yo b/rsync.yo
 --- a/rsync.yo
 +++ b/rsync.yo
-@@ -338,6 +338,7 @@ to the detailed description below for a complete description.  verb(
+@@ -351,6 +351,7 @@ to the detailed description below for a complete description.  verb(
   -L, --copy-links            transform symlink into referent file/dir
       --copy-unsafe-links     only "unsafe" symlinks are transformed
       --safe-links            ignore symlinks that point outside the tree
@@ -145,7 +145,7 @@ diff --git a/rsync.yo b/rsync.yo
   -k, --copy-dirlinks         transform symlink to dir into referent dir
   -K, --keep-dirlinks         treat symlinked dir on receiver as dir
   -H, --hard-links            preserve hard links
-@@ -826,6 +827,25 @@ which point outside the copied tree. All absolute symlinks are
+@@ -839,6 +840,25 @@ which point outside the copied tree. All absolute symlinks are
  also ignored. Using this option in conjunction with bf(--relative) may
  give unexpected results.
  
index 29c3adcffce42044f00ec3c64d7c68e1f246ceb7..dc4df7b6a0ce35a89e3e0928f90c68c25f0e3766 100644 (file)
@@ -20,7 +20,7 @@ To use this patch, run these commands for a successful build:
     ./configure                         (optional if already run)
     make
 
-based-on: a5ef6969530e4616112999be9330cc442bcba7b7
+based-on: 40afd365cc8ca968fd16e161d24df5b8a8a520cc
 diff --git a/clientserver.c b/clientserver.c
 --- a/clientserver.c
 +++ b/clientserver.c
index f670d47f7e801197469f874e8f2c88d797f75147..ac1087f1a989fd2ca2310e34a2a624be56aa4ec4 100644 (file)
@@ -9,7 +9,7 @@ To use this patch, run these commands for a successful build:
     ./configure                           (optional if already run)
     make
 
-based-on: a5ef6969530e4616112999be9330cc442bcba7b7
+based-on: 40afd365cc8ca968fd16e161d24df5b8a8a520cc
 diff --git a/access.c b/access.c
 --- a/access.c
 +++ b/access.c
index 10ecfc7d296591d15c1dd8d5bc72e7a6214b41fe..e8292227a309d75f90ddfbfcfcc9ba7cccf438e3 100644 (file)
@@ -7,7 +7,7 @@ To use this patch, run these commands for a successful build:
     ./configure                              (optional if already run)
     make
 
-based-on: a5ef6969530e4616112999be9330cc442bcba7b7
+based-on: 40afd365cc8ca968fd16e161d24df5b8a8a520cc
 diff --git a/generator.c b/generator.c
 --- a/generator.c
 +++ b/generator.c
@@ -125,7 +125,7 @@ diff --git a/rsync.c b/rsync.c
 diff --git a/rsync.yo b/rsync.yo
 --- a/rsync.yo
 +++ b/rsync.yo
-@@ -353,6 +353,7 @@ to the detailed description below for a complete description.  verb(
+@@ -366,6 +366,7 @@ to the detailed description below for a complete description.  verb(
   -D                          same as --devices --specials
   -t, --times                 preserve modification times
   -O, --omit-dir-times        omit directories from --times
@@ -133,7 +133,7 @@ diff --git a/rsync.yo b/rsync.yo
       --super                 receiver attempts super-user activities
       --fake-super            store/recover privileged attrs using xattrs
   -S, --sparse                handle sparse files efficiently
-@@ -1064,6 +1065,10 @@ it is preserving modification times (see bf(--times)).  If NFS is sharing
+@@ -1077,6 +1078,10 @@ it is preserving modification times (see bf(--times)).  If NFS is sharing
  the directories on the receiving side, it is a good idea to use bf(-O).
  This option is inferred if you use bf(--backup) without bf(--backup-dir).
  
index b57c0771177a276d736d562a9b08758d860e1267..efc55430b1eb04e11e96a469e8ec542508ff4113 100644 (file)
@@ -35,7 +35,7 @@ To use this patch, run these commands for a successful build:
     ./configure
     make
 
-based-on: a5ef6969530e4616112999be9330cc442bcba7b7
+based-on: 40afd365cc8ca968fd16e161d24df5b8a8a520cc
 diff --git a/Makefile.in b/Makefile.in
 --- a/Makefile.in
 +++ b/Makefile.in
@@ -401,7 +401,7 @@ diff --git a/options.c b/options.c
 +  rprintf(F,"     --ssl-ca-certs=FILE     path to trusted CA certificates\n");
 +#endif
    rprintf(F,"     --version               print version number\n");
-   rprintf(F,"(-h) --help                  show this help (-h works with no other options)\n");
+   rprintf(F,"(-h) --help                  show this help (-h is --help only if used alone)\n");
  
 @@ -445,7 +464,7 @@ enum {OPT_VERSION = 1000, OPT_DAEMON, OPT_SENDER, OPT_EXCLUDE, OPT_EXCLUDE_FROM,
        OPT_FILTER, OPT_COMPARE_DEST, OPT_COPY_DEST, OPT_LINK_DEST, OPT_HELP,
index ad16aa9fea9785918b106ac1e8d53c6294bdef73..15a06868b6528655f2e2960b9bd61de093ff1513 100644 (file)
@@ -9,7 +9,7 @@ To use this patch, run these commands for a successful build:
     ./configure
     make
 
-based-on: a5ef6969530e4616112999be9330cc442bcba7b7
+based-on: 40afd365cc8ca968fd16e161d24df5b8a8a520cc
 diff --git a/compat.c b/compat.c
 --- a/compat.c
 +++ b/compat.c
@@ -238,7 +238,7 @@ diff --git a/rsync.h b/rsync.h
 diff --git a/rsync.yo b/rsync.yo
 --- a/rsync.yo
 +++ b/rsync.yo
-@@ -356,6 +356,7 @@ to the detailed description below for a complete description.  verb(
+@@ -369,6 +369,7 @@ to the detailed description below for a complete description.  verb(
       --super                 receiver attempts super-user activities
       --fake-super            store/recover privileged attrs using xattrs
   -S, --sparse                handle sparse files efficiently
@@ -246,7 +246,7 @@ diff --git a/rsync.yo b/rsync.yo
   -n, --dry-run               perform a trial run with no changes made
   -W, --whole-file            copy files whole (w/o delta-xfer algorithm)
   -x, --one-file-system       don't cross filesystem boundaries
-@@ -1109,6 +1110,17 @@ dit(bf(-S, --sparse)) Try to handle sparse files efficiently so they take
+@@ -1122,6 +1123,17 @@ dit(bf(-S, --sparse)) Try to handle sparse files efficiently so they take
  up less space on the destination.  Conflicts with bf(--inplace) because it's
  not possible to overwrite data in a sparse fashion.
  
index 3fb71451b19083f6263add83fad8edded6dc9e3a..d5aea213782c18975c81cae2c8923e36d18af58c 100644 (file)
@@ -11,7 +11,7 @@ To use this patch, run these commands for a successful build:
     ./configure                      (optional if already run)
     make
 
-based-on: a5ef6969530e4616112999be9330cc442bcba7b7
+based-on: 40afd365cc8ca968fd16e161d24df5b8a8a520cc
 diff --git a/options.c b/options.c
 --- a/options.c
 +++ b/options.c
@@ -117,7 +117,7 @@ diff --git a/pipe.c b/pipe.c
 diff --git a/rsync.yo b/rsync.yo
 --- a/rsync.yo
 +++ b/rsync.yo
-@@ -416,6 +416,7 @@ to the detailed description below for a complete description.  verb(
+@@ -429,6 +429,7 @@ to the detailed description below for a complete description.  verb(
       --progress              show progress during transfer
   -P                          same as --partial --progress
   -i, --itemize-changes       output a change-summary for all updates
@@ -125,7 +125,7 @@ diff --git a/rsync.yo b/rsync.yo
       --out-format=FORMAT     output updates using the specified FORMAT
       --log-file=FILE         log what we're doing to the specified FILE
       --log-file-format=FMT   log updates using the specified FMT
-@@ -1090,16 +1091,16 @@ This is a good way to backup data without using a super-user, and to store
+@@ -1103,16 +1104,16 @@ This is a good way to backup data without using a super-user, and to store
  ACLs from incompatible systems.
  
  The bf(--fake-super) option only affects the side where the option is used.
@@ -150,7 +150,7 @@ diff --git a/rsync.yo b/rsync.yo
  
  This option is overridden by both bf(--super) and bf(--no-super).
  
-@@ -1361,6 +1362,36 @@ machine for use with the bf(--relative) option.  For instance:
+@@ -1384,6 +1385,36 @@ machine for use with the bf(--relative) option.  For instance:
  
  quote(tt(    rsync -avR --rsync-path="cd /a/b && rsync" host:c/d /e/))
  
@@ -187,7 +187,7 @@ diff --git a/rsync.yo b/rsync.yo
  dit(bf(-C, --cvs-exclude)) This is a useful shorthand for excluding a
  broad range of files that you often don't want to transfer between
  systems. It uses a similar algorithm to CVS to determine if
-@@ -1860,7 +1891,7 @@ option if you wish to override this.
+@@ -1883,7 +1914,7 @@ option if you wish to override this.
  Here's a example command that requests the remote side to log what is
  happening:
  
index 81dcfbea116c7eabced49f1578e2dd0ed4690c80..c16fb46ab41cc2b1c87cfd29f45eb46e79006609 100644 (file)
@@ -14,7 +14,7 @@ To use this patch, run these commands for a successful build:
     ./configure                           (optional if already run)
     make
 
-based-on: a5ef6969530e4616112999be9330cc442bcba7b7
+based-on: 40afd365cc8ca968fd16e161d24df5b8a8a520cc
 diff --git a/flist.c b/flist.c
 --- a/flist.c
 +++ b/flist.c
index 0b19b407b8098d0a5fdc7be6b87dc24c19325068..c5d148977580bdc111f4e27465ecaf8769078aff 100644 (file)
--- 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: a5ef6969530e4616112999be9330cc442bcba7b7
+based-on: 40afd365cc8ca968fd16e161d24df5b8a8a520cc
 diff --git a/Makefile.in b/Makefile.in
 --- a/Makefile.in
 +++ b/Makefile.in
@@ -122,15 +122,17 @@ diff --git a/loadparm.c b/loadparm.c
  
   {"auth users",        P_STRING, P_LOCAL, &sDefault.auth_users,        NULL,0},
   {"charset",           P_STRING, P_LOCAL, &sDefault.charset,           NULL,0},
-@@ -354,6 +367,7 @@ static struct parm_struct parm_table[] =
+@@ -354,6 +367,9 @@ static struct parm_struct parm_table[] =
  static void init_globals(void)
  {
        memset(&Globals, 0, sizeof Globals);
++#ifdef HAVE_LIBSLP
 +      Globals.use_slp = True;
++#endif
  }
  
  /***************************************************************************
-@@ -394,6 +408,13 @@ FN_GLOBAL_STRING(lp_pid_file, &Globals.pid_file)
+@@ -394,6 +410,13 @@ FN_GLOBAL_STRING(lp_pid_file, &Globals.pid_file)
  FN_GLOBAL_STRING(lp_socket_options, &Globals.socket_options)
  
  FN_GLOBAL_INTEGER(lp_rsync_port, &Globals.rsync_port)
index 891d96fc3f561c96b886f5f9a841f03e2dc0a95c..f4414cb04b8874af588e9b5696f4b5093817092e 100644 (file)
@@ -10,7 +10,7 @@ To use this patch, run these commands for a successful build:
     ./configure                           (optional if already run)
     make
 
-based-on: a5ef6969530e4616112999be9330cc442bcba7b7
+based-on: 40afd365cc8ca968fd16e161d24df5b8a8a520cc
 diff --git a/syscall.c b/syscall.c
 --- a/syscall.c
 +++ b/syscall.c
index da649999c99e7b0a4f86290d1b936b7f07b32ca5..a0b99dddf69a977a21fca5fcb9d1239c42318edf 100644 (file)
@@ -9,7 +9,7 @@ To use this patch, run these commands for a successful build:
 
 -- Matt McCutchen <hashproduct@gmail.com>
 
-based-on: a5ef6969530e4616112999be9330cc442bcba7b7
+based-on: 40afd365cc8ca968fd16e161d24df5b8a8a520cc
 diff --git a/options.c b/options.c
 --- a/options.c
 +++ b/options.c
@@ -49,17 +49,17 @@ diff --git a/options.c b/options.c
 diff --git a/rsync.yo b/rsync.yo
 --- a/rsync.yo
 +++ b/rsync.yo
-@@ -365,6 +365,7 @@ to the detailed description below for a complete description.  verb(
+@@ -378,6 +378,7 @@ to the detailed description below for a complete description.  verb(
       --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)
 +     --source-backup         ... and backs up those files
       --del                   an alias for --delete-during
       --delete                delete extraneous files from dest dirs
-      --delete-before         receiver deletes before transfer (default)
-@@ -1180,6 +1181,14 @@ dit(bf(--remove-source-files)) This tells rsync to remove from the sending
- side the files (meaning non-directories) that are a part of the transfer
and have been successfully duplicated on the receiving side.
+      --delete-before         receiver deletes before xfer, not during
+@@ -1203,6 +1204,14 @@ transferring files that are not yet finished (e.g. name the file "foo.new" when
+ it is written, rename it to "foo" when it is done, and then use the option
bf(--exclude='*.new') for the rsync transfer).
  
 +dit(bf(--source-backup)) Makes the sender back up the source files it removes
 +due to bf(--remove-source-files).  This option is independent of
index 0ef37e366d4d6854315952227b42121485aed54f..13580ce71f3cc9ba2cb1d31a06022299d63ddc09 100644 (file)
@@ -30,7 +30,7 @@ To use this patch, run these commands for a successful build:
     ./configure                                (optional if already run)
     make
 
-based-on: a5ef6969530e4616112999be9330cc442bcba7b7
+based-on: 40afd365cc8ca968fd16e161d24df5b8a8a520cc
 diff --git a/generator.c b/generator.c
 --- a/generator.c
 +++ b/generator.c
@@ -326,7 +326,7 @@ diff --git a/rsync.h b/rsync.h
 diff --git a/rsync.yo b/rsync.yo
 --- a/rsync.yo
 +++ b/rsync.yo
-@@ -386,6 +386,7 @@ to the detailed description below for a complete description.  verb(
+@@ -399,6 +399,7 @@ to the detailed description below for a complete description.  verb(
       --contimeout=SECONDS    set daemon connection timeout in seconds
   -I, --ignore-times          don't skip files that match size and time
       --size-only             skip files that match in size
@@ -334,7 +334,7 @@ diff --git a/rsync.yo b/rsync.yo
       --modify-window=NUM     compare mod-times with reduced accuracy
   -T, --temp-dir=DIR          create temporary files in directory DIR
   -y, --fuzzy                 find similar file for basis if no dest file
-@@ -425,6 +426,8 @@ to the detailed description below for a complete description.  verb(
+@@ -438,6 +439,8 @@ to the detailed description below for a complete description.  verb(
       --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
@@ -343,7 +343,7 @@ diff --git a/rsync.yo b/rsync.yo
       --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)
-@@ -2156,6 +2159,33 @@ file previously generated by bf(--write-batch).
+@@ -2179,6 +2182,33 @@ file previously generated by bf(--write-batch).
  If em(FILE) is bf(-), the batch data will be read from standard input.
  See the "BATCH MODE" section for details.
  
index e89e7824d60486bf1b5b802438c2d4efd1c8abb7..ed778fcd2179db4a347763cf58aa269908a26c26 100644 (file)
@@ -18,7 +18,7 @@ To use this patch, run these commands for a successful build:
     ./configure                               (optional if already run)
     make
 
-based-on: a5ef6969530e4616112999be9330cc442bcba7b7
+based-on: 40afd365cc8ca968fd16e161d24df5b8a8a520cc
 diff --git a/fileio.c b/fileio.c
 --- a/fileio.c
 +++ b/fileio.c
@@ -82,7 +82,7 @@ diff --git a/options.c b/options.c
 diff --git a/rsync.yo b/rsync.yo
 --- a/rsync.yo
 +++ b/rsync.yo
-@@ -356,6 +356,7 @@ to the detailed description below for a complete description.  verb(
+@@ -369,6 +369,7 @@ to the detailed description below for a complete description.  verb(
       --super                 receiver attempts super-user activities
       --fake-super            store/recover privileged attrs using xattrs
   -S, --sparse                handle sparse files efficiently
@@ -90,7 +90,7 @@ diff --git a/rsync.yo b/rsync.yo
   -n, --dry-run               perform a trial run with no changes made
   -W, --whole-file            copy files whole (w/o delta-xfer algorithm)
   -x, --one-file-system       don't cross filesystem boundaries
-@@ -1109,6 +1110,15 @@ dit(bf(-S, --sparse)) Try to handle sparse files efficiently so they take
+@@ -1122,6 +1123,15 @@ dit(bf(-S, --sparse)) Try to handle sparse files efficiently so they take
  up less space on the destination.  Conflicts with bf(--inplace) because it's
  not possible to overwrite data in a sparse fashion.
  
index 26c5d1c19bcb18bf48e9274841777fa6b0b37735..fe64a0e3ad52ca5b48387235ebfc398cff7f65a4 100644 (file)
@@ -7,7 +7,7 @@ To use this patch, run these commands for a successful build:
     ./configure                            (optional if already run)
     make
 
-based-on: a5ef6969530e4616112999be9330cc442bcba7b7
+based-on: 40afd365cc8ca968fd16e161d24df5b8a8a520cc
 diff --git a/options.c b/options.c
 --- a/options.c
 +++ b/options.c
index 9a2cc5f20880eff8efb1a8146c85c00446edb5de..0ede999cf61b16145c6585623c76023279a67a9f 100644 (file)
@@ -9,7 +9,7 @@ To use this patch, run these commands for a successful build:
     ./configure                              (optional if already run)
     make
 
-based-on: a5ef6969530e4616112999be9330cc442bcba7b7
+based-on: 40afd365cc8ca968fd16e161d24df5b8a8a520cc
 diff --git a/io.c b/io.c
 --- a/io.c
 +++ b/io.c
@@ -136,7 +136,7 @@ diff --git a/options.c b/options.c
 diff --git a/rsync.yo b/rsync.yo
 --- a/rsync.yo
 +++ b/rsync.yo
-@@ -422,6 +422,8 @@ to the detailed description below for a complete description.  verb(
+@@ -435,6 +435,8 @@ to the detailed description below for a complete description.  verb(
       --password-file=FILE    read daemon-access password from FILE
       --list-only             list the files instead of copying them
       --bwlimit=KBPS          limit I/O bandwidth; KBytes per second
@@ -145,7 +145,7 @@ diff --git a/rsync.yo b/rsync.yo
       --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
-@@ -2130,6 +2132,19 @@ transfer was too fast, it will wait before sending the next data block. The
+@@ -2153,6 +2155,19 @@ transfer was too fast, it will wait before sending the next data block. The
  result is an average transfer rate equaling the specified limit. A value
  of zero specifies no limit.
  
index 92e094d163cb18d046ac12a6eaeb9f328c563803..b2295cf2a0868f6ab1ff4cd7c02dbabddd489276 100644 (file)
@@ -13,7 +13,7 @@ To use this patch, run these commands for a successful build:
     ./configure                                 (optional if already run)
     make
 
-based-on: a5ef6969530e4616112999be9330cc442bcba7b7
+based-on: 40afd365cc8ca968fd16e161d24df5b8a8a520cc
 diff --git a/flist.c b/flist.c
 --- a/flist.c
 +++ b/flist.c
@@ -138,7 +138,7 @@ diff --git a/options.c b/options.c
 diff --git a/rsync.yo b/rsync.yo
 --- a/rsync.yo
 +++ b/rsync.yo
-@@ -427,6 +427,7 @@ to the detailed description below for a complete description.  verb(
+@@ -440,6 +440,7 @@ to the detailed description below for a complete description.  verb(
       --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
@@ -146,7 +146,7 @@ diff --git a/rsync.yo b/rsync.yo
       --checksum-seed=NUM     set block/file checksum seed (advanced)
   -4, --ipv4                  prefer IPv4
   -6, --ipv6                  prefer IPv6
-@@ -2194,6 +2195,22 @@ daemon uses the charset specified in its "charset" configuration parameter
+@@ -2217,6 +2218,22 @@ daemon uses the charset specified in its "charset" configuration parameter
  regardless of the remote charset you actually pass.  Thus, you may feel free to
  specify just the local charset for a daemon transfer (e.g. bf(--iconv=utf8)).
  
index e706b4a28541ae5be0a8807f30cf9373861f6c88..5f8f9b0ae9238179a11a16ad9ea80f9eabc6cb9c 100644 (file)
@@ -6,7 +6,7 @@ To use this patch, run these commands for a successful build:
     ./configure                          (optional if already run)
     make
 
-based-on: a5ef6969530e4616112999be9330cc442bcba7b7
+based-on: 40afd365cc8ca968fd16e161d24df5b8a8a520cc
 diff --git a/syscall.c b/syscall.c
 --- a/syscall.c
 +++ b/syscall.c
index 68771a4f939fde86ae1dcc9c7dfbc79e1a6d3552..4b714224390f4d8e9c7806941913d728c035e023 100644 (file)
@@ -7,7 +7,7 @@ To use this patch, run these commands for a successful build:
     ./configure                         (optional if already run)
     make
 
-based-on: a5ef6969530e4616112999be9330cc442bcba7b7
+based-on: 40afd365cc8ca968fd16e161d24df5b8a8a520cc
 diff --git a/flist.c b/flist.c
 --- a/flist.c
 +++ b/flist.c
@@ -159,7 +159,7 @@ diff --git a/options.c b/options.c
 diff --git a/rsync.yo b/rsync.yo
 --- a/rsync.yo
 +++ b/rsync.yo
-@@ -382,6 +382,9 @@ to the detailed description below for a complete description.  verb(
+@@ -395,6 +395,9 @@ to the detailed description below for a complete description.  verb(
       --delay-updates         put all updated files into place at end
   -m, --prune-empty-dirs      prune empty directory chains from file-list
       --numeric-ids           don't map uid/gid values by user/group name
@@ -169,7 +169,7 @@ diff --git a/rsync.yo b/rsync.yo
       --timeout=SECONDS       set I/O timeout in seconds
       --contimeout=SECONDS    set daemon connection timeout in seconds
   -I, --ignore-times          don't skip files that match size and time
-@@ -1716,6 +1719,57 @@ from the source system is used instead.  See also the comments on the
+@@ -1739,6 +1742,57 @@ from the source system is used instead.  See also the comments on the
  the chroot setting affects rsync's ability to look up the names of the
  users and groups and what you can do about it.
  
index 3b0e4d735b9190cb8cc71526627fae4814fedc18..a32c388e534348b782386344ed048809230ff0c0 100644 (file)
@@ -47,7 +47,7 @@ diff --git a/xattrs.c b/xattrs.c
  
  #define RSYNC_XAL_INITIAL 5
  #define RSYNC_XAL_LIST_INITIAL 100
-@@ -251,7 +253,7 @@ static int rsync_xal_get(const char *fname, item_list *xalp)
+@@ -254,7 +256,7 @@ static int rsync_xal_get(const char *fname, item_list *xalp)
                if (!(ptr = get_xattr_data(fname, name, &datum_len, 0)))
                        return -1;
  
@@ -56,7 +56,7 @@ diff --git a/xattrs.c b/xattrs.c
                        /* For large datums, we store a flag and a checksum. */
                        name_offset = 1 + MAX_DIGEST_LEN;
                        sum_init(checksum_seed);
-@@ -373,7 +375,7 @@ static int find_matching_xattr(item_list *xalp)
+@@ -376,7 +378,7 @@ static int find_matching_xattr(item_list *xalp)
                         || rxas1[j].datum_len != rxas2[j].datum_len
                         || strcmp(rxas1[j].name, rxas2[j].name))
                                break;
@@ -65,7 +65,7 @@ diff --git a/xattrs.c b/xattrs.c
                                if (memcmp(rxas1[j].datum + 1,
                                           rxas2[j].datum + 1,
                                           MAX_DIGEST_LEN) != 0)
-@@ -410,13 +412,22 @@ int send_xattr(int f, stat_x *sxp)
+@@ -413,13 +415,22 @@ int send_xattr(int f, stat_x *sxp)
  {
        int ndx = find_matching_xattr(sxp->xattr);
  
@@ -91,7 +91,7 @@ diff --git a/xattrs.c b/xattrs.c
                for (rxa = sxp->xattr->items; count--; rxa++) {
                        size_t name_len = rxa->name_len;
                        const char *name = rxa->name;
-@@ -435,8 +446,8 @@ int send_xattr(int f, stat_x *sxp)
+@@ -438,8 +449,8 @@ int send_xattr(int f, stat_x *sxp)
                                name_len += UPRE_LEN;
                        }
  #endif
@@ -102,7 +102,7 @@ diff --git a/xattrs.c b/xattrs.c
  #ifndef HAVE_LINUX_XATTRS
                        if (name_len > rxa->name_len) {
                                write_buf(f, USER_PREFIX, UPRE_LEN);
-@@ -444,7 +455,7 @@ int send_xattr(int f, stat_x *sxp)
+@@ -447,7 +458,7 @@ int send_xattr(int f, stat_x *sxp)
                        }
  #endif
                        write_buf(f, name, name_len);
@@ -111,7 +111,7 @@ diff --git a/xattrs.c b/xattrs.c
                                write_buf(f, rxa->datum + 1, MAX_DIGEST_LEN);
                        else
                                write_buf(f, rxa->datum, rxa->datum_len);
-@@ -494,7 +505,7 @@ int xattr_diff(struct file_struct *file, stat_x *sxp, int find_all)
+@@ -497,7 +508,7 @@ int xattr_diff(struct file_struct *file, stat_x *sxp, int find_all)
                cmp = rec_cnt ? strcmp(snd_rxa->name, rec_rxa->name) : -1;
                if (cmp > 0)
                        same = 0;
@@ -120,7 +120,7 @@ diff --git a/xattrs.c b/xattrs.c
                        same = cmp == 0 && snd_rxa->datum_len == rec_rxa->datum_len
                            && memcmp(snd_rxa->datum + 1, rec_rxa->datum + 1,
                                      MAX_DIGEST_LEN) == 0;
-@@ -539,6 +550,9 @@ void send_xattr_request(const char *fname, struct file_struct *file, int f_out)
+@@ -542,6 +553,9 @@ void send_xattr_request(const char *fname, struct file_struct *file, int f_out)
        int cnt, prior_req = 0;
        rsync_xa *rxa;
  
@@ -130,7 +130,7 @@ diff --git a/xattrs.c b/xattrs.c
        lst += F_XATTR(file);
        for (rxa = lst->items, cnt = lst->count; cnt--; rxa++) {
                if (rxa->datum_len <= MAX_FULL_DATUM)
-@@ -595,6 +609,9 @@ int recv_xattr_request(struct file_struct *file, int f_in)
+@@ -598,6 +612,9 @@ int recv_xattr_request(struct file_struct *file, int f_in)
        rsync_xa *rxa;
        int rel_pos, cnt, num, got_xattr_data = 0;
  
@@ -140,7 +140,7 @@ diff --git a/xattrs.c b/xattrs.c
        if (F_XATTR(file) < 0) {
                rprintf(FERROR, "recv_xattr_request: internal data error!\n");
                exit_cleanup(RERR_PROTOCOL);
-@@ -657,7 +674,22 @@ void receive_xattr(int f, struct file_struct *file)
+@@ -660,7 +677,22 @@ void receive_xattr(int f, struct file_struct *file)
  #else
        int need_sort = 1;
  #endif
@@ -164,7 +164,7 @@ diff --git a/xattrs.c b/xattrs.c
  
        if (ndx < 0 || (size_t)ndx > rsync_xal_l.count) {
                rprintf(FERROR, "receive_xattr: xa index %d out of"
-@@ -670,7 +702,7 @@ void receive_xattr(int f, struct file_struct *file)
+@@ -673,7 +705,7 @@ void receive_xattr(int f, struct file_struct *file)
                return;
        }
  
@@ -173,7 +173,7 @@ diff --git a/xattrs.c b/xattrs.c
                (void)EXPAND_ITEM_LIST(&temp_xattr, rsync_xa, count);
                temp_xattr.count = 0;
        }
-@@ -678,9 +710,10 @@ void receive_xattr(int f, struct file_struct *file)
+@@ -681,9 +713,10 @@ void receive_xattr(int f, struct file_struct *file)
        for (num = 1; num <= count; num++) {
                char *ptr, *name;
                rsync_xa *rxa;