From abda0b2381e2f31802d214a1d075a45d693196bc Mon Sep 17 00:00:00 2001 From: Simon Walton Date: Fri, 29 Jun 2018 18:25:06 -0700 Subject: [PATCH 1/2] Use case-insensitive matching on friends lists in DomainGatekeeper --- domain-server/src/DomainGatekeeper.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/domain-server/src/DomainGatekeeper.cpp b/domain-server/src/DomainGatekeeper.cpp index 2a6b78744e..f28989b029 100644 --- a/domain-server/src/DomainGatekeeper.cpp +++ b/domain-server/src/DomainGatekeeper.cpp @@ -207,7 +207,7 @@ NodePermissions DomainGatekeeper::setPermissionsForUser(bool isLocalUser, QStrin #endif // if this user is a friend of the domain-owner, give them friend's permissions - if (_domainOwnerFriends.contains(verifiedUsername)) { + if (_domainOwnerFriends.contains(verifiedUsername.toLower())) { userPerms |= _server->_settingsManager.getStandardPermissionsForName(NodePermissions::standardNameFriends); #ifdef WANT_DEBUG qDebug() << "| user-permissions: user is friends with domain-owner, so:" << userPerms; @@ -993,7 +993,7 @@ void DomainGatekeeper::getDomainOwnerFriendsListJSONCallback(QNetworkReply* requ _domainOwnerFriends.clear(); QJsonArray friends = jsonObject["data"].toObject()["friends"].toArray(); for (int i = 0; i < friends.size(); i++) { - _domainOwnerFriends += friends.at(i).toString(); + _domainOwnerFriends += friends.at(i).toString().toLower(); } } else { qDebug() << "getDomainOwnerFriendsList api call returned:" << QJsonDocument(jsonObject).toJson(QJsonDocument::Compact); From 91e8f1f0f88123e78e09d691e0dca3773bd9f4a8 Mon Sep 17 00:00:00 2001 From: Simon Walton Date: Mon, 2 Jul 2018 15:30:58 -0700 Subject: [PATCH 2/2] Ensure 'verifiedUsername' is always lower case --- domain-server/src/DomainGatekeeper.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/domain-server/src/DomainGatekeeper.cpp b/domain-server/src/DomainGatekeeper.cpp index f28989b029..59cc8d10f6 100644 --- a/domain-server/src/DomainGatekeeper.cpp +++ b/domain-server/src/DomainGatekeeper.cpp @@ -207,7 +207,7 @@ NodePermissions DomainGatekeeper::setPermissionsForUser(bool isLocalUser, QStrin #endif // if this user is a friend of the domain-owner, give them friend's permissions - if (_domainOwnerFriends.contains(verifiedUsername.toLower())) { + if (_domainOwnerFriends.contains(verifiedUsername)) { userPerms |= _server->_settingsManager.getStandardPermissionsForName(NodePermissions::standardNameFriends); #ifdef WANT_DEBUG qDebug() << "| user-permissions: user is friends with domain-owner, so:" << userPerms; @@ -412,7 +412,7 @@ SharedNodePointer DomainGatekeeper::processAgentConnectRequest(const NodeConnect } else if (verifyUserSignature(username, usernameSignature, nodeConnection.senderSockAddr)) { // they sent us a username and the signature verifies it getGroupMemberships(username); - verifiedUsername = username; + verifiedUsername = username.toLower(); } else { // they sent us a username, but it didn't check out requestUserPublicKey(username);