[SCM] The rsync repository. - branch master updated
Rsync CVS commit messages
rsync-cvs at lists.samba.org
Wed Aug 10 00:55:25 UTC 2022
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 <wayne at 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 <wayne at opencoder.net>
Date: Tue Aug 9 17:33:45 2022 -0700
Be a little paranoid.
commit 97f40754babb503140e1516b759c501ea8fb22b4
Author: Wayne Davison <wayne at 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.
More information about the rsync-cvs
mailing list