I can get a directory listing after 2 minutes with vsftpd-2.0.7-r1. I downgraded to vsftpd-2.0.6, which still works correctly. I use TLS encrypted control and data channels. The 2 minutes is a result of a timeout. Se the following strace fragment: [pid 32079] 21:17:38.606616 brk(0x65e000) = 0x65e000 <0.000017> [pid 32079] 21:17:38.614513 read(8, "\24\3\1\0\1"..., 5) = 5 <0.000013> [pid 32079] 21:17:38.614584 read(8, "\1"..., 1) = 1 <0.000011> [pid 32079] 21:17:38.614753 read(8, "\26\3\1\0("..., 5) = 5 <0.000012> [pid 32079] 21:17:38.614818 read(8, "\34\263t/\277-\321\234\356W\325\3431\365?\33\205Wk\345\302\275\355W\10U\316Oi\273\371n0"..., 40) = 40 <0.000014> [pid 32079] 21:17:38.615051 write(8, "\26\3\1\0\272\4\0\0\266\0\0\0\0\0\260R\35\207\334\257\17\206\262B\272s\232\363Hy%\342\201"..., 242) = 242 <0.000030> [pid 32079] 21:17:38.615188 getdents(7, /* 6 entries */, 4096) = 176 <0.000029> [pid 32079] 21:17:38.615314 lstat("GFD", {st_mode=S_IFDIR|S_ISGID|0770, st_size=144, ...}) = 0 <0.000013> [pid 32079] 21:17:38.615428 lstat("Batata", {st_mode=S_IFDIR|S_ISGID|0770, st_size=248, ...}) = 0 <0.000012> [pid 32079] 21:17:38.615522 lstat("CoreDemo", {st_mode=S_IFDIR|S_ISGID|0770, st_size=336, ...}) = 0 <0.000012> [pid 32079] 21:17:38.615618 lstat("Bartle Job tracker", {st_mode=S_IFDIR|S_ISGID|0770, st_size=352, ...}) = 0 <0.000012> [pid 32079] 21:17:38.615714 getdents(7, /* 0 entries */, 4096) = 0 <0.000015> [pid 32079] 21:17:38.615817 write(8, "\27\3\1\1 I>$Kf\324\2778\7\314\\u\6V\222\353\353ax\364q\261\221=\336\346Az"..., 293) = 293 <0.000014> [pid 32079] 21:17:38.615903 rt_sigaction(SIGALRM, {0x40f1c2, ~[RTMIN RT_1], SA_RESTORER, 0x2b5e85bf4430}, NULL, 8) = 0 <0.000012> [pid 32079] 21:17:38.615981 alarm(120) = 120 <0.000015> [pid 32079] 21:17:38.616059 write(8, "\25\3\1\0\30\26\23\325\304(\222\370pG9m4\10#\201H\0328rugM\315\237"..., 29) = 29 <0.000013> [pid 32079] 21:17:38.616136 read(8, 0x62c740, 5) = ? ERESTARTSYS (To be restarted) <119.999903> [pid 32079] 21:19:38.616149 --- SIGALRM (Alarm clock) @ 0 (0) --- [pid 32079] 21:19:38.616334 rt_sigreturn(0xe) = -1 EINTR (Interrupted system call) <0.000013> [pid 32079] 21:19:38.616413 rt_sigaction(SIGALRM, {0x40f1c2, ~[RTMIN RT_1], SA_RESTORER, 0x2b5e85bf4430}, NULL, 8) = 0 <0.000012> [pid 32079] 21:19:38.616496 alarm(120) = 0 <0.000013> [pid 32079] 21:19:38.616619 close(8) = 0 <0.012759> [pid 32079] 21:19:38.629488 alarm(0) = 120 <0.000013> [pid 32079] 21:19:38.629607 fcntl(3, F_SETLKW, {type=F_WRLCK, whence=SEEK_SET, start=0, len=0}) = 0 <0.000016> [pid 32079] 21:19:38.629691 write(3, "Tue Feb 3 21:19:38 2009 [pid 320"..., 117) = 117 <0.000041> --> Here the log "226 Directory send OK." is written.
Created attachment 180846 [details] emerge --info
Could you test with vsftpd-2.1.0 please?
vsftpd-2.1.0 has the same problem :-(
Please try to reproduce with vsftpd-2.2.0 Make sure you have checked the FAQ[1] and also try to expose your issue on IRC[2] and in last instance contact the author[3] of the software [1] ftp://vsftpd.beasts.org/users/cevans/untar/vsftpd-2.2.0/FAQ [2] #vsftpd IRC channel at irc.freenode.net [3] Chris Evans, scarybeasts at gmail.com
Péter, if this bug is reproducible with 2.2, please, attach vsftpd configuration file. Currently I'm unable to reproduce this problem.