summaryrefslogtreecommitdiffstats
path: root/src/client/net/serverconnection.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/net/serverconnection.cpp')
-rw-r--r--src/client/net/serverconnection.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/client/net/serverconnection.cpp b/src/client/net/serverconnection.cpp
index 7954c34..46cba79 100644
--- a/src/client/net/serverconnection.cpp
+++ b/src/client/net/serverconnection.cpp
@@ -18,8 +18,8 @@
#define CHALLENGE_LEN 20
-ServerConnection::ServerConnection(const QString& host, const quint16 port, const QByteArray& sessionName, const QByteArray& certHash) :
- QObject(NULL), _timerDelete(0), _jpegQuality(80), _authed(0), _sessionName(sessionName), _certHash(certHash)
+ServerConnection::ServerConnection(const QString& host, const quint16 port, const QByteArray& sessionName, const QByteArray& certHash, bool autoConnect) :
+ QObject(NULL), _timerDelete(0), _jpegQuality(80), _authed(0), _sessionName(sessionName), _certHash(certHash), _autoConnect(autoConnect)
{
_socket = new QSslSocket();
_blank = new BlankScreen();
@@ -132,7 +132,8 @@ void ServerConnection::handleMsg()
}
// Check challenge response
QByteArray serverhash(_fromServer.getFieldBytes(_HASH));
- if (serverhash != genSha1(&_sessionName, &_myChallenge))
+ if (serverhash != genSha1(&_sessionName, &_myChallenge)
+ && !_autoConnect)
{
qDebug("invalid. STOP.");
emit stateChange(ConnectWindow::InvalidSslHash);