3.2.6: ERROR: rejecting unrequested file-list

2022-09-12 Thread Carlos Carvalho via rsync
I've just upgraded the Debian package to 3.2.6 and now I'm getting many cases
of this error. I see that there have been improvements in the check but it
seems they're either not enough or incompatible with 3.1.[23].

This is always with --files-from, used for mirroring. We're a large free
software mirror and distribute tens of repositories. I had to revert to 3.2.5
for now.

Is there anything I can do? I can try patches.

-- 
Please use reply-all for most replies to avoid omitting the mailing list.
To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync
Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html


Re: 3.2.6: ERROR: rejecting unrequested file-list

2022-09-12 Thread Wayne Davison via rsync
It helps to have some kind of a reproducer.  Also, keep in mind there are 2
kinds of rejections: unrequested args and unfiltered files.  The latter
should have a big improvement in the latest git version. If you want some
debug info on arg rejection, try adding `--debug=filter5` and see what
auto-created filter rules get added to approve incoming file-list items.
That might show you which file-list item is being mistranslated.

..wayne..
-- 
Please use reply-all for most replies to avoid omitting the mailing list.
To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync
Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html


[SCM] The rsync repository. - branch master updated

2022-09-12 Thread Rsync CVS commit messages
The branch, master has been updated
   via  51dae12c Update NEWS.
   via  95073031 Fix bug with validing remote filter rules.
   via  81c5c813 Mention the filename when unpack_smb_acl() returns an 
error.
   via  a6a0d2f7 Require a newer protocol to specify the digest list.
   via  418e38a8 Talk about the new daemon greeting line.
   via  b2dcabdb Improve output of "N-bit" items in json data.
  from  ad53a9b5 Also change dashes in the dict var names to make jq use 
easier.

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


- Log -
commit 51dae12c929d55cf4d5eb95c088910342809bcc5
Author: Wayne Davison 
Date:   Mon Sep 12 22:04:33 2022 -0700

Update NEWS.

commit 950730313de994d191ba2d5be575e97690b355e8
Author: Wayne Davison 
Date:   Mon Sep 12 22:02:00 2022 -0700

Fix bug with validing remote filter rules.

commit 81c5c81381d86d84fca3a2681ad0c2027bc65d6e
Author: Wayne Davison 
Date:   Sun Sep 11 10:03:16 2022 -0700

Mention the filename when unpack_smb_acl() returns an error.

commit a6a0d2f77c7d1f06829c301914585a3d873fcd39
Author: Wayne Davison 
Date:   Sat Sep 10 21:52:54 2022 -0700

Require a newer protocol to specify the digest list.

commit 418e38a8789fd9b668961f945382c78806f2fb20
Author: Wayne Davison 
Date:   Sat Sep 10 21:30:46 2022 -0700

Talk about the new daemon greeting line.

commit b2dcabdbb9a50074655bd731425c13cea5874c76
Author: Wayne Davison 
Date:   Sat Sep 10 21:05:07 2022 -0700

Improve output of "N-bit" items in json data.

---

Summary of changes:
 NEWS.md|  4 +++-
 acls.c |  1 +
 clientserver.c | 12 ---
 csprotocol.txt | 52 --
 exclude.c  | 35 ++-
 flist.c|  2 +-
 rsync.h|  1 +
 support/json-rsync-version | 13 
 usage.c| 11 +++---
 9 files changed, 89 insertions(+), 42 deletions(-)


Changeset truncated at 500 lines:

diff --git a/NEWS.md b/NEWS.md
index fe962ad0..44eddd9b 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -4,7 +4,9 @@
 
 ### BUG FIXES:
 
-- ...
+- Fix a bug with validating remote filter rules.
+
+- When rsync gets and unpack error on an ACL, mention the filename.
 
 ### ENHANCEMENTS:
 
diff --git a/acls.c b/acls.c
index 12e662cf..3cf12eeb 100644
--- a/acls.c
+++ b/acls.c
@@ -519,6 +519,7 @@ static int get_rsync_acl(const char *fname, rsync_acl *racl,
 
sys_acl_free_acl(sacl);
if (!ok) {
+   rsyserr(FERROR_XFER, errno, "get_acl: 
unpack_smb_acl(%s)", fname);
return -1;
}
} else if (no_acl_syscall_error(errno)) {
diff --git a/clientserver.c b/clientserver.c
index 7436d01e..9ad7eaf7 100644
--- a/clientserver.c
+++ b/clientserver.c
@@ -184,11 +184,11 @@ static int exchange_protocols(int f_in, int f_out, char 
*buf, size_t bufsiz, int
}
 
if (remote_sub < 0) {
-   if (remote_protocol == 30) {
+   if (remote_protocol >= 30) {
if (am_client)
-   rprintf(FERROR, "rsync: server is speaking an 
incompatible beta of protocol 30\n");
+   rprintf(FERROR, "rsync: the server omitted the 
subprotocol value: %s\n", buf);
else
-   io_printf(f_out, "@ERROR: your client is 
speaking an incompatible beta of protocol 30\n");
+   io_printf(f_out, "@ERROR: your client omitted 
the subprotocol value: %s\n", buf);
return -1;
}
remote_sub = 0;
@@ -200,6 +200,12 @@ static int exchange_protocols(int f_in, int f_out, char 
*buf, size_t bufsiz, int
daemon_auth_choices = strdup(daemon_auth_choices + 1);
if ((cp = strchr(daemon_auth_choices, '\n')) != NULL)
*cp = '\0';
+   } else if (remote_protocol > 31) {
+   if (am_client)
+   rprintf(FERROR, "rsync: the server omitted the digest 
name list: %s\n", buf);
+   else
+   io_printf(f_out, "@ERROR: your client omitted the 
digest name list: %s\n", buf);
+   return -1;
}
 
if (protocol_version > remote_protocol) {
diff --git a/csprotocol.txt b/csprotocol.txt
index c8dadd41..4c7ec5b8 100644
--- a/csprotocol.txt
+++ b/csprotocol.txt
@@ -7,39 +7,54 @@ basically a summary of clientserver.c and authenticate.c.
 This is the protocol used for rsync --daemon; i.e. connections to port
 873 rather than invocations over a remote shell.
 
-When the server accepts a connection, it prints a greeting
+When the server accepts a connection, it prints a