1: The PROT issue is indeed irrelevent, but a simple fix at least lets you know if PROT is supported.
Something like this maybe, so long as ftpFeatProt is added to the set:

                if Pos('PROT', Feat) = 1 then begin
                    if Feat = 'PROT' then
                        FSupportedExtensions := FSupportedExtensions + [ftpFeatProt];
                    if Pos('C', Feat) > 5 then
                        FSupportedExtensions := FSupportedExtensions + [ftpFeatProtC];
                    if (Pos('P', Feat) > 5) then
                        FSupportedExtensions := FSupportedExtensions + [ftpFeatProtP];

2:  This server requires Passive mode when using AuthTls, so another step forward.

3: Now I have an interesting one and it's difficult to know from which end the problem is being initiated. I have 2 ftp components and both are logged into the server. The first just does a LIST command every 3 seconds. The second does the GET commands. After 198 GETs I receive and error 10054. I re-connect both ftp clients and after a further 198 GETs the same thing happens again.

Error 10054 is a "connection reset by peer" message, which would imply that it's the server that has initiated this. But is there anything at the ftp client end that could cause the server to behave as it does?

If I log into the server with the SSL Mode set to sslTypeNone, this problem does not occur.

Any clues much appreciated.


On 26/12/2017 17:34, Angus Robertson - Magenta Systems Ltd wrote:
Hold fire on what I said before. I am still in learning mode as
this is all new to me.
I would suggest you at least try the compiled version of my high level
TMagFtp component from:


which handles all this stuff automatically.  If TMagFtp works, then you
can look at the source to see why.

The one thing I have found is that when I execute the featAsync,
I do not see the PROT in the list of supported extensions. When I
look at the source code, you are looking for "PROT C" or "PROT
P". This server only returns "PROT".
This may be irrelevant, the feature list is designed to tell you which
commands you can use, they don't stop you using them anyway (probably,
not looked at the code in a while).


To unsubscribe or change your settings for TWSocket mailing list
please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be

Reply via email to