From 172d03f23cfb9e7b7d1c0d231f02903c289840aa Mon Sep 17 00:00:00 2001 From: Jeremy Lainé Date: Fri, 5 Mar 2010 18:52:53 +0000 Subject: lower timeouts for SOCKS5 operations --- source/QXmppTransferManager.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'source/QXmppTransferManager.cpp') diff --git a/source/QXmppTransferManager.cpp b/source/QXmppTransferManager.cpp index 855cc2af..93b3634e 100644 --- a/source/QXmppTransferManager.cpp +++ b/source/QXmppTransferManager.cpp @@ -36,6 +36,9 @@ #include "QXmppTransferManager.h" #include "QXmppUtils.h" +// time to try to connect to a SOCKS host (7 seconds) +const int socksTimeout = 7000; + static QString streamHash(const QString &sid, const QString &initiatorJid, const QString &targetJid) { QCryptographicHash hash(QCryptographicHash::Sha1); @@ -287,7 +290,8 @@ void QXmppTransferManager::byteStreamResultReceived(const QXmppByteStreamIq &iq) QXmppSocksClient *socksClient = new QXmppSocksClient(streamHost.host(), streamHost.port(), job); socksClient->connectToHost(hostName, 0); - if (!socksClient->waitForReady()) + // FIXME : this should probably be made asynchronous as it blocks XMPP packet handling + if (!socksClient->waitForReady(socksTimeout)) { qWarning() << "Failed to connect to" << streamHost.host().toString() << streamHost.port() << ":" << socksClient->errorString(); delete socksClient; @@ -360,7 +364,8 @@ void QXmppTransferManager::byteStreamSetReceived(const QXmppByteStreamIq &iq) // try to connect to stream host QXmppSocksClient *socksClient = new QXmppSocksClient(streamHost.host(), streamHost.port(), job); socksClient->connectToHost(hostName, 0); - if (socksClient->waitForReady()) + // FIXME : this should probably be made asynchronous as it blocks XMPP packet handling + if (socksClient->waitForReady(socksTimeout)) { job->setState(QXmppTransferJob::TransferState); job->m_socksSocket = socksClient; -- cgit v1.2.3