Login  
Search All Forums
Dart Home | PowerTCP SSL for ActiveX | Custom Development Reply | PowerTCP SSL for ActiveX Topics | Forums   
AuthorForum: PowerTCP SSL for ActiveX
Topic: SSL and FTP: Error - 11103:
PeteY

From: London, United Kingdom
Posts: 34
Member Since: 01/13/03
posted August 7, 2007 10:03 AM

I am developing a FTPS client. I am continually hitting a problem where I can log on to a FTPS server (Filezilla) but the subsequent data transfer fails. I am attaching diagnostics from the client (Dart based) program - it shows the Progress status. The problem is happening when the Data connection is being established. My belief is that SSL isn't being established for the data connection.
-------------------------------------

Starting Program - Initialising ActiveX controls too
Preparing SECURE FTP settings
Timeout: 10seconds, Protcol: secureAuto
Authen: atImplicitNormal
Logging on now
Progress Code:8 Reply: 220 This is the PNC FTP Service.....On the NDL Server.....Hello
Progress Code:1 Reply: 331 Password required for pete2
Progress Code:2 Reply: 230 Logged on
Logged on - will now retrive file
Progress Code:11 Reply: 200 Type set to I
Progress Code:34 Reply: 213 29
Progress Code:10 Reply: 227 Entering Passive Mode (194,6,40,221,113,222)
Error - 11103: Session aborted.
--------------------------

The Authenticate event handler is only being called once (is that right?) and I am setting *Valid = TRUE unconditionally within it.

Thanks

Pete Young.

PS. Everything works fine with Filezilla Client FTPS.
PeteY

From: London, United Kingdom
Posts: 34
Member Since: 01/13/03
posted August 7, 2007 12:38 PM

Additional information. The Dart FTPS Client works fine against the sample Dart FTPS server but not against Filezilla server. Filezilla client works against Filezilla server. So what is the difference between Dart and Filezilla clients?

According to the Filezilla logs the Filezilla client does additonal commands before the PASV command. Namely SYST, FEAT, PBSZ 0 and PROT P.

All this is similar to the "SSL Tool and Filezilla don't play well" forum topic except the role of client and server product are reversed.

Is there any way I can force the "missing" commands from Dart FTP Client to see if things start working?

-----------------------------


Amit

From: Rome, NY USA
Posts: 315
Member Since: 03/15/06
posted August 7, 2007 5:01 PM

Hello Pete,

It seems that you are looking to connect to an FTP Server with explicit security settings.
I would suggest you to add following code snippet before any data port is opened:
SecureFtp1.Command "PBSZ 0", result
SecureFtp1.Command "PROT P", result

I hope this is of help.

Best Regards,
Amit
PeteY

From: London, United Kingdom
Posts: 34
Member Since: 01/13/03
posted August 8, 2007 4:36 AM

Thanks Amit,

I have coded in the client to send the "PBSZ 0" and "PROT P" commands (together with "SYST" and "FEAT" for good measure).

Everything is now working as expected, SSL is being used for the FTP data connection. As stated this is almost the same as a previous post "SSL Tool and Filezilla don't play well". It seems that Filezilla (Client and server) require use of PBSZ and/or PROT to ensure SSL is used for the data connection. All I need to do now is look up what these commands do.

Thanks for the advice and help.

Pete Young.
Amit

From: Rome, NY USA
Posts: 315
Member Since: 03/15/06
posted August 8, 2007 4:03 PM

Hello Pete,

Currently our control does not send these commands automatically so we need to send them manually. It is nice to hear that you have been able to open a data connection on this server.

I have reported this issue to development with issue number 4445 so that these commands are sent automatically. For updates on the status of this issue, please contact Jamie Powell (Jamie.powell@dart.com).

Let me know if you require further assistance/clarifications.

Regards,
Amit
PeteY

From: London, United Kingdom
Posts: 34
Member Since: 01/13/03
posted August 9, 2007 6:18 AM

Amit,

I seem to have hit another problem. I really want my program to work in non-blocking mode (Timeout > 0). As a result I have been attempting to add code in my Progress event handler to handle the

DartSecureFtp::ftpCommand

command constant. This constant equates to 0 according to HELP documenation. HOWEVER if I try to complile using this constant then I get a compliation error "ftpCommand is not a member of 'DartSecureFtp'". If I substitute 0 instead of the constant then the program compiles but crashes when the reply to the original "Command" is returned by the server to the activex control.

How do I handle "Progress" responses from the server to the "Command" I sent it?

(PS. I have downloaded the latest (trial) version of the control from dart to try to ensure it is not specific to my licensed copy of the tool.)
PeteY

From: London, United Kingdom
Posts: 34
Member Since: 01/13/03
posted August 9, 2007 12:37 PM

Amit,

Additonal Information:

I have managed to circumvent the problem described. I believe the crashing was due to the fact that the Reply parameter was out of scope (as it says in your documentation "The Result parameter is used to capture the reply, so it must not go out of scope while the command completes (it must have file or global scope)."

However I still believe the definition of DartSecureFtp::ftpCommand is missing. I can only get the code to compile using a value of 0 instead of the constant.

Regards

Pete Young.

PS. the time difference between UK and USA can come in pretty handy sometimes can't it?
Amit

From: Rome, NY USA
Posts: 315
Member Since: 03/15/06
posted August 10, 2007 2:55 PM

Hello Pete,

I have sent you a mail. Please check it and let me know your observations.

Best Regards,
Amit
Reply | PowerTCP SSL for ActiveX Topics | Forums   
This site is powered by PowerTCP WebServer Tool PowerTCP WebServer for ActiveX