rsync 3.2.7 hangs when --usermap is used and receiver is not a super-user

Tomasz Chmielewski mangoo at wpkg.org
Thu Mar 9 08:10:55 UTC 2023


On 2023-03-09 08:15, Francis.Montagnac at inria.fr wrote:
> Hi.
> 
> On Wed, 08 Mar 2023 22:21:28 +0100 Tomasz Chmielewski via rsync wrote:
> 
>> After upgrading to rsync 3.2.7, the following command hangs forever
>> (using "--usermap" causes the hang; without "--usermap" it doesn't
>> hang):
> 
>> rsync -v -p -e --usermap user:user /etc/services user at remote:
> 
> This command is incorrect: the -e option needs a command.
> 
> Without -e this command works for me on Fedora-37 with
> rsync-3.2.7-1.fc37.x86_64

I've removed some excessive parameters and filenames from my original 
ones, but left over the "-e" which is indeed not needed there.

There seems to be some other requirements for it to be reproduced:

1) transfer on the localhost, Ubuntu 22.10 (rsync 
3.2.7-0ubuntu0.22.10.1) - NOT reproducible:

$ rsync -v -p --usermap tch:tch /etc/services tch at localhost:/tmp
services

sent 160 bytes  received 149 bytes  618.00 bytes/sec
total size is 12,813  speedup is 41.47
$


2) transfer from Debian 11 (rsync 3.2.3-4+deb11u1) to Ubuntu 22.10 
(rsync 3.2.7-0ubuntu0.22.10.1) - reproducible, hangs:

# rsync -p --usermap user:user /etc/services user at 10.42.0.47:/tmp
[...never returns, needs ctrl+C...]

Also hangs when the user provided to --usermap does not exist

# rsync -p --usermap does-not-exist:does-not-exist /etc/services 
tch at 10.42.0.47:/tmp
Unknown --usermap name on receiver: does-not-exist
[...never returns, needs ctrl+C...]


3) transfer from 22.10 (rsync 3.2.7-0ubuntu0.22.10.1) to Ubuntu 22.04 
(rsync 3.2.7-0ubuntu0.22.04.2) - NOT reproducible:

$ rsync -p --usermap does-not-exist:does-not-exist /etc/services 
tch at 192.168.1.23:/tmp
Unknown --usermap name on receiver: does-not-exist
$


4) transfer from Debian 11 (rsync 3.2.3-4+deb11u1) to Ubuntu 22.04 
(rsync 3.2.7-0ubuntu0.22.04.2) - reproducible, hangs:

# rsync -p --usermap does-not-exist:does-not-exist /etc/services 
tch at 192.168.1.23:/tmp
Unknown --usermap name on receiver: does-not-exist
[...never returns, needs ctrl+C...]



So from the tests above, it hangs with rsync 3.2.3 on the sender and 
rsync 3.2.7 on the receiver. I'll run some more tests.


Tomasz Chmielewski



More information about the rsync mailing list