[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

(usagi-users 03183) xinetd/rsync server don't finish in case of IPv6 connection is encrypted



Hi,

I ran into a very strange problem here:

2 hosts are connected via SixXS tunnels.

On one host a rsync server is running, on demand started by xinetd.

On the other host, a rsync client pushes files to the rsync server.

If I ran this connection over unencrypted IPv6, it works perfectly fine,
even if I stop the client by SIGINT (CTRL-C) [note, you have to wait until
real file transfer started]

rsync server usually starts 2 processes:

18719 ?        Ss     0:00 rsync --daemon --config=/etc/rsyncd.conf
18722 ?        S      0:00 rsync --daemon --config=/etc/rsyncd.conf

Both are gone away after SIGINT



If I ran this connection over encrypted IPv6 (either transport or tunnel),
the first one (with flags Ss) didn't go away after SIGINT. That's a problem
because it's counted to "max connections", means after 3 times SIGINT,
server is no longer accepting connections.

19017 ?        Ss     0:00 rsync --daemon --config=/etc/rsyncd.conf
19027 ?        S      0:00 rsync --daemon --config=/etc/rsyncd.conf

But the process does nothing:

# strace -p 19017
Process 19017 attached - interrupt to quit
select(1, NULL, [0], NULL, {56, 776000} <unfinished ...>
Process 19017 detached

ltrace shows nothing

# lsof -p 19017
COMMAND   PID  USER   FD   TYPE     DEVICE    SIZE     NODE NAME
rsync   19017 peter  cwd    DIR      22,65    4096 14286877 /path/to/dir
rsync   19017 peter  rtd    DIR      22,65    4096 14286877 /path/to/dir
rsync   19017 peter  txt    REG        3,1  195268   112570 /usr/bin/rsync
rsync   19017 peter  mem    REG        3,1   47432   289250
/lib/libnss_nisplus-2.3.3.so
rsync   19017 peter  mem    REG        3,1   18452   289238
/lib/libnss_dns-2.3.3.so
rsync   19017 peter  mem    REG        3,1   43072   289241
/lib/libnss_files-2.3.3.so
rsync   19017 peter  mem    REG        3,1 1414984   401009
/lib/tls/i486/libc-2.3.3.so
rsync   19017 peter  mem    REG        3,1   98176   289205 /lib/ld-2.3.3.so
rsync   19017 peter  mem    REG        3,1   82008   289224
/lib/libnsl-2.3.3.so
rsync   19017 peter  mem    REG        3,1   71356   289254
/lib/libresolv-2.3.3.so
rsync   19017 peter  mem    REG        3,1   26532   176598
/usr/lib/libpopt.so.0.0.0
rsync   19017 peter    0u  sock        0,4           326075 can't identify
protocol
rsync   19017 peter    1u   CHR        1,3             2057 /dev/null
rsync   19017 peter    2u   CHR        1,3             2057 /dev/null
rsync   19017 peter    3u  unix 0x0e8c6940           326076 socket
rsync   19017 peter    4uw  REG        3,1       0   275890
/var/run/rsyncd.lock
rsync   19017 peter    5u  unix 0x0a618040           326153 socket


I can't kill the process with SIGTERM, I have to use SIGKILL


Note that it also happen if rsync is started directly e.g. with

# rsync -v --address=2001:6f8:900:**** -6 --daemon

Result:

19834 ?        Ss     0:00 rsync -v --address=2001:6f8:900:*** -6 --daemon
19837 ?        S      0:00 rsync -v --address=2001:6f8:900:*** -6 --daemon
19855 ?        S      0:00 rsync -v --address=2001:6f8:900:*** -6 --daemon
19858 ?        S      0:00 rsync -v --address=2001:6f8:900:*** -6 --daemon

-> can't kill the processes with SIGTERM


Versions:

rsync: 2.6.3-1
kernel: 2.6.9-1.681_FC3 (from Fedora Core 3)
ipsec: Openswan IPsec U2.2.0
xinetd: 2.3.13-4

Perhaps anyone has an idea, what's going on or how to do better debugging.


        Peter
-- 
Dr. Peter Bieringer                     http://www.bieringer.de/pb/
GPG/PGP Key 0x958F422D               mailto: pb at bieringer dot de 
Deep Space 6 Co-Founder and Core Member  http://www.deepspace6.net/