The branch, master has been updated
       via  4c0a4067 Fix handling of a character class with an escaped closing 
bracket.
       via  85501428 Be a little paranoid.
       via  97f40754 A couple manpage tweaks.
      from  cff8f044 Add `--trust-sender` option.

https://git.samba.org/?p=rsync.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 4c0a4067df2516ce50e12a7d3ae572275fa9fc0b
Author: Wayne Davison <wa...@opencoder.net>
Date:   Tue Aug 9 17:51:00 2022 -0700

    Fix handling of a character class with an escaped closing bracket.

commit 8550142804430afcf46f84fcd0c6dfe0a9db1d76
Author: Wayne Davison <wa...@opencoder.net>
Date:   Tue Aug 9 17:33:45 2022 -0700

    Be a little paranoid.

commit 97f40754babb503140e1516b759c501ea8fb22b4
Author: Wayne Davison <wa...@opencoder.net>
Date:   Tue Aug 9 17:26:23 2022 -0700

    A couple manpage tweaks.

-----------------------------------------------------------------------

Summary of changes:
 exclude.c  | 12 ++++++++----
 rsync.1.md | 11 +++++------
 2 files changed, 13 insertions(+), 10 deletions(-)


Changeset truncated at 500 lines:

diff --git a/exclude.c b/exclude.c
index da25661b..e5774420 100644
--- a/exclude.c
+++ b/exclude.c
@@ -364,6 +364,7 @@ void free_implied_include_partial_string()
                free(partial_string_buf);
                partial_string_buf = NULL;
        }
+       partial_string_len = 0; /* paranoia */
 }
 
 /* Each arg the client sends to the remote sender turns into an implied include
@@ -379,8 +380,10 @@ void add_implied_include(const char *arg, int 
skip_daemon_module)
                return;
        if (partial_string_len) {
                arg_len = strlen(arg);
-               if (partial_string_len + arg_len >= MAXPATHLEN)
+               if (partial_string_len + arg_len >= MAXPATHLEN) {
+                       partial_string_len = 0;
                        return; /* Should be impossible... */
+               }
                memcpy(partial_string_buf + partial_string_len, arg, arg_len + 
1);
                partial_string_len = 0;
                arg = partial_string_buf;
@@ -421,9 +424,10 @@ void add_implied_include(const char *arg, int 
skip_daemon_module)
                for (cp = arg; *cp; ) {
                        switch (*cp) {
                          case '\\':
-                               if (cp[1] == ']')
-                                       cp++; /* A \] in a filter might cause a 
problem w/o wildcards. */
-                               else if (!strchr("*[?", cp[1])) {
+                               if (cp[1] == ']') {
+                                       if (!saw_wild)
+                                               cp++; /* A \] in a non-wild 
filter causes a problem, so drop the \ . */
+                               } else if (!strchr("*[?", cp[1])) {
                                        backslash_cnt++;
                                        if (saw_wild)
                                                *p++ = '\\';
diff --git a/rsync.1.md b/rsync.1.md
index 72675594..627c4290 100644
--- a/rsync.1.md
+++ b/rsync.1.md
@@ -2439,10 +2439,9 @@ expand it.
       contents will have been verified when it was created.
 
     This option may help an under-powered client server if the extra pattern
-    matching is slowing things down on a huge transfer.  It can also be used
-    to work around a bug in the verification logic, possibly after using the
-    [`--list-only`](#opt) option combined with [`--trust-sender`](#opt) to look
-    over the full file list.
+    matching is slowing things down on a huge transfer.  It can also be used to
+    work around a currently-unknown bug in the verification logic, possibly
+    after using the [`--list-only`](#opt) option to approve the file list.
 
 0.  `--copy-as=USER[:GROUP]`
 
@@ -4047,8 +4046,8 @@ Here are some examples of exclude/include matching:
 - Option `-f'- foo/*/bar'` would exclude any file/dir named bar which is at two
   levels below a directory named foo (if foo is in the transfer)
 - Option `-f'- /foo/**/bar'` would exclude any file/dir named bar that was two
-  or more levels below the top-level directory named foo (exclude /foo/bar in a
-  separate rule, if desired)
+  or more levels below a top-level directory named foo (note that /foo/bar is
+  **not** excluded by this)
 - Options `-f'+ */' -f'+ *.c' -f'- *'` would include all directories and .c
   source files but nothing else
 - Options `-f'+ foo/' -f'+ foo/bar.c' -f'- *'` would include only the foo


-- 
The rsync repository.

_______________________________________________
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs

Reply via email to