diff --git a/cockatrice/src/remoteclient.cpp b/cockatrice/src/remoteclient.cpp index 59b8e73b..cd664d36 100644 --- a/cockatrice/src/remoteclient.cpp +++ b/cockatrice/src/remoteclient.cpp @@ -1,7 +1,10 @@ +#include #include #include #include #include +#include +#include #include "remoteclient.h" #include "settingscache.h" #include "pending_command.h" @@ -365,7 +368,15 @@ void RemoteClient::disconnectFromServer() QString RemoteClient::getSrvClientID(const QString _hostname) { QString srvClientID = settingsCache->getClientID(); - srvClientID += _hostname; + QHostInfo hostInfo = QHostInfo::fromName(_hostname); + if (!hostInfo.error()) { + QHostAddress hostAddress = hostInfo.addresses().first(); + srvClientID += hostAddress.toString(); + } + else { + qDebug() << "Warning: ClientID generation host lookup failure [" << hostInfo.errorString() << "]"; + srvClientID += _hostname; + } QString uniqueServerClientID = QCryptographicHash::hash(srvClientID.toUtf8(), QCryptographicHash::Sha1).toHex().right(15); return uniqueServerClientID; } \ No newline at end of file