> On Feb 2, 2017, at 2:43 AM, Adi Roiban <a...@roiban.ro> wrote:
> 
> Hi,
> 
> t.conch.ssh.filetransfer.FileTransferClient._sendRequest keeps a
> mapping with active SFTP requests in self.openRequests
> 
> The self.openRequests is only updated when the server is responding
> for that request.
> 
> They are not cleared/cancelled on connection lost.
> 
> In the case in which the client send a request in the exact same time
> in which the server closes the connect , the client will send the
> request as there is no way to know that the server is gone... but
> since the server is gone it will not reply to the response... and the
> deferred is never called.
> 
> To solve this issue, I went for cancelling the open requests when the
> connection is close.

That sounds correct.  Is there a ticket for this?

> I assume that this is also an issue with bad behaved servers which
> will just ignore a request... so instead of a simple deferred, there
> is the need to use a timeout deferred.
> 
> Is this a bug?
> I am wondering if I am doing something wrong and these type of errors
> should be handled in a different way.

Generally speaking, any Deferred attached to a connection object (regardless of 
protocol) should be failed with a connection failure error of some kind when 
the connection is dropped.

> Thanks!
> 
> PS: There is a stray release notes fragment in conch
> https://github.com/twisted/twisted/blob/trunk/src/twisted/conch/8791.feature 
> <https://github.com/twisted/twisted/blob/trunk/src/twisted/conch/8791.feature>

Oops!

Wait; why do you say this is "stray"?

-glyph
_______________________________________________
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python

Reply via email to