From 506ad91b03ff211dc7485d659b846b174bca8c8e Mon Sep 17 00:00:00 2001 From: woogerboy21 Date: Tue, 29 Mar 2016 22:00:42 -0400 Subject: [PATCH] Privatized Function Moved the updated hashing function out of the settingscache and into the remoteclient and privatized the function for proper use. --- cockatrice/src/remoteclient.cpp | 14 +++++++++++--- cockatrice/src/remoteclient.h | 1 + cockatrice/src/settingscache.cpp | 9 --------- cockatrice/src/settingscache.h | 3 +-- 4 files changed, 13 insertions(+), 14 deletions(-) diff --git a/cockatrice/src/remoteclient.cpp b/cockatrice/src/remoteclient.cpp index cb184070..e1bda71e 100644 --- a/cockatrice/src/remoteclient.cpp +++ b/cockatrice/src/remoteclient.cpp @@ -1,6 +1,7 @@ #include #include #include +#include #include "remoteclient.h" #include "settingscache.h" #include "pending_command.h" @@ -81,7 +82,7 @@ void RemoteClient::processServerIdentificationEvent(const Event_ServerIdentifica cmdRegister.set_gender((ServerInfo_User_Gender) gender); cmdRegister.set_country(country.toStdString()); cmdRegister.set_real_name(realName.toStdString()); - cmdRegister.set_clientid(settingsCache->getSrvClientID(lastHostname).toStdString()); + cmdRegister.set_clientid(getSrvClientID(lastHostname).toStdString()); PendingCommand *pend = prepareSessionCommand(cmdRegister); connect(pend, SIGNAL(finished(Response, CommandContainer, QVariant)), this, SLOT(registerResponse(Response))); sendCommand(pend); @@ -107,11 +108,10 @@ void RemoteClient::processServerIdentificationEvent(const Event_ServerIdentifica void RemoteClient::doLogin() { setStatus(StatusLoggingIn); - Command_Login cmdLogin; cmdLogin.set_user_name(userName.toStdString()); cmdLogin.set_password(password.toStdString()); - cmdLogin.set_clientid(settingsCache->getSrvClientID(lastHostname).toStdString()); + cmdLogin.set_clientid(getSrvClientID(lastHostname).toStdString()); cmdLogin.set_clientver(VERSION_STRING); if (!clientFeatures.isEmpty()) { @@ -361,3 +361,11 @@ void RemoteClient::disconnectFromServer() { emit sigDisconnectFromServer(); } + +QString RemoteClient::getSrvClientID(const QString _hostname) +{ + QString srvClientID = settingsCache->getClientID(); + srvClientID += _hostname; + QString uniqueServerClientID = QCryptographicHash::hash(srvClientID.toUtf8(), QCryptographicHash::Sha1).toHex().right(15); + return uniqueServerClientID; +} \ No newline at end of file diff --git a/cockatrice/src/remoteclient.h b/cockatrice/src/remoteclient.h index 3e0ae971..3b54cfda 100644 --- a/cockatrice/src/remoteclient.h +++ b/cockatrice/src/remoteclient.h @@ -51,6 +51,7 @@ private: QTcpSocket *socket; QString lastHostname; int lastPort; + QString getSrvClientID(const QString _hostname); protected slots: void sendCommandContainer(const CommandContainer &cont); public: diff --git a/cockatrice/src/settingscache.cpp b/cockatrice/src/settingscache.cpp index 1334e9ac..9d1f6625 100644 --- a/cockatrice/src/settingscache.cpp +++ b/cockatrice/src/settingscache.cpp @@ -2,7 +2,6 @@ #include #include #include -#include #if QT_VERSION >= 0x050000 #include @@ -613,12 +612,4 @@ void SettingsCache::setNotifyAboutUpdate(int _notifyaboutupdate) { notifyAboutUpdates = _notifyaboutupdate; settings->setValue("personal/updatenotification", notifyAboutUpdates); -} - -QString SettingsCache::getSrvClientID(const QString _hostname) -{ - QString srvClientID = getClientID(); - srvClientID += _hostname; - QString uniqueServerClientID = QCryptographicHash::hash(srvClientID.toUtf8(), QCryptographicHash::Sha1).toHex().right(15); - return uniqueServerClientID; } \ No newline at end of file diff --git a/cockatrice/src/settingscache.h b/cockatrice/src/settingscache.h index cdeda46b..f9456162 100644 --- a/cockatrice/src/settingscache.h +++ b/cockatrice/src/settingscache.h @@ -176,8 +176,7 @@ public: bool getRememberGameSettings() const { return rememberGameSettings; } int getKeepAlive() const { return keepalive; } void setClientID(QString clientID); - QString getClientID() { return clientID; } - QString getSrvClientID(const QString _hostname); + QString getClientID() { return clientID; } ShortcutsSettings& shortcuts() const { return *shortcutsSettings; } CardDatabaseSettings& cardDatabase() const { return *cardDatabaseSettings; } ServersSettings& servers() const { return *serversSettings; }