> Following a fix:
> The data-socket must effectively be stopped from "accepting" a 
> connection once the primary transfer command has failed. If the 
> data-socket is simply closed then on client-side an error is raised - 
> so my solution is not to call datasocket.accept on the incoming 
> connection - by clearing datasocket.OnSessionAvailable.

Mt testing of the FTP server unit you emailed and which you said you'd 
sent to Francois shows your 'fix' does not work, at least in my 
testing.  Perhaps my test has shown up a different problem to the one 
you have fixed.  

The issue seems to be when the PASV command is sent, the server opens 
the data socket to listen for a connection from the client, but this 
does not happen if the subsequent RETV, LIST or STOR command fails to 
start.  So the data socket remains listening when the next PASV command 
comes in, and is closed then, but immediately setup up again to list, 
before it has closed properly, which I think is why there is an 
erroneous response from the closed event.  

Clearing OnSessionAvailable has not effect, since the client never opens 
a session.  

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

Reply via email to