Make replicated username list case insensitive

This commit is contained in:
Ryan Huffman 2017-06-14 13:57:04 -07:00
parent 59a420a358
commit 7f75a5f7f5

View file

@ -2228,7 +2228,7 @@ void DomainServer::updateReplicatedNodes() {
if (replicationSettings.contains("users")) { if (replicationSettings.contains("users")) {
auto usersSettings = replicationSettings.value("users").toList(); auto usersSettings = replicationSettings.value("users").toList();
for (auto& username : usersSettings) { for (auto& username : usersSettings) {
_replicatedUsernames.push_back(username.toString()); _replicatedUsernames.push_back(username.toString().toLower());
} }
} }
} }
@ -2252,6 +2252,8 @@ void DomainServer::updateReplicatedNodes() {
bool DomainServer::shouldReplicateNode(const Node& node) { bool DomainServer::shouldReplicateNode(const Node& node) {
QString verifiedUsername = node.getPermissions().getVerifiedUserName(); QString verifiedUsername = node.getPermissions().getVerifiedUserName();
// Both he verified username and usernames in _replicatedUsernames are lowercase, so
// comparisons here are case-insensitive.
auto it = find(_replicatedUsernames.cbegin(), _replicatedUsernames.cend(), verifiedUsername); auto it = find(_replicatedUsernames.cbegin(), _replicatedUsernames.cend(), verifiedUsername);
return it != _replicatedUsernames.end() && node.getType() == NodeType::Agent; return it != _replicatedUsernames.end() && node.getType() == NodeType::Agent;
}; };