Decconection on directory listing

Hello,

I have a bug of deconnection on directory listing (Windows 7 RC French).
After a connection to a server, when I want list another directory, I have the message : Server closed connection.
In the log of my server (vsftpd), I don't have error.
If I try with Filezilla for example, I don't have problem.

Example :

First connection to the server :
[10:09:06] SmartFTP v3.0.1027.10

[10:09:07] Resolving host name "ftp.xxx.com"

[10:09:07] Connecting to [2001:x:x:x::x] Port: 21

[10:09:07] Connected to ftp.xxx.com.

[10:09:07] AUTH TLS

[10:09:08] 234 Proceed with negotiation.

[10:09:08] Connected. Exchanging encryption keys...

[10:09:08] Session Cipher: 168 bit 3DES

[10:09:08] TLS encrypted session established.

[10:09:08] Command channel protection set to Private.

[10:09:08] PBSZ 0

[10:09:08] 200 PBSZ set to 0.

[10:09:08] USER xxx

[10:09:08] 331 Please specify the password.

[10:09:08] PASS (hidden)

[10:09:08] 230 Login successful.

[10:09:08] SYST

[10:09:08] 215 UNIX Type: L8

[10:09:08] Detected Server Type: UNIX

[10:09:08] RTT: 67.380 ms

[10:09:08] FEAT

[10:09:08] 211-Features:

[10:09:08]  AUTH SSL

[10:09:08]  AUTH TLS

[10:09:08]  EPRT

[10:09:09]  EPSV

[10:09:09]  MDTM

[10:09:09]  PASV

[10:09:09]  PBSZ

[10:09:09]  PROT

[10:09:09]  REST STREAM

[10:09:09]  SIZE

[10:09:09]  TVFS

[10:09:09]  UTF8

[10:09:09] 211 End

[10:09:09] OPTS UTF8 ON

[10:09:09] 200 Always in UTF8 mode.

[10:09:09] PWD

[10:09:09] 257 "/"

[10:09:09] TYPE A

[10:09:09] 200 Switching to ASCII mode.

[10:09:09] PROT P

[10:09:09] 200 PROT now Private.

[10:09:09] EPSV

[10:09:09] 229 Entering Extended Passive Mode (|||64241|)

[10:09:09] Opening data connection to 2001:x:x:x::x Port: 64241

[10:09:09] LIST -aL

[10:09:10] Connected. Exchanging encryption keys...

[10:09:10] 150 Here comes the directory listing.

[10:09:10] Session Cipher: 168 bit 3DES

[10:09:10] TLS encrypted session established.

[10:09:10] 1459 bytes transferred. (4,01 Ko/s) (355 ms)

[10:09:10] 226 Directory send OK.
Her, I want to list another folder :
[10:09:14] CWD /A

[10:09:14] 250 Directory successfully changed.

[10:09:14] PWD

[10:09:15] 257 "/A"

[10:09:15] EPSV

[10:09:15] 229 Entering Extended Passive Mode (|||23157|)

[10:09:15] Opening data connection to 2001:x:x:x::x Port: 23157

[10:09:15] LIST -aL

[10:09:15] Connected. Exchanging encryption keys...

[10:09:15] 150 Here comes the directory listing.

[10:09:15] Server closed connection
If I select another folder, the connection is reinitialized :
[10:09:20] Resolving host name "ftp.xxx.com"

[10:09:20] Connecting to [2001:x:x:x::x] Port: 21

[10:09:21] Connected to ftp.xxx.com.

[10:09:21] AUTH TLS

[10:09:21] 234 Proceed with negotiation.

[10:09:21] Connected. Exchanging encryption keys...

[10:09:21] Session Cipher: 168 bit 3DES

[10:09:21] TLS encrypted session established.

[10:09:21] Command channel protection set to Private.

[10:09:21] PBSZ 0

[10:09:21] 200 PBSZ set to 0.

[10:09:21] USER releases

[10:09:21] 331 Please specify the password.

[10:09:21] PASS (hidden)

[10:09:21] 230 Login successful.

[10:09:21] SYST

[10:09:22] 215 UNIX Type: L8

[10:09:22] Detected Server Type: UNIX

[10:09:22] RTT: 66.864 ms

[10:09:22] FEAT

[10:09:22] 211-Features:

[10:09:22]  AUTH SSL

[10:09:22]  AUTH TLS

[10:09:22]  EPRT

[10:09:22]  EPSV

[10:09:22]  MDTM

[10:09:22]  PASV

[10:09:22]  PBSZ

[10:09:22]  PROT

[10:09:22]  REST STREAM

[10:09:22]  SIZE

[10:09:22]  TVFS

[10:09:22]  UTF8

[10:09:22] 211 End

[10:09:22] OPTS UTF8 ON

[10:09:22] 200 Always in UTF8 mode.

[10:09:22] PWD

[10:09:22] 257 "/"

[10:09:22] CWD /A

[10:09:22] 250 Directory successfully changed.

[10:09:22] PWD

[10:09:22] 257 "/A"

[10:09:22] CWD /B

[10:09:22] 250 Directory successfully changed.

[10:09:23] PWD

[10:09:23] 257 "/B"

[10:09:23] TYPE A

[10:09:23] 200 Switching to ASCII mode.

[10:09:23] PROT P

[10:09:23] 200 PROT now Private.

[10:09:23] EPSV

[10:09:23] 229 Entering Extended Passive Mode (|||55309|)

[10:09:23] Opening data connection to 2001:x:x:x::x Port: 55309

[10:09:23] LIST -aL

[10:09:23] Connected. Exchanging encryption keys...

[10:09:23] 150 Here comes the directory listing.

[10:09:23] Session Cipher: 168 bit 3DES

[10:09:23] TLS encrypted session established.

[10:09:23] 4583 bytes transferred. (12,2 Ko/s) (365 ms)

[10:09:23] 226 Directory send OK.

I believe it is a bug with vsftpd. The problem started at the time we introduced TLS session caching. This works with all other FTP server products (e.g. proftpd) but vsftpd.
Maybe you can find some details in the vsftpd logs?

Regards,
Mat

Please also retry it with the latest version of vsftpd. A couple of SSL/TLS related bugs have been fixed according to their changelog.

It seems the latest version of vsftpd actually did fix this bug in vsftpd.