1. add 1 file to queue from server #1 with TLS, then stop it.
2. add 1 file to queue from server #2 (or same server as server #1) with TLS, then stop it.
3. we've 2 files in queue, exit FileZilla
4. start FileZilla again, choose 'use multiple connections' from queue menu.
5. start to process queue.
6. 2nd connection will get an error for 'm_pSslLayer not initialized'
reset the error status and try it again, it will work.
it fails only when 2 TLS/SSL connect, in initialize state.
I add some trace message to FtpControlSocket.cpp, get the following log:
Code: Select all
Trace: FtpControlSocket.cpp(215): twu2: in Connect caller=0x00aa85b4
Trace: FtpControlSocket.cpp(234): twu2: change nOpMode to CSMODE_CONNECT caller=0x00aa85b4
Trace: FtpControlSocket.cpp(255): twu2: AddLayer caller=0x00aa85b4
Trace: FtpControlSocket.cpp(269): twu2: after AddLayer caller=0x00aa85b4
Status: Connecting to mail.teatime.com.tw ...
Trace: FtpControlSocket.cpp(413): twu2: change OpState to CONNECT_SSL_INIT caller=0x00aa85b4
Trace: FtpControlSocket.cpp(416): twu2: try Connect caller=0x00aa85b4
Trace: FtpControlSocket.cpp(215): twu2: in Connect caller=0x00aa8014
Trace: FtpControlSocket.cpp(234): twu2: change nOpMode to CSMODE_CONNECT caller=0x00aa8014
Trace: FtpControlSocket.cpp(255): twu2: AddLayer caller=0x00aa8014
Trace: FtpControlSocket.cpp(269): twu2: after AddLayer caller=0x00aa8014
Status: Connecting to fw2.teatime.com.tw ...
Trace: FtpControlSocket.cpp(413): twu2: change OpState to CONNECT_SSL_INIT caller=0x00aa8014
Trace: FtpControlSocket.cpp(416): twu2: try Connect caller=0x00aa8014
Trace: FtpControlSocket.cpp(428): twu2: end of Connect caller=0x00aa8014
Trace: FtpControlSocket.cpp(1018): OnConnect(0) OpMode=1 OpState=-8 caller=0x00aa8014
Status: Connected with fw2.teatime.com.tw. Waiting for welcome message...
Trace: FtpControlSocket.cpp(428): twu2: end of Connect caller=0x00aa85b4
Trace: FtpControlSocket.cpp(5168): m_pSslLayer changed state from 0 to 1 caller=0x00aa85b4
Trace: FtpControlSocket.cpp(5168): m_pSslLayer changed state from 1 to 2 caller=0x00aa85b4
Trace: FtpControlSocket.cpp(5168): m_pSslLayer changed state from 2 to 4 caller=0x00aa85b4
Trace: FtpControlSocket.cpp(1018): OnConnect(0) OpMode=1 OpState=-8 caller=0x00aa85b4
Status: Connected with mail.teatime.com.tw, negotiating SSL connection...
Trace: FtpControlSocket.cpp(840): OnReceive(0) OpMode=1 OpState=-8 caller=0x00aa85b4
Response: 220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
Response: 220-You are user number 2 of 50 allowed.
Response: 220-Local time is now 15:24. Server port: 21.
Response: 220 You will be disconnected after 15 minutes of inactivity.
Trace: FtpControlSocket.cpp(457): twu2: for CONNECT_SSL_INIT caller=0x00aa85b4
Trace: FtpControlSocket.cpp(465): twu2: before AUTH TLS caller=0x00aa85b4
Command: AUTH TLS
Trace: FtpControlSocket.cpp(471): twu2: change to CONNECT_SSL_NEGOTIATE caller=0x00aa85b4
Trace: FtpControlSocket.cpp(840): OnReceive(0) OpMode=1 OpState=-9 caller=0x00aa85b4
Response: 234 AUTH TLS OK.
Trace: FtpControlSocket.cpp(477): twu2: for CONNECT_SSL_NEGOTIATE caller=0x00aa85b4
Trace: FtpControlSocket.cpp(487): twu2: CONNECT_SSL_NEGOTIATE checl SSL #2 caller=0x00aa85b4
Trace: FtpControlSocket.cpp(495): twu2: call SSL Connection caller=0x00aa85b4
Trace: FtpControlSocket.cpp(840): OnReceive(0) OpMode=1 OpState=-8 caller=0x00aa8014
Response: 220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
Response: 220-You are user number 1 of 50 allowed.
Response: 220-Local time is now 15:24. Server port: 21.
Response: 220 You will be disconnected after 15 minutes of inactivity.
Trace: FtpControlSocket.cpp(457): twu2: for CONNECT_SSL_INIT caller=0x00aa8014
Trace: FtpControlSocket.cpp(465): twu2: before AUTH TLS caller=0x00aa8014
Command: AUTH TLS
Trace: FtpControlSocket.cpp(471): twu2: change to CONNECT_SSL_NEGOTIATE caller=0x00aa8014
Trace: FtpControlSocket.cpp(840): OnReceive(0) OpMode=1 OpState=-10 caller=0x00aa85b4
Trace: FtpControlSocket.cpp(840): OnReceive(0) OpMode=1 OpState=-9 caller=0x00aa8014
Response: 234 AUTH TLS OK.
Trace: FtpControlSocket.cpp(477): twu2: for CONNECT_SSL_NEGOTIATE caller=0x00aa8014
Trace: FtpControlSocket.cpp(487): twu2: CONNECT_SSL_NEGOTIATE checl SSL #2 caller=0x00aa8014
Trace: FtpControlSocket.cpp(490): twu2: m_pSslLayer not initialized #2 caller=0x00aa8014
Error: Internal error: m_pSslLayer not initialized #2
Trace: FtpControlSocket.cpp(1157): DoClose(8192) OpMode=1 OpState=-9 caller=0x00aa8014
Trace: FtpControlSocket.cpp(4003): ResetOperation(12292) OpMode=1 OpState=-9 caller=0x00aa8014
Error: Unable to connect!
Trace: SSL_connect: SSLv3 read server hello A
Trace: SSL_connect: SSLv3 read server certificate A
Trace: SSL_connect: SSLv3 read server done A
Trace: SSL_connect: SSLv3 write client key exchange A
Trace: SSL_connect: SSLv3 write change cipher spec A
Trace: SSL_connect: SSLv3 write finished A
Trace: SSL_connect: SSLv3 flush data
Trace: SSL_connect: SSLv3 read finished A
Trace: Using TLSv1, cipher TLSv1/SSLv3: AES256-SHA, 1024 bit RSA
Status: SSL connection established. Waiting for welcome message...
Command: USER tommy
Trace: FtpControlSocket.cpp(840): OnReceive(0) OpMode=1 OpState=0 caller=0x00aa85b4
Response: 331 User tommy OK. Password required