Login  
Search All Forums
Dart Home | PowerTCP FTP for .NET | Custom Development Reply | PowerTCP FTP for .NET Topics | Forums   
AuthorForum: PowerTCP FTP for .NET
Topic: FTPS - Clear Command Channel
mdraggs

From: USA
Posts: 10
Member Since: 10/26/05
posted August 5, 2008 5:59 PM

Does PowerTCP FTP support the CCC (clear channel command) when using FTPS?

Thanks, Mike
K M Drake



From: Utica, NY USA
Posts: 3406
Member Since: 07/14/00
posted August 6, 2008 5:19 PM

Hi Mike,
The most recent versions should send the command automatically.
With older versions, you may have to send the command manually, using the Invoke or BeginInvoke methods.

Hope it helps,
-ken

------
-Non-current subscribers must contact sales@dart.com to update subscription and receive continued support as needed.
------

mdraggs

From: USA
Posts: 10
Member Since: 10/26/05
posted August 7, 2008 12:57 PM

Are you referring to the PBSZ & PROT commands?

I need know if the 'CCC' command which switches the control connection back to clear is supported.

Here is a log from the Core client to illustrate:

Connect socket #652 to 10.91.100.35, port 21...
220 Serv-U FTP Server v6.1 for WinSock ready... 
AUTH TLS 
234 AUTH command OK. Initializing SSL connection. 
TLSv1, cipher TLSv1/SSLv3 (AES128-SHA) - 128 bit
USER umdragg 
331 User name okay, need password. 
PASS ********** 
230 User logged in, proceed. 
SYST 
215 UNIX Type: L8 
PBSZ 0 
200 PBSZ command OK. Protection buffer size set to 0. 
PROT P 
200 PROT command OK. Using private data connection. 
CCC 
200 Command channel switched to clear-text. 
Keep alive off...
PWD 
500 '': command not understood. 
PWD 
257 "/c:/FTP" is current directory. 
PASV 
227 Entering Passive Mode (10,91,100,35,18,203) 
LIST 
Connect socket #792 to 10.91.100.35, port 4811...
TLSv1, cipher TLSv1/SSLv3 (AES128-SHA) - 128 bit
150 Opening ASCII mode data connection for /bin/ls. 
226 Transfer complete. 
Transferred 1,651 bytes in 0.010 seconds 

Thanks, Mike
K M Drake



From: Utica, NY USA
Posts: 3406
Member Since: 07/14/00
posted August 7, 2008 3:27 PM

Hi,
I should clarify - if you use Security.ImplicitLogin, the component will automatically send the CCC after login.

To switch in the middle of the session, you can use Invoke or BeginInvoke.

What happens if you try the following:

ftp1.Invoke(FtpCommand.Null, "CCC");
ftp1.Connection.SecureProtocol = SecureProtocol.None;
ftp1.Security = Security.DataOnly;

Thanks,
-ken

------
-Non-current subscribers must contact sales@dart.com to update subscription and receive continued support as needed.
------

mdraggs

From: USA
Posts: 10
Member Since: 10/26/05
posted August 7, 2008 5:35 PM

My version (2.3.1) doesn't appear to send CCC using IMPLICIT.

I tried your suggestion but the FTP server (Serv-U) drops the connection immediatley following the CCC command.

Wouldn't the client have to be aware of the command as well and change the control connection (TLS Shutdown) upon receiving the 200 response from the server?

Mike
K M Drake



From: Utica, NY USA
Posts: 3406
Member Since: 07/14/00
posted August 11, 2008 5:33 PM

Hi Mike,
The good news is that you can clear the control channel by just doing this:

ftp1.Invoke(FtpCommand.Null, "CCC");

The bad news is that the control thinks it should also use a clear data connection when you do this.

This has been reported as issue 4802 and will be addressed for the next release.
-ken
Reply | PowerTCP FTP for .NET Topics | Forums   
This site is powered by PowerTCP WebServer Tool PowerTCP WebServer for ActiveX