mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-06-12 00:54:53 -07:00
Initial release of client ID generation.
This commit is contained in:
parent
44d757f691
commit
52db13a1ca
14 changed files with 246 additions and 186 deletions
|
|
@ -1,4 +1,4 @@
|
|||
/***************************************************************************
|
||||
/***************************************************************************
|
||||
* Copyright (C) 2008 by Max-Wilhelm Bruker *
|
||||
* brukie@gmx.net *
|
||||
* *
|
||||
|
|
@ -32,6 +32,9 @@
|
|||
#include <QDesktopServices>
|
||||
#include <QDebug>
|
||||
#include <QSystemTrayIcon>
|
||||
#include "QtNetwork/QNetworkInterface"
|
||||
#include <QCryptographicHash>
|
||||
|
||||
|
||||
#include "main.h"
|
||||
#include "window_main.h"
|
||||
|
|
@ -97,6 +100,19 @@ bool settingsValid()
|
|||
!settingsCache->getPicsPath().isEmpty();
|
||||
}
|
||||
|
||||
void generateClientID()
|
||||
{
|
||||
QString macList;
|
||||
foreach(QNetworkInterface interface, QNetworkInterface::allInterfaces())
|
||||
{
|
||||
if (interface.hardwareAddress() != "")
|
||||
if (interface.hardwareAddress() != "00:00:00:00:00:00:00:E0")
|
||||
macList += interface.hardwareAddress() + ".";
|
||||
}
|
||||
QString strClientID = QCryptographicHash::hash(macList.toUtf8(), QCryptographicHash::Sha1).toHex().right(15);
|
||||
settingsCache->setClientID(strClientID);
|
||||
}
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
QApplication app(argc, argv);
|
||||
|
|
@ -203,6 +219,9 @@ int main(int argc, char *argv[])
|
|||
|
||||
QIcon icon(":/resources/appicon.svg");
|
||||
ui.setWindowIcon(icon);
|
||||
|
||||
generateClientID(); //generate the users client id
|
||||
qDebug() << "ClientID In Cache: " << settingsCache->getClientID();
|
||||
|
||||
ui.show();
|
||||
qDebug("main(): ui.show() finished");
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@ extern const QString translationPrefix;
|
|||
extern QString translationPath;
|
||||
|
||||
void installNewTranslator();
|
||||
void generateClientID();
|
||||
|
||||
bool settingsValid();
|
||||
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@
|
|||
#include "pb/response_activate.pb.h"
|
||||
#include "pb/server_message.pb.h"
|
||||
#include "pb/event_server_identification.pb.h"
|
||||
#include "settingscache.h"
|
||||
|
||||
static const unsigned int protocolVersion = 14;
|
||||
|
||||
|
|
@ -108,7 +109,7 @@ void RemoteClient::doLogin()
|
|||
Command_Login cmdLogin;
|
||||
cmdLogin.set_user_name(userName.toStdString());
|
||||
cmdLogin.set_password(password.toStdString());
|
||||
|
||||
cmdLogin.set_clientid(settingsCache->getClientID().toStdString());
|
||||
PendingCommand *pend = prepareSessionCommand(cmdLogin);
|
||||
connect(pend, SIGNAL(finished(Response, CommandContainer, QVariant)), this, SLOT(loginResponse(Response)));
|
||||
sendCommand(pend);
|
||||
|
|
@ -243,6 +244,7 @@ void RemoteClient::doConnectToServer(const QString &hostname, unsigned int port,
|
|||
|
||||
userName = _userName;
|
||||
password = _password;
|
||||
QString clientid = settingsCache->getClientID();
|
||||
lastHostname = hostname;
|
||||
lastPort = port;
|
||||
|
||||
|
|
|
|||
|
|
@ -85,9 +85,7 @@ SettingsCache::SettingsCache()
|
|||
masterVolume = settings->value("sound/mastervolume", 100).toInt();
|
||||
|
||||
cardInfoViewMode = settings->value("cards/cardinfoviewmode", 0).toInt();
|
||||
|
||||
highlightWords = settings->value("personal/highlightWords", QString()).toString();
|
||||
|
||||
gameDescription = settings->value("game/gamedescription","").toString();
|
||||
maxPlayers = settings->value("game/maxplayers", 2).toInt();
|
||||
gameTypes = settings->value("game/gametypes","").toString();
|
||||
|
|
@ -97,6 +95,8 @@ SettingsCache::SettingsCache()
|
|||
spectatorsNeedPassword = settings->value("game/spectatorsneedpassword", false).toBool();
|
||||
spectatorsCanTalk = settings->value("game/spectatorscantalk", false).toBool();
|
||||
spectatorsCanSeeEverything = settings->value("game/spectatorscanseeeverything", false).toBool();
|
||||
clientID = settings->value("personal/clientid", "notset").toString();
|
||||
|
||||
}
|
||||
|
||||
void SettingsCache::setCardInfoViewMode(const int _viewMode) {
|
||||
|
|
@ -424,6 +424,12 @@ void SettingsCache::setPixmapCacheSize(const int _pixmapCacheSize)
|
|||
emit pixmapCacheSizeChanged(pixmapCacheSize);
|
||||
}
|
||||
|
||||
void SettingsCache::setClientID(QString _clientID)
|
||||
{
|
||||
clientID = _clientID;
|
||||
settings->setValue("personal/clientid", clientID);
|
||||
}
|
||||
|
||||
QStringList SettingsCache::getCountries() const
|
||||
{
|
||||
static QStringList countries = QStringList()
|
||||
|
|
|
|||
|
|
@ -79,6 +79,7 @@ private:
|
|||
QString picUrlHq;
|
||||
QString picUrlFallback;
|
||||
QString picUrlHqFallback;
|
||||
QString clientID;
|
||||
bool attemptAutoConnect;
|
||||
int pixmapCacheSize;
|
||||
bool scaleCards;
|
||||
|
|
@ -169,6 +170,8 @@ public:
|
|||
bool getSpectatorsCanTalk() const { return spectatorsCanTalk; }
|
||||
bool getSpectatorsCanSeeEverything() const { return spectatorsCanSeeEverything; }
|
||||
int getKeepAlive() const { return keepalive; }
|
||||
void setClientID(QString clientID);
|
||||
QString getClientID() { return clientID; }
|
||||
public slots:
|
||||
void setMainWindowGeometry(const QByteArray &_mainWindowGeometry);
|
||||
void setLang(const QString &_lang);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue