From 62b3b461ec59b9b3ecd47d92b036d403359d229d Mon Sep 17 00:00:00 2001 From: Nicolas Werner Date: Sun, 12 Jun 2022 19:09:07 +0200 Subject: Fix comparison for glare algorithm --- src/encryption/DeviceVerificationFlow.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'src/encryption/DeviceVerificationFlow.cpp') diff --git a/src/encryption/DeviceVerificationFlow.cpp b/src/encryption/DeviceVerificationFlow.cpp index 32473522..cc12bb9b 100644 --- a/src/encryption/DeviceVerificationFlow.cpp +++ b/src/encryption/DeviceVerificationFlow.cpp @@ -15,6 +15,7 @@ #include #include #include +#include static constexpr int TIMEOUT = 2 * 60 * 1000; // 2 minutes @@ -569,10 +570,10 @@ DeviceVerificationFlow::handleStartMessage(const mtx::events::msg::KeyVerificati this->canonical_json = nlohmann::json(msg); else { // resolve glare - if (utils::localUser().toStdString() > this->toClient.to_string() && - http::client()->device_id() > this->deviceId.toStdString()) { - // treat this as if the user with the smaller mxid and deviceid was the sender of - // "start" + if (std::tuple(this->toClient.to_string(), this->deviceId.toStdString()) < + std::tuple(utils::localUser().toStdString(), http::client()->device_id())) { + // treat this as if the user with the smaller mxid or smaller deviceid (if the mxid + // was the same) was the sender of "start" this->canonical_json = nlohmann::json(msg); this->sender = false; } -- cgit 1.5.1