]> code.delx.au - pymsnt/blobdiff - src/misciq.py
Added timeout to file sending.
[pymsnt] / src / misciq.py
index 64cbe90bc150754eae1e54cff76b2efe21935146..dc6baade6d9319102319a1afbd85211a93d63743 100644 (file)
@@ -660,6 +660,10 @@ class Socks5FileTransfer:
                                except error.NotConnectingError:
                                        pass
 
+                       if factory.streamHostTimeout:
+                               factory.streamHostTimeout.cancel()
+                               factory.streamHostTimeout = None
+
                        iq = Element((None, "iq"))
                        iq["type"] = "result"
                        iq["from"] = toj.full()
@@ -673,12 +677,15 @@ class Socks5FileTransfer:
 
 
                # Try the streamhosts
+               LogEvent(INFO)
                factory = protocol.ClientFactory()
                factory.protocol = ft.JEP65ConnectionSend
                factory.consumer = consumer
                factory.hash = utils.socks5Hash(sid, froj.full(), toj.full())
                factory.madeConnection = gotStreamhost
                factory.connectors = []
+               factory.streamHostTimeout = reactor.callLater(120, consumer.error)
+
                for streamhost in streamhosts:
                        factory.connectors.append(reactor.connectTCP(streamhost[1], streamhost[2], factory))