from twisted.internet import reactor, task, protocol, error
from tlib.xmlw import Element, jid
from debug import LogEvent, INFO, WARN, ERROR
+import svninfo
import jabw
import legacy
import disco
self.pytrans = pytrans
self.pytrans.discovery.addFeature(disco.IQVERSION, self.incomingIq, config.jid)
self.pytrans.discovery.addFeature(disco.IQVERSION, self.incomingIq, "USER")
+ try:
+ self.version = "%s - SVN r%s" % (legacy.version, svninfo.getSVNVersion())
+ except:
+ self.version = legacy.version
+ self.os = "Python" + ".".join([str(x) for x in sys.version_info[0:3]]) + " - " + sys.platform
def incomingIq(self, el):
eltype = el.getAttribute("type")
name = query.addElement("name")
name.addContent(config.discoName)
version = query.addElement("version")
- version.addContent(legacy.version)
+ version.addContent(self.version)
os = query.addElement("os")
- os.addContent("Python" + ".".join([str(x) for x in sys.version_info[0:3]]) + " - " + sys.platform)
+ os.addContent(self.os)
self.pytrans.send(iq)
except error.NotConnectingError:
pass
+ if factory.streamHostTimeout:
+ factory.streamHostTimeout.cancel()
+ factory.streamHostTimeout = None
+
iq = Element((None, "iq"))
iq["type"] = "result"
iq["from"] = toj.full()
# 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))