Versions:
lftp 3.4.4
openssl 0.9.7 and 0.9.8
RedHat ES 3.0
I am using lftp to connect to a ftps server to put and get files. When
I connect to the ftps server and issue a ls command lftp hangs with the
following message: `ls' at 0 [Receiving data]. lftp does not come back
unless I issue a control-c. Interestingly enough I can use the version
of lftp that comes with RedHat ES 3.0 and the ls command works. The
RedHat version is 2.6.3.
Here is the debug session information:
lftp [EMAIL PROTECTED]:~> debug
lftp [EMAIL PROTECTED]:~> ls
---> PASV
<--- 227 192,168,1,1,25,7
---- Connecting data socket to (192.168.1.1) port 6407
---- Data connection established
---> LIST
<--- 150 Data connection open for transfer of file EFDR6730.
`ls' at 0 [Receiving data]
Here is the strace output for lftp(after issuing the ls command):
[EMAIL PROTECTED]> strace -p 664
Process 664 attached - interrupt to quit
gettimeofday({1145390850, 144478}, NULL) = 0
fcntl64(0, F_GETFL) = 0x8002 (flags O_RDWR|O_LARGEFILE)
fcntl64(0, F_SETFL, O_RDWR|O_NONBLOCK|O_LARGEFILE) = 0
read(0, 0xbfff81bb, 1) = -1 EAGAIN (Resource
temporarily unavailable)
fcntl64(0, F_SETFL, O_RDWR|O_LARGEFILE) = 0
read(4, 0x853edc0, 5) = -1 EAGAIN (Resource
temporarily unavailable)
read(4, 0x853edc0, 5) = -1 EAGAIN (Resource
temporarily unavailable)
poll([{fd=0, events=POLLIN, revents=POLLIN}, {fd=4, events=POLLIN}], 2,
175000) = 1
gettimeofday({1145390853, 989671}, NULL) = 0
fcntl64(0, F_GETFL) = 0x8002 (flags O_RDWR|O_LARGEFILE)
fcntl64(0, F_SETFL, O_RDWR|O_NONBLOCK|O_LARGEFILE) = 0
read(0, "l", 1) = 1
fcntl64(0, F_SETFL, O_RDWR|O_LARGEFILE) = 0
read(4, 0x853edc0, 5) = -1 EAGAIN (Resource
temporarily unavailable)
read(4, 0x853edc0, 5) = -1 EAGAIN (Resource
temporarily unavailable)
write(1, "l", 1) = 1
rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
gettimeofday({1145390853, 993420}, NULL) = 0
fcntl64(0, F_GETFL) = 0x8002 (flags O_RDWR|O_LARGEFILE)
fcntl64(0, F_SETFL, O_RDWR|O_NONBLOCK|O_LARGEFILE) = 0
read(0, 0xbfff81bb, 1) = -1 EAGAIN (Resource
temporarily unavailable)
fcntl64(0, F_SETFL, O_RDWR|O_LARGEFILE) = 0
read(4, 0x853edc0, 5) = -1 EAGAIN (Resource
temporarily unavailable)
read(4, 0x853edc0, 5) = -1 EAGAIN (Resource
temporarily unavailable)
poll([{fd=0, events=POLLIN, revents=POLLIN}, {fd=4, events=POLLIN}], 2,
172000) = 1
gettimeofday({1145390854, 83791}, NULL) = 0
fcntl64(0, F_GETFL) = 0x8002 (flags O_RDWR|O_LARGEFILE)
fcntl64(0, F_SETFL, O_RDWR|O_NONBLOCK|O_LARGEFILE) = 0
read(0, "s", 1) = 1
fcntl64(0, F_SETFL, O_RDWR|O_LARGEFILE) = 0
read(4, 0x853edc0, 5) = -1 EAGAIN (Resource
temporarily unavailable)
read(4, 0x853edc0, 5) = -1 EAGAIN (Resource
temporarily unavailable)
write(1, "s", 1) = 1
rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
gettimeofday({1145390854, 87198}, NULL) = 0
fcntl64(0, F_GETFL) = 0x8002 (flags O_RDWR|O_LARGEFILE)
fcntl64(0, F_SETFL, O_RDWR|O_NONBLOCK|O_LARGEFILE) = 0
read(0, 0xbfff81bb, 1) = -1 EAGAIN (Resource
temporarily unavailable)
fcntl64(0, F_SETFL, O_RDWR|O_LARGEFILE) = 0
read(4, 0x853edc0, 5) = -1 EAGAIN (Resource
temporarily unavailable)
read(4, 0x853edc0, 5) = -1 EAGAIN (Resource
temporarily unavailable)
poll([{fd=0, events=POLLIN, revents=POLLIN}, {fd=4, events=POLLIN}], 2,
171000) = 1
gettimeofday({1145390854, 227146}, NULL) = 0
fcntl64(0, F_GETFL) = 0x8002 (flags O_RDWR|O_LARGEFILE)
fcntl64(0, F_SETFL, O_RDWR|O_NONBLOCK|O_LARGEFILE) = 0
read(0, "\r", 1) = 1
fcntl64(0, F_SETFL, O_RDWR|O_LARGEFILE) = 0
read(4, 0x853edc0, 5) = -1 EAGAIN (Resource
temporarily unavailable)
read(4, 0x853edc0, 5) = -1 EAGAIN (Resource
temporarily unavailable)
write(1, "\n", 1) = 1
rt_sigprocmask(SIG_BLOCK, [INT], [], 8) = 0
ioctl(0, SNDCTL_TMR_STOP or TCSETSW, {B38400 opost isig icanon echo
...}) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigaction(SIGINT, {0x804ce88, [], SA_RESTORER, 0x349ee8}, {0x30f8e0,
[], SA_RESTORER, 0x349ee8}, 8) = 0
rt_sigaction(SIGTERM, {SIG_DFL}, {0x30f8e0, [], SA_RESTORER, 0x349ee8},
8) = 0
rt_sigaction(SIGQUIT, {SIG_DFL}, {0x30f8e0, [], SA_RESTORER, 0x349ee8},
8) = 0
rt_sigaction(SIGALRM, {SIG_DFL}, {0x30f8e0, [], SA_RESTORER, 0x349ee8},
8) = 0
rt_sigaction(SIGTSTP, {0x804ce88, [], SA_RESTORER, 0x349ee8}, {0x30f8e0,
[], SA_RESTORER, 0x349ee8}, 8) = 0
rt_sigaction(SIGTTOU, {SIG_IGN}, {SIG_IGN}, 8) = 0
rt_sigaction(SIGTTIN, {SIG_DFL}, {0x30f8e0, [], SA_RESTORER, 0x349ee8},
8) = 0
rt_sigaction(SIGWINCH, {SIG_DFL}, {0x30f9a0, [], SA_RESTORER, 0x349ee8},
8) = 0
read(4, 0x853edc0, 5) = -1 EAGAIN (Resource
temporarily unavailable)
read(4, 0x853edc0, 5) = -1 EAGAIN (Resource
temporarily unavailable)
gettimeofday({1145390854, 236519}, NULL) = 0
read(4, 0x853edc0, 5) = -1 EAGAIN (Resource
temporarily unavailable)
read(4, 0x853edc0, 5) = -1 EAGAIN (Resource
temporarily unavailable)
gettimeofday({1145390854, 237539}, NULL) = 0
ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo
...}) = 0
read(4, 0x853edc0, 5) = -1 EAGAIN (Resource
temporarily unavailable)
read(4, 0x853edc0, 5) = -1 EAGAIN (Resource
temporarily unavailable)
gettimeofday({1145390854, 240016}, NULL) = 0
socket(PF_INET, SOCK_STREAM, IPPROTO_TCP) = 5
fcntl64(5, F_GETFL) = 0x2 (flags O_RDWR)
fcntl64(5, F_SETFL, O_RDWR|O_NONBLOCK) = 0
fcntl64(5, F_SETFD, FD_CLOEXEC) = 0
setsockopt(5, SOL_SOCKET, SO_KEEPALIVE, [1], 4) = 0
setsockopt(5, SOL_IP, IP_TOS, [8], 4) = 0
getsockname(4, {sa_family=AF_INET, sin_port=htons(17926),
sin_addr=inet_addr("192.168.1.2")}, [16]) = 0
bind(5, {sa_family=AF_INET, sin_port=htons(0),
sin_addr=inet_addr("192.168.1.2")}, 16) = 0
getsockname(5, {sa_family=AF_INET, sin_port=htons(18542),
sin_addr=inet_addr("192.168.1.2")}, [16]) = 0
ioctl(2, TIOCGPGRP, [664]) = 0
getpgrp() = 664
write(2, "---> ", 5) = 5
ioctl(2, TIOCGPGRP, [664]) = 0
getpgrp() = 664
write(2, "P", 1) = 1
ioctl(2, TIOCGPGRP, [664]) = 0
getpgrp() = 664
write(2, "A", 1) = 1
ioctl(2, TIOCGPGRP, [664]) = 0
getpgrp() = 664
write(2, "S", 1) = 1
ioctl(2, TIOCGPGRP, [664]) = 0
getpgrp() = 664
write(2, "V", 1) = 1
ioctl(2, TIOCGPGRP, [664]) = 0
getpgrp() = 664
write(2, "\r", 1) = 1
ioctl(2, TIOCGPGRP, [664]) = 0
getpgrp() = 664
write(2, "\n", 1) = 1
write(4, "\27\3\1\0 m\5\300\375V\347\335\227\3468\276\2\t\314\304"...,
37) = 37
read(4, 0x853edc0, 5) = -1 EAGAIN (Resource
temporarily unavailable)
read(4, 0x853edc0, 5) = -1 EAGAIN (Resource
temporarily unavailable)
gettimeofday({1145390854, 253366}, NULL) = 0
read(4, 0x853edc0, 5) = -1 EAGAIN (Resource
temporarily unavailable)
read(4, 0x853edc0, 5) = -1 EAGAIN (Resource
temporarily unavailable)
poll([{fd=4, events=POLLIN}], 1, 7) = 0
gettimeofday({1145390854, 268239}, NULL) = 0
ioctl(1, TIOCGPGRP, [664]) = 0
getpgrp() = 664
ioctl(1, TIOCGWINSZ, {ws_row=37, ws_col=125, ws_xpixel=0, ws_ypixel=0}) = 0
write(1, "`ls\' at 0 [Waiting for response."..., 35) = 35
write(1, "\r", 1) = 1
read(4, 0x853edc0, 5) = -1 EAGAIN (Resource
temporarily unavailable)
read(4, 0x853edc0, 5) = -1 EAGAIN (Resource
temporarily unavailable)
poll([{fd=4, events=POLLIN, revents=POLLIN}], 1, 169) = 1
gettimeofday({1145390854, 333889}, NULL) = 0
read(4, "\27\3\1\0000", 5) = 5
read(4, "\335y\270\317C\32\250\257\25*&\3038\357\333u\340\266\234"...,
48) = 48
read(4, 0x853edc0, 5) = -1 EAGAIN (Resource
temporarily unavailable)
gettimeofday({1145390854, 335564}, NULL) = 0
ioctl(2, TIOCGPGRP, [664]) = 0
getpgrp() = 664
ioctl(1, TIOCGPGRP, [664]) = 0
getpgrp() = 664
ioctl(1, TIOCGWINSZ, {ws_row=37, ws_col=125, ws_xpixel=0, ws_ypixel=0}) = 0
write(1, " "..., 37) = 37
write(1, "\r", 1) = 1
write(2, "<--- 227 204,90,130,188,24,240\n", 31) = 31
getpeername(4, {sa_family=AF_INET, sin_port=htons(6366),
sin_addr=inet_addr("192.168.1.1")}, [16]) = 0
ioctl(2, TIOCGPGRP, [664]) = 0
getpgrp() = 664
write(2, "---- Connecting data socket to ("..., 58) = 58
connect(5, {sa_family=AF_INET, sin_port=htons(6384),
sin_addr=inet_addr("192.168.1.1")}, 16) = -1 EINPROGRESS (Operation now
in progress)
poll([{fd=5, events=POLLOUT}], 1, 0) = 0
read(4, 0x853edc0, 5) = -1 EAGAIN (Resource
temporarily unavailable)
read(4, 0x853edc0, 5) = -1 EAGAIN (Resource
temporarily unavailable)
gettimeofday({1145390854, 342600}, NULL) = 0
poll([{fd=5, events=POLLOUT}], 1, 0) = 0
read(4, 0x853edc0, 5) = -1 EAGAIN (Resource
temporarily unavailable)
read(4, 0x853edc0, 5) = -1 EAGAIN (Resource
temporarily unavailable)
poll([{fd=5, events=POLLOUT}, {fd=4, events=POLLIN}], 2, 13) = 0
gettimeofday({1145390854, 372053}, NULL) = 0
ioctl(1, TIOCGPGRP, [664]) = 0
getpgrp() = 664
ioctl(1, TIOCGWINSZ, {ws_row=37, ws_col=125, ws_xpixel=0, ws_ypixel=0}) = 0
write(1, "`ls\' at 0 [Making data connectio"..., 37) = 37
write(1, "\r", 1) = 1
poll([{fd=5, events=POLLOUT}], 1, 0) = 0
read(4, 0x853edc0, 5) = -1 EAGAIN (Resource
temporarily unavailable)
read(4, 0x853edc0, 5) = -1 EAGAIN (Resource
temporarily unavailable)
poll([{fd=5, events=POLLOUT, revents=POLLOUT}, {fd=4, events=POLLIN}],
2, 65) = 1
gettimeofday({1145390854, 411903}, NULL) = 0
poll([{fd=5, events=POLLOUT, revents=POLLOUT}], 1, 0) = 1
getsockopt(5, SOL_SOCKET, SO_ERROR, [0], [4]) = 0
ioctl(2, TIOCGPGRP, [664]) = 0
getpgrp() = 664
ioctl(1, TIOCGPGRP, [664]) = 0
getpgrp() = 664
ioctl(1, TIOCGWINSZ, {ws_row=37, ws_col=125, ws_xpixel=0, ws_ypixel=0}) = 0
write(1, " "..., 39) = 39
write(1, "\r", 1) = 1
write(2, "---- Data connection established"..., 33) = 33
ioctl(2, TIOCGPGRP, [664]) = 0
getpgrp() = 664
write(2, "---> ", 5) = 5
ioctl(2, TIOCGPGRP, [664]) = 0
getpgrp() = 664
write(2, "L", 1) = 1
ioctl(2, TIOCGPGRP, [664]) = 0
getpgrp() = 664
write(2, "I", 1) = 1
ioctl(2, TIOCGPGRP, [664]) = 0
getpgrp() = 664
write(2, "S", 1) = 1
ioctl(2, TIOCGPGRP, [664]) = 0
getpgrp() = 664
write(2, "T", 1) = 1
ioctl(2, TIOCGPGRP, [664]) = 0
getpgrp() = 664
write(2, "\r", 1) = 1
ioctl(2, TIOCGPGRP, [664]) = 0
getpgrp() = 664
write(2, "\n", 1) = 1
write(4, "\27\3\1\0 \32\313\"\312\265M\320([EMAIL PROTECTED]"...,
37) = 37
read(5, 0x85522f0, 65536) = -1 EAGAIN (Resource
temporarily unavailable)
read(4, 0x853edc0, 5) = -1 EAGAIN (Resource
temporarily unavailable)
read(4, 0x853edc0, 5) = -1 EAGAIN (Resource
temporarily unavailable)
gettimeofday({1145390854, 425401}, NULL) = 0
read(5, 0x85522f0, 65536) = -1 EAGAIN (Resource
temporarily unavailable)
read(4, 0x853edc0, 5) = -1 EAGAIN (Resource
temporarily unavailable)
read(4, 0x853edc0, 5) = -1 EAGAIN (Resource
temporarily unavailable)
poll([{fd=5, events=POLLIN}, {fd=4, events=POLLIN}], 2, 6) = 0
gettimeofday({1145390854, 442082}, NULL) = 0
ioctl(1, TIOCGPGRP, [664]) = 0
getpgrp() = 664
ioctl(1, TIOCGWINSZ, {ws_row=37, ws_col=125, ws_xpixel=0, ws_ypixel=0}) = 0
write(1, "`ls\' at 0 [Receiving data]", 26) = 26
write(1, "\r", 1) = 1
read(5, 0x85522f0, 65536) = -1 EAGAIN (Resource
temporarily unavailable)
read(4, 0x853edc0, 5) = -1 EAGAIN (Resource
temporarily unavailable)
read(4, 0x853edc0, 5) = -1 EAGAIN (Resource
temporarily unavailable)
poll([{fd=5, events=POLLIN}, {fd=4, events=POLLIN, revents=POLLIN}], 2,
800) = 1
gettimeofday({1145390854, 501361}, NULL) = 0
read(5, 0x85522f0, 65536) = -1 EAGAIN (Resource
temporarily unavailable)
read(4, "\27\3\1\0P", 5) = 5
read(4, "6\27$\r\251C\203\322h\251\236\376\r\255S\4P\340x2\236\353"...,
80) = 80
read(4, 0x853edc0, 5) = -1 EAGAIN (Resource
temporarily unavailable)
gettimeofday({1145390854, 503225}, NULL) = 0
ioctl(2, TIOCGPGRP, [664]) = 0
getpgrp() = 664
ioctl(1, TIOCGPGRP, [664]) = 0
getpgrp() = 664
ioctl(1, TIOCGWINSZ, {ws_row=37, ws_col=125, ws_xpixel=0, ws_ypixel=0}) = 0
write(1, " ", 28) = 28
write(1, "\r", 1) = 1
write(2, "<--- 150 Data connection open fo"..., 61) = 61
read(5, 0x85522f0, 65536) = -1 EAGAIN (Resource
temporarily unavailable)
read(4, 0x853edc0, 5) = -1 EAGAIN (Resource
temporarily unavailable)
read(4, 0x853edc0, 5) = -1 EAGAIN (Resource
temporarily unavailable)
gettimeofday({1145390854, 507016}, NULL) = 0
read(5, 0x85522f0, 65536) = -1 EAGAIN (Resource
temporarily unavailable)
read(4, 0x853edc0, 5) = -1 EAGAIN (Resource
temporarily unavailable)
read(4, 0x853edc0, 5) = -1 EAGAIN (Resource
temporarily unavailable)
poll([{fd=5, events=POLLIN}, {fd=4, events=POLLIN}], 2, 16) = 0
gettimeofday({1145390854, 541384}, NULL) = 0
ioctl(1, TIOCGPGRP, [664]) = 0
getpgrp() = 664
ioctl(1, TIOCGWINSZ, {ws_row=37, ws_col=125, ws_xpixel=0, ws_ypixel=0}) = 0
write(1, "`ls\' at 0 [Receiving data]", 26) = 26
write(1, "\r", 1) = 1
read(5, 0x85522f0, 65536) = -1 EAGAIN (Resource
temporarily unavailable)
read(4, 0x853edc0, 5) = -1 EAGAIN (Resource
temporarily unavailable)
read(4, 0x853edc0, 5) = -1 EAGAIN (Resource
temporarily unavailable)
poll([{fd=5, events=POLLIN}, {fd=4, events=POLLIN}], 2, 800) = 0
gettimeofday({1145390855, 353526}, NULL) = 0
read(5, 0x85522f0, 65536) = -1 EAGAIN (Resource
temporarily unavailable)
read(4, 0x853edc0, 5) = -1 EAGAIN (Resource
temporarily unavailable)
read(4, 0x853edc0, 5) = -1 EAGAIN (Resource
temporarily unavailable)
poll(