I developed an application using version 9 of SecureBlackBox .NET some time ago. I have a windows server machine that is running the TelSimpleFTPSServer application in order to test my VB.NET windows mobile 6.5 application. I am using TelSimpleFTPSClient on my WM machine and using the .receive method to transfer files. On my setup everything works fine. On a colleagues setup it works up until the client sends the RETR command, then gets a 150 Status Okay message from the server. The transfer starts but about 70% of the time it stops part way through with the error 'Control Channel Transfer Error'. I have seen this several times on the forums but not really seen what would be causing it - it seems to be to do with the server closing the connection. We have not purchased SecureBlackBox yet as we were waiting for version 10 to be released - would version 10 help this error? What else could be the problem - the software and hardware are identical apart from the router, but I presume that is ok as it works some of the time. Thanks in advance for any help.

Have you contacted the support team about the issue before? I have reviewed your past support tickets but haven't found anything about the issue.

There have been a couple of significant changes in FTPS file transfer internals, particularly concerning text mode transfers. If the issue occurs while transferring files in ASCII mode, version 10 (which has actually been released on October 20) is likely to address it. In fact, the easiest way to find out if version 10 does fix the problem would be to download the evaluation distribution and check it right in the problematic environment.

One of reasons is that the control channel is closed by either the server or the firewall/router due to inactivity timeout: while the long data transfer is performed over data channel, command channel remains dormant. Unfortunately FTP protocol specification doesn't offer anything to address the problem.

There can be other reasons as well, but the fact that connection is closed sometimes and during transfer hints that the above is the most possible reason.

Oops, I seem to have made a couple of typos in my reply above (the mentioned release date lacks the "10" prefix and the "12" postfix) ;).

Regarding the problem, it might make sense to try transferring a file with a third-party tool (e.g. FileZilla) and check if it exposes the same issue. If it does, then it is more than likely that the problem has something to do with the router.

Thanks for getting back to me. I don't think I have contacted you before about this issue. I developed the software a while ago and it all works fine on my setup. It is only recently that I have set up a colleague with a 'test' system for final testing and we have come across this problem. The timeout was my first thought as well - is there no way we can increase the time? As I said it doesn't happen every time so it must be borderline but on the live system we will have clients connecting via the internet rather than an ethernet cable so that will presumably be even slower.

I have downloaded version 10 but was reluctant to install it directly to my main PC while version 9 was working. I installed it on my laptop to just check it didn't cause any issues before doing the same thing on my main PC. I came across 2 errors. Firstly I couldn't uninstall version 9 (couldn't find 'install.log'). I went ahead and installed V10 anyway. The VS 2010 PC spplication still compiles ok. The VS 2008 WM application comes up with several errors - sbSSL3 is not a member of SBConstants.Unit. (plus a few other similar errors). The application is basically a WM copy of the sample application (which still compiles) so I presume something has changed on V10. Is it something simple - I have to keep a working version of the software at the moment.

The client software is running on windows mobile. Is there a version of Filezilla for WM? I will look into what is available.

The timeout was my first thought as well - is there no way we can increase the time?

Increasing timeout on client side won't work, as it is the router or the server who shuts the connection down. Client settings do not affect the behaviour of third party network nodes in any way.

May I please ask you to provide us a bit more information about the issue:

1) Did you have a chance to notice if the issue only occurs if a transferred file exceeds some threshold value (e.g. by its size or overall transfer time), or it happens on random files?

2) Do you run your tests on secure (FTPS) or insecure (FTP) connections? If it's the former, please check if the problem happens when transferring files in insecure mode.

Quote

Firstly I couldn't uninstall version 9 (couldn't find 'install.log').

Hmm, is it the error you get when trying to uninstall it via the Add/Remove programs applet?

Quote

I went ahead and installed V10 anyway. The VS 2010 PC spplication still compiles ok. The VS 2008 WM application comes up with several errors - sbSSL3 is not a member of SBConstants.Unit. (plus a few other similar errors).

This means that older (v9) assemblies are picked in your VS 2010 PC project, as the constants (sbSSL3 et al.) have been relocated in all editions.

Quote

The client software is running on windows mobile. Is there a version of Filezilla for WM? I will look into what is available.

Google search references several free and free-to-try FTP clients for WM. Unfortunately, we cannot suggest any of them.

I am running the SimpleFTPSServer as the server as well. Is it just a case of increasing the sessiontimeout on the server? At the moment it is set to the default of 360000 - it doesn't take 6 minutes before the error occurs.

It does seem fairly random - files are around the 10MB size but I can try the transfer 3 times and it fails, then the 4th time will work (transferring the same file) for example.

Same thing happens with FTP connections.

I got the same thing when trying from Add/Remove programs and from the Uninstall option from the start menu.

Both projects, 2010 (server) and 2008 (WM client) have upgraded the references correctly. According to intellisense SBConstants.Unit still exists but the constants I'm using don't. (They do in the sample windows project, just not the compact framework version). It's been so long since I worked on this that I can't remember what it's actually doing. I'll be able to get round this - just want to be sure I can compile the apps before installing V10 on my development PC.

If you face the issue with ElSimpleFTPSServer on the other end, then it is definitely a router/firewall issue. ElSimpleFTPSServer doesn't close connections during file transfer. BTW, is any error reported by the server when the connection is closed in the middle of the transfer?

Quote

I got the same thing when trying from Add/Remove programs and from the Uninstall option from the start menu.

This makes me think that you've got a broken version 9 installation. You may either try to repair it (by launching the installer of the version 9 and choosing the 'repair' option), or simply leave the things 'as is' and install version 10 on top of version 9. Different SecureBlackbox versions can live side-by-side without affecting each other; you will only need to take care to reference assemblies of correct version in your projects.

Quote

According to intellisense SBConstants.Unit still exists but the constants I'm using don't.

Right, that's how it should be.

Quote

(They do in the sample windows project, just not the compact framework version).

And this is not. The constants have been relocated in all editions, so you should reference them in the same way in desktop and CF versions of .NET framework. If the compiler accepts constants in old form (e.g. SBConstants.Unit.sbSSL3) fine, this means that version 9 assemblies are used instead of version 10 ones (this is easy to check - version 10 license key won't work with version 9, so you will get an exception in SetLicenseKey() call).

Now back to your issue:
1) Does the problem happen with smaller (e.g. 200 KB) files?
2) How much time passes between the start of the transfer and connection breakdown (please try several transfers)?

BTW, is any error reported by the server when the connection is closed in the middle of the transfer

The server doesn't report an error. When transferring a file the line flashes very rapidly as the percentage goes up. When the client fails it just carries on flashing but the percentage never gets any higher (obviously as data is not being transferred). I haven't left it long enough to see if it times out after 6 minutes.

Quote

If the compiler accepts constants in old form (e.g. SBConstants.Unit.sbSSL3) fine, this means that version 9 assemblies are used instead of version 10 ones

It doesn't, that's my problem. It is referencing the version 10 assemblies - seen by the version numbers on the references page. I did get the SetLicenseKey error so 10 has installed correctly. I will uninstall 10, re-install / repair 9 and then uninstall it and re-install 10. Hopefully that will sort things out.

I have already asked my colleague to try smaller files. The whole transfer takes about 25 seconds on my system so I would think that when the error occurs it's after 15-20 seconds. Unfortunately my colleague is unavailable today so it will be tomorrow before I can answer that - I will get back to you then.

We use cookies to help provide you with the best possible online experience. By using this site, you agree that we may store and access cookies on your device. You can find out more about and set your own preferences here.