<pre style='margin:0'>
Ryan Schmidt (ryandesign) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/65b37611552d929102c30ca9e8e6ebc4d560832d">https://github.com/macports/macports-ports/commit/65b37611552d929102c30ca9e8e6ebc4d560832d</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 65b37611552d929102c30ca9e8e6ebc4d560832d
</span>Author: Ryan Schmidt <ryandesign@macports.org>
AuthorDate: Sat Sep 10 15:16:29 2022 -0500

<span style='display:block; white-space:pre;color:#404040;'>    rsync: Update to 3.2.6
</span>---
 net/rsync/Portfile                           |  8 +--
 net/rsync/files/fileflags.diff               | 92 ++++++++++++++--------------
 net/rsync/files/patch-acls-unpack-error.diff | 12 +---
 3 files changed, 51 insertions(+), 61 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/net/rsync/Portfile b/net/rsync/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 5ecb44eaf7a..61d6d03ffe8 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/net/rsync/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/net/rsync/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -5,12 +5,12 @@ PortGroup           compiler_blacklist_versions 1.0
</span> 
 name                rsync
 conflicts           rsync-hfscomp
<span style='display:block; white-space:pre;background:#ffe0e0;'>-version             3.2.5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version             3.2.6
</span> revision            0
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums           rmd160  452cc150f90508af9887307bc3f91f1b8d99ca12 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha256  2ac4d21635cdf791867bc377c35ca6dda7f50d919a58be45057fd51600c69aba \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    size    1129957
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           rmd160  182444cd1ddc7b54851f463da7f3cb8a6a91eb5d \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  fb3365bab27837d41feaf42e967c57bd3a47bc8f10765a3671efd6a3835454d3 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    1138593
</span> 
 categories          net
 license             {GPL-3+ OpenSSLException}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/net/rsync/files/fileflags.diff b/net/rsync/files/fileflags.diff
</span><span style='display:block; white-space:pre;color:#808080;'>index 0b937cf6b58..95a2e92c2f4 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/net/rsync/files/fileflags.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/net/rsync/files/fileflags.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -7,7 +7,7 @@ To use this patch, run these commands for a successful build:
</span>     ./configure                         (optional if already run)
     make
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-based-on: 0ac7ebceef70417355f25daf9e2fd94e84c49749
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+based-on: db5bfe67a5d022f9ad25340db6bc2cca2cbbdb65
</span> diff --git a/compat.c b/compat.c
 --- a/compat.c
 +++ b/compat.c
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -36,7 +36,7 @@ diff --git a/compat.c b/compat.c
</span>  
  int receiver_symlink_times = 0; /* receiver can set the time on a symlink */
  int sender_symlink_iconv = 0; /* sender should convert symlink content */
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -574,6 +576,8 @@ void setup_protocol(int f_out,int f_in)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -578,6 +580,8 @@ void setup_protocol(int f_out,int f_in)
</span>           uid_ndx = ++file_extra_cnt;
        if (preserve_gid)
                gid_ndx = ++file_extra_cnt;
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -45,7 +45,7 @@ diff --git a/compat.c b/compat.c
</span>   if (preserve_acls && !am_sender)
                acls_ndx = ++file_extra_cnt;
        if (preserve_xattrs)
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -737,6 +741,10 @@ void setup_protocol(int f_out,int f_in)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -741,6 +745,10 @@ void setup_protocol(int f_out,int f_in)
</span>                   fprintf(stderr, "Both rsync versions must be at least 3.2.0 for --crtimes.\n");
                        exit_cleanup(RERR_PROTOCOL);
                }
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -180,7 +180,7 @@ diff --git a/flist.c b/flist.c
</span>  
        if (preserve_uid && !(xflags & XMIT_SAME_UID)) {
                if (protocol_version < 30)
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1042,6 +1069,10 @@ static struct file_struct *recv_file_entry(int f, struct file_list *flist, int x
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1055,6 +1082,10 @@ static struct file_struct *recv_file_entry(int f, struct file_list *flist, int x
</span>   }
  #endif
        file->mode = mode;
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -191,7 +191,7 @@ diff --git a/flist.c b/flist.c
</span>   if (preserve_uid)
                F_OWNER(file) = uid;
        if (preserve_gid) {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1455,6 +1486,10 @@ struct file_struct *make_file(const char *fname, struct file_list *flist,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1468,6 +1499,10 @@ struct file_struct *make_file(const char *fname, struct file_list *flist,
</span>   }
  #endif
        file->mode = st.st_mode;
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -367,7 +367,7 @@ diff --git a/main.c b/main.c
</span> diff --git a/options.c b/options.c
 --- a/options.c
 +++ b/options.c
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -54,6 +54,7 @@ int preserve_hard_links = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -56,6 +56,7 @@ int preserve_hard_links = 0;
</span>  int preserve_acls = 0;
  int preserve_xattrs = 0;
  int preserve_perms = 0;
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -375,7 +375,7 @@ diff --git a/options.c b/options.c
</span>  int preserve_executability = 0;
  int preserve_devices = 0;
  int preserve_specials = 0;
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -95,6 +96,7 @@ int msgs2stderr = 2; /* Default: send errors to stderr for local & remote-shell
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -98,6 +99,7 @@ int msgs2stderr = 2; /* Default: send errors to stderr for local & remote-shell
</span>  int saw_stderr_opt = 0;
  int allow_8bit_chars = 0;
  int force_delete = 0;
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -383,7 +383,7 @@ diff --git a/options.c b/options.c
</span>  int io_timeout = 0;
  int prune_empty_dirs = 0;
  int use_qsort = 0;
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -619,6 +621,8 @@ static struct poptOption long_options[] = {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -622,6 +624,8 @@ static struct poptOption long_options[] = {
</span>    {"perms",           'p', POPT_ARG_VAL,    &preserve_perms, 1, 0, 0 },
    {"no-perms",         0,  POPT_ARG_VAL,    &preserve_perms, 0, 0, 0 },
    {"no-p",             0,  POPT_ARG_VAL,    &preserve_perms, 0, 0, 0 },
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -392,7 +392,7 @@ diff --git a/options.c b/options.c
</span>    {"executability",   'E', POPT_ARG_NONE,   &preserve_executability, 0, 0, 0 },
    {"acls",            'A', POPT_ARG_NONE,   0, 'A', 0, 0 },
    {"no-acls",          0,  POPT_ARG_VAL,    &preserve_acls, 0, 0, 0 },
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -717,6 +721,12 @@ static struct poptOption long_options[] = {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -720,6 +724,12 @@ static struct poptOption long_options[] = {
</span>    {"remove-source-files",0,POPT_ARG_VAL,    &remove_source_files, 1, 0, 0 },
    {"force",            0,  POPT_ARG_VAL,    &force_delete, 1, 0, 0 },
    {"no-force",         0,  POPT_ARG_VAL,    &force_delete, 0, 0, 0 },
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -405,7 +405,7 @@ diff --git a/options.c b/options.c
</span>    {"ignore-errors",    0,  POPT_ARG_VAL,    &ignore_errors, 1, 0, 0 },
    {"no-ignore-errors", 0,  POPT_ARG_VAL,    &ignore_errors, 0, 0, 0 },
    {"max-delete",       0,  POPT_ARG_INT,    &max_delete, 0, 0, 0 },
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1009,6 +1019,14 @@ static void set_refuse_options(void)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1015,6 +1025,14 @@ static void set_refuse_options(void)
</span>  #ifndef SUPPORT_CRTIMES
        parse_one_refuse_match(0, "crtimes", list_end);
  #endif
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -420,7 +420,7 @@ diff --git a/options.c b/options.c
</span>  
        /* Now we use the descrip values to actually mark the options for refusal. */
        for (op = long_options; op != list_end; op++) {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2689,6 +2707,9 @@ void server_options(char **args, int *argc_p)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2712,6 +2730,9 @@ void server_options(char **args, int *argc_p)
</span>   if (xfer_dirs && !recurse && delete_mode && am_sender)
                args[ac++] = "--no-r";
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -430,7 +430,7 @@ diff --git a/options.c b/options.c
</span>   if (do_compression && do_compression_level != CLVL_NOT_SPECIFIED) {
                if (asprintf(&arg, "--compress-level=%d", do_compression_level) < 0)
                        goto oom;
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2784,6 +2805,16 @@ void server_options(char **args, int *argc_p)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2807,6 +2828,16 @@ void server_options(char **args, int *argc_p)
</span>                   args[ac++] = "--delete-excluded";
                if (force_delete)
                        args[ac++] = "--force";
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -450,7 +450,7 @@ diff --git a/options.c b/options.c
</span> diff --git a/rsync.1.md b/rsync.1.md
 --- a/rsync.1.md
 +++ b/rsync.1.md
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -366,6 +366,7 @@ has its own detailed description later in this manpage.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -410,6 +410,7 @@ has its own detailed description later in this manpage.
</span>  --keep-dirlinks, -K      treat symlinked dir on receiver as dir
  --hard-links, -H         preserve hard links
  --perms, -p              preserve permissions
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -458,7 +458,7 @@ diff --git a/rsync.1.md b/rsync.1.md
</span>  --executability, -E      preserve executability
  --chmod=CHMOD            affect file and/or directory permissions
  --acls, -A               preserve ACLs (implies --perms)
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -407,7 +408,10 @@ has its own detailed description later in this manpage.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -451,7 +452,10 @@ has its own detailed description later in this manpage.
</span>  --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
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -470,7 +470,7 @@ diff --git a/rsync.1.md b/rsync.1.md
</span>  --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
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -739,6 +743,7 @@ your home directory (remove the '=' for that).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -792,6 +796,7 @@ expand it.
</span>      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`).
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -478,7 +478,7 @@ diff --git a/rsync.1.md b/rsync.1.md
</span>  
      The only exception to the above equivalence is when [`--files-from`](#opt)
      is specified, in which case [`-r`](#opt) is not implied.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1199,7 +1204,7 @@ your home directory (remove the '=' for that).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1251,7 +1256,7 @@ expand it.
</span>      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
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -487,7 +487,7 @@ diff --git a/rsync.1.md b/rsync.1.md
</span>  
      See also [`--keep-dirlinks`](#opt) for an analogous option for the
      receiving side.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1394,6 +1399,37 @@ your home directory (remove the '=' for that).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1446,6 +1451,37 @@ expand it.
</span>      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).
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -525,7 +525,7 @@ diff --git a/rsync.1.md b/rsync.1.md
</span>  0.  `--chmod=CHMOD`
  
      This option tells rsync to apply one or more comma-separated "chmod" modes
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1897,8 +1933,8 @@ your home directory (remove the '=' for that).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1963,8 +1999,8 @@ expand it.
</span>      [`--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
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -536,7 +536,7 @@ diff --git a/rsync.1.md b/rsync.1.md
</span>      independent of any other type of delete processing.
  
      The missing source files are represented by special file-list entries which
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1909,14 +1945,14 @@ your home directory (remove the '=' for that).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1975,14 +2011,14 @@ expand it.
</span>      Tells [`--delete`](#opt) to go ahead and delete files even when there are
      I/O errors.
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -554,7 +554,7 @@ diff --git a/rsync.1.md b/rsync.1.md
</span>      [`--recursive`](#opt) option was also enabled.
  
  0.  `--max-delete=NUM`
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2913,7 +2949,7 @@ your home directory (remove the '=' for that).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -3040,7 +3076,7 @@ expand it.
</span>      also turns on the output of other verbose messages).
  
      The "%i" escape has a cryptic output that is 11 letters long.  The general
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -701,7 +701,7 @@ diff --git a/rsync.h b/rsync.h
</span>  #define ITEM_REPORT_CRTIME (1<<10)
  #define ITEM_BASIS_TYPE_FOLLOWS (1<<11)
  #define ITEM_XNAME_FOLLOWS (1<<12)
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -590,6 +592,31 @@ typedef unsigned int size_t;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -593,6 +595,31 @@ typedef unsigned int size_t;
</span>  #define SUPPORT_CRTIMES 1
  #endif
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -733,7 +733,7 @@ diff --git a/rsync.h b/rsync.h
</span>  /* 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. */
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -821,6 +848,7 @@ extern int pathname_ndx;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -824,6 +851,7 @@ extern int pathname_ndx;
</span>  extern int depth_ndx;
  extern int uid_ndx;
  extern int gid_ndx;
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -741,7 +741,7 @@ diff --git a/rsync.h b/rsync.h
</span>  extern int acls_ndx;
  extern int xattrs_ndx;
  
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -875,6 +903,11 @@ extern int xattrs_ndx;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -878,6 +906,11 @@ extern int xattrs_ndx;
</span>  /* 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
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -952,10 +952,10 @@ diff --git a/t_stub.c b/t_stub.c
</span>  int module_dirlen = 0;
 +int force_change = 0;
 +int preserve_acls = 0;
<span style='display:block; white-space:pre;background:#ffe0e0;'>- int preserve_mtimes = 0;
</span>  int preserve_xattrs = 0;
  int preserve_perms = 0;
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -112,3 +114,23 @@ filter_rule_list daemon_filter_list;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int preserve_executability = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -111,3 +113,23 @@ filter_rule_list daemon_filter_list;
</span>  {
        return cst ? 0 : 0;
  }
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1013,7 +1013,7 @@ diff --git a/usage.c b/usage.c
</span> diff --git a/util1.c b/util1.c
 --- a/util1.c
 +++ b/util1.c
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -35,6 +35,7 @@ extern int preserve_mtimes;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -34,6 +34,7 @@ extern int relative_paths;
</span>  extern int preserve_xattrs;
  extern int omit_link_times;
  extern int preallocate_files;
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1021,7 +1021,7 @@ diff --git a/util1.c b/util1.c
</span>  extern char *module_dir;
  extern unsigned int module_dirlen;
  extern char *partial_dir;
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -117,6 +118,33 @@ void print_child_argv(const char *prefix, char **cmd)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -116,6 +117,33 @@ void print_child_argv(const char *prefix, char **cmd)
</span>   rprintf(FCLIENT, " (%d args)\n", cnt);
  }
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1055,7 +1055,7 @@ diff --git a/util1.c b/util1.c
</span>  /* This returns 0 for success, 1 for a symlink if symlink time-setting
   * is not possible, or -1 for any other error. */
  int set_times(const char *fname, STRUCT_STAT *stp)
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -144,6 +172,10 @@ int set_times(const char *fname, STRUCT_STAT *stp)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -143,6 +171,10 @@ int set_times(const char *fname, STRUCT_STAT *stp)
</span>  #include "case_N.h"
                if (do_utimensat(fname, stp) == 0)
                        break;
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1066,7 +1066,7 @@ diff --git a/util1.c b/util1.c
</span>           if (errno != ENOSYS)
                        return -1;
                switch_step++;
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -153,6 +185,10 @@ int set_times(const char *fname, STRUCT_STAT *stp)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -152,6 +184,10 @@ int set_times(const char *fname, STRUCT_STAT *stp)
</span>  #include "case_N.h"
                if (do_lutimes(fname, stp) == 0)
                        break;
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1077,7 +1077,7 @@ diff --git a/util1.c b/util1.c
</span>           if (errno != ENOSYS)
                        return -1;
                switch_step++;
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -174,6 +210,10 @@ int set_times(const char *fname, STRUCT_STAT *stp)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -173,6 +209,10 @@ int set_times(const char *fname, STRUCT_STAT *stp)
</span>           if (do_utime(fname, stp) == 0)
                        break;
  #endif
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1121,7 +1121,7 @@ diff --git a/xattrs.c b/xattrs.c
</span> diff -Nurp a/rsync.1 b/rsync.1
 --- a/rsync.1
 +++ b/rsync.1
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -443,6 +443,7 @@ has its own detailed description later i
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -488,6 +488,7 @@ has its own detailed description later i
</span>  --keep-dirlinks, -K      treat symlinked dir on receiver as dir
  --hard-links, -H         preserve hard links
  --perms, -p              preserve permissions
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1129,7 +1129,7 @@ diff -Nurp a/rsync.1 b/rsync.1
</span>  --executability, -E      preserve executability
  --chmod=CHMOD            affect file and/or directory permissions
  --acls, -A               preserve ACLs (implies --perms)
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -484,7 +485,10 @@ has its own detailed description later i
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -529,7 +530,10 @@ has its own detailed description later i
</span>  --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
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1141,7 +1141,7 @@ diff -Nurp a/rsync.1 b/rsync.1
</span>  --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
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -806,6 +810,7 @@ This is equivalent to \fB\-rlptgoD\fP.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -857,6 +861,7 @@ This is equivalent to \fB\-rlptgoD\fP.
</span>  recursion and want to preserve almost everything.  Be aware that it does
  \fBnot\fP include preserving ACLs (\fB\-A\fP), xattrs (\fB\-X\fP), atimes (\fB\-U\fP),
  crtimes (\fB\-N\fP), nor the finding and preserving of hardlinks (\fB\-H\fP).
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1149,7 +1149,7 @@ diff -Nurp a/rsync.1 b/rsync.1
</span>  .IP
  The only exception to the above equivalence is when \fB\-\-files-from\fP
  is specified, in which case \fB\-r\fP is not implied.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1270,7 +1275,7 @@ to non-directories to be affected, as th
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1320,7 +1325,7 @@ to non-directories to be affected, as th
</span>  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
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1158,7 +1158,7 @@ diff -Nurp a/rsync.1 b/rsync.1
</span>  .IP
  See also \fB\-\-keep-dirlinks\fP for an analogous option for the
  receiving side.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1488,6 +1493,29 @@ receiver-only rule that excludes all nam
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1538,6 +1543,29 @@ receiver-only rule that excludes all nam
</span>  Note that the \fB\-X\fP option does not copy rsync's special xattr values (e.g.
  those used by \fB\-\-fake-super\fP) unless you repeat the option (e.g. \fB\-XX\fP).
  This "copy all xattrs" mode cannot be used with \fB\-\-fake-super\fP.
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1188,7 +1188,7 @@ diff -Nurp a/rsync.1 b/rsync.1
</span>  .IP "\fB\-\-chmod=CHMOD\fP"
  This option tells rsync to apply one or more comma-separated "chmod" modes
  to the permission of the files in the transfer.  The resulting value is
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1945,8 +1973,8 @@ This option takes the behavior of the (i
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2008,8 +2036,8 @@ This option takes the behavior of the (i
</span>  \fB\-\-ignore-missing-args\fP 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
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1199,7 +1199,7 @@ diff -Nurp a/rsync.1 b/rsync.1
</span>  independent of any other type of delete processing.
  .IP
  The missing source files are represented by special file-list entries which
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1954,13 +1982,13 @@ display as a "\fB*missing\fP" entry in t
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2017,13 +2045,13 @@ display as a "\fB*missing\fP" entry in t
</span>  .IP "\fB\-\-ignore-errors\fP"
  Tells \fB\-\-delete\fP to go ahead and delete files even when there are
  I/O errors.
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1216,7 +1216,7 @@ diff -Nurp a/rsync.1 b/rsync.1
</span>  \fB\-\-recursive\fP option was also enabled.
  .IP "\fB\-\-max-delete=NUM\fP"
  This tells rsync not to delete more than NUM files or directories.  If that
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2950,7 +2978,7 @@ version 2.6.7 (you can use \fB\-vv\fP wi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -3082,7 +3110,7 @@ version 2.6.7 (you can use \fB\-vv\fP wi
</span>  also turns on the output of other verbose messages).
  .IP
  The "%i" escape has a cryptic output that is 11 letters long.  The general
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1228,7 +1228,7 @@ diff -Nurp a/rsync.1 b/rsync.1
</span> diff -Nurp a/rsync.1.html b/rsync.1.html
 --- a/rsync.1.html
 +++ b/rsync.1.html
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -361,6 +361,7 @@ has its own detailed description later i
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -399,6 +399,7 @@ has its own detailed description later i
</span>  --keep-dirlinks, -K      treat symlinked dir on receiver as dir
  --hard-links, -H         preserve hard links
  --perms, -p              preserve permissions
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1236,7 +1236,7 @@ diff -Nurp a/rsync.1.html b/rsync.1.html
</span>  --executability, -E      preserve executability
  --chmod=CHMOD            affect file and/or directory permissions
  --acls, -A               preserve ACLs (implies --perms)
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -402,7 +403,10 @@ has its own detailed description later i
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -440,7 +441,10 @@ has its own detailed description later i
</span>  --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
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1248,7 +1248,7 @@ diff -Nurp a/rsync.1.html b/rsync.1.html
</span>  --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
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -722,7 +726,8 @@ section.</p>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -764,7 +768,8 @@ section.</p>
</span>  <p>This is equivalent to <code>-rlptgoD</code>.  It is a quick way of saying you want
  recursion and want to preserve almost everything.  Be aware that it does
  <strong>not</strong> include preserving ACLs (<code>-A</code>), xattrs (<code>-X</code>), atimes (<code>-U</code>),
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1258,7 +1258,7 @@ diff -Nurp a/rsync.1.html b/rsync.1.html
</span>  <p>The only exception to the above equivalence is when <a href="#opt--files-from"><code>--files-from</code></a>
  is specified, in which case <a href="#opt-r"><code>-r</code></a> is not implied.</p>
  </dd>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1149,7 +1154,7 @@ to non-directories to be affected, as th
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1190,7 +1195,7 @@ to non-directories to be affected, as th
</span>  <p>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
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1267,7 +1267,7 @@ diff -Nurp a/rsync.1.html b/rsync.1.html
</span>  <p>See also <a href="#opt--keep-dirlinks"><code>--keep-dirlinks</code></a> for an analogous option for the
  receiving side.</p>
  <p><code>--copy-dirlinks</code> applies to all symlinks to directories in the source.  If
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1336,6 +1341,37 @@ those used by <a href="#opt--fake-super"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1377,6 +1382,37 @@ those used by <a href="#opt--fake-super"
</span>  This &quot;copy all xattrs&quot; mode cannot be used with <a href="#opt--fake-super"><code>--fake-super</code></a>.</p>
  </dd>
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1305,7 +1305,7 @@ diff -Nurp a/rsync.1.html b/rsync.1.html
</span>  <dt id="opt--chmod"><code>--chmod=CHMOD</code><a href="#opt--chmod" class="tgt"></a></dt><dd>
  <p>This option tells rsync to apply one or more comma-separated &quot;chmod&quot; modes
  to the permission of the files in the transfer.  The resulting value is
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1799,8 +1835,8 @@ is no longer there.</p>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1849,8 +1885,8 @@ is no longer there.</p>
</span>  <a href="#opt--ignore-missing-args"><code>--ignore-missing-args</code></a> 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
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1316,7 +1316,7 @@ diff -Nurp a/rsync.1.html b/rsync.1.html
</span>  independent of any other type of delete processing.</p>
  <p>The missing source files are represented by special file-list entries which
  display as a &quot;<code>*missing</code>&quot; entry in the <a href="#opt--list-only"><code>--list-only</code></a> output.</p>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1811,12 +1847,12 @@ display as a &quot;<code>*missing</code>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1861,12 +1897,12 @@ display as a &quot;<code>*missing</code>
</span>  I/O errors.</p>
  </dd>
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1332,7 +1332,7 @@ diff -Nurp a/rsync.1.html b/rsync.1.html
</span>  <a href="#opt--recursive"><code>--recursive</code></a> option was also enabled.</p>
  </dd>
  
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2732,7 +2768,7 @@ files will also be output, but only if t
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2836,7 +2872,7 @@ files will also be output, but only if t
</span>  version 2.6.7 (you can use <code>-vv</code> with older versions of rsync, but that
  also turns on the output of other verbose messages).</p>
  <p>The &quot;%i&quot; escape has a cryptic output that is 11 letters long.  The general
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/net/rsync/files/patch-acls-unpack-error.diff b/net/rsync/files/patch-acls-unpack-error.diff
</span><span style='display:block; white-space:pre;color:#808080;'>index bc882598d7d..dcda1f8446e 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/net/rsync/files/patch-acls-unpack-error.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/net/rsync/files/patch-acls-unpack-error.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2,17 +2,7 @@ This patch causes rsync to report which files caused the unpack_smb_acl()
</span> error, instead of just noting that one happened. This allows the end
 user to check the ACL of the reported file by hand.
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-To use this patch, run these commands for a successful build:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    patch -p1 <patches/fileflags.diff
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    patch -p1 <patches/crtimes.diff
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    patch -p1 <patches/hfs-compression.diff
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    patch -p1 <patches/hfs-compression-options.diff
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    patch -p1 <patches/acls-unpack-error.diff
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    ./prepare-source
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    ./configure
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    make
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://github.com/WayneD/rsync/commit/81c5c81381d86d84fca3a2681ad0c2027bc65d6e
</span> --- a/acls.c      2020-06-25 22:54:21.000000000 -0500
 +++ b/acls.c   2020-07-06 16:31:26.000000000 -0500
 @@ -519,6 +519,7 @@
</pre><pre style='margin:0'>

</pre>