From 2ed5e8aefbc21bde4d7d16ff1f91dc0c4552c718 Mon Sep 17 00:00:00 2001 From: Roxanne Skelly Date: Wed, 19 Jun 2019 13:53:38 -0700 Subject: [PATCH] add OS type to connect message --- domain-server/src/DomainGatekeeper.cpp | 3 ++- domain-server/src/NodeConnectionData.cpp | 3 +++ domain-server/src/NodeConnectionData.h | 2 +- libraries/networking/src/NodeList.cpp | 14 ++++++++++++++ libraries/networking/src/udt/PacketHeaders.cpp | 2 +- libraries/networking/src/udt/PacketHeaders.h | 3 ++- 6 files changed, 23 insertions(+), 4 deletions(-) diff --git a/domain-server/src/DomainGatekeeper.cpp b/domain-server/src/DomainGatekeeper.cpp index 709c5810e2..915fec68aa 100644 --- a/domain-server/src/DomainGatekeeper.cpp +++ b/domain-server/src/DomainGatekeeper.cpp @@ -127,7 +127,8 @@ void DomainGatekeeper::processConnectRequestPacket(QSharedPointer> newHeader.machineFingerprint; + // and the operating system type + dataStream >> newHeader.SystemInfo; + dataStream >> newHeader.connectReason; dataStream >> newHeader.previousConnectionUpTime; diff --git a/domain-server/src/NodeConnectionData.h b/domain-server/src/NodeConnectionData.h index 23eceb0dca..3833f5afd3 100644 --- a/domain-server/src/NodeConnectionData.h +++ b/domain-server/src/NodeConnectionData.h @@ -31,9 +31,9 @@ public: QString placeName; QString hardwareAddress; QUuid machineFingerprint; + QString SystemInfo; quint32 connectReason; quint64 previousConnectionUpTime; - QByteArray protocolVersion; }; diff --git a/libraries/networking/src/NodeList.cpp b/libraries/networking/src/NodeList.cpp index 3d367bc761..96b713c583 100644 --- a/libraries/networking/src/NodeList.cpp +++ b/libraries/networking/src/NodeList.cpp @@ -418,6 +418,20 @@ void NodeList::sendDomainServerCheckIn() { auto accountManager = DependencyManager::get(); packetStream << FingerprintUtils::getMachineFingerprint(); + QString systemInfo; +#if defined Q_OS_WIN + systemInfo = "OS:Windows"; +#elif defined Q_OS_OSX + systemInfo = "OS:OSX"; +#elif defined Q_OS_LINUX + systemInfo = "OS:Linux"; +#elif defined Q_OS_ANDROID + systemInfo = "OS:Android"; +#else + systemInfo = "OS:Unknown"; +#endif + packetStream << systemInfo; + packetStream << _connectReason; if (_nodeDisconnectTimestamp < _nodeConnectTimestamp) { diff --git a/libraries/networking/src/udt/PacketHeaders.cpp b/libraries/networking/src/udt/PacketHeaders.cpp index 30066b68e8..e434867c9a 100644 --- a/libraries/networking/src/udt/PacketHeaders.cpp +++ b/libraries/networking/src/udt/PacketHeaders.cpp @@ -72,7 +72,7 @@ PacketVersion versionForPacketType(PacketType packetType) { return static_cast(DomainConnectionDeniedVersion::IncludesExtraInfo); case PacketType::DomainConnectRequest: - return static_cast(DomainConnectRequestVersion::HasReason); + return static_cast(DomainConnectRequestVersion::HasSystemInfo); case PacketType::DomainServerAddedNode: return static_cast(DomainServerAddedNodeVersion::PermissionsGrid); diff --git a/libraries/networking/src/udt/PacketHeaders.h b/libraries/networking/src/udt/PacketHeaders.h index 93a5d4e2b4..a244399c5a 100644 --- a/libraries/networking/src/udt/PacketHeaders.h +++ b/libraries/networking/src/udt/PacketHeaders.h @@ -346,7 +346,8 @@ enum class DomainConnectRequestVersion : PacketVersion { HasMachineFingerprint, AlwaysHasMachineFingerprint, HasTimestamp, - HasReason + HasReason, + HasSystemInfo }; enum class DomainConnectionDeniedVersion : PacketVersion {