From 859d8dc9cf916a1c0da6e49aa766aba0fbe2436a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Adrien=20B=C3=A9raud?= <adrien.beraud@savoirfairelinux.com>
Date: Fri, 24 Jan 2020 00:17:32 -0500
Subject: [PATCH] proxy server: check clientId for merging put

---
 src/dht_proxy_server.cpp | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/dht_proxy_server.cpp b/src/dht_proxy_server.cpp
index 105c6f0d..78723117 100644
--- a/src/dht_proxy_server.cpp
+++ b/src/dht_proxy_server.cpp
@@ -946,7 +946,10 @@ DhtProxyServer::put(restinio::request_handle_t request,
                 auto& sPuts = puts_[infoHash];
                 if (value->id == Value::INVALID_ID) {
                     for (auto& pp : sPuts.puts) {
-                        if (pp.second.pushToken == pushToken and pp.second.value->contentEquals(*value)) {
+                        if (pp.second.pushToken == pushToken 
+                            and pp.second.clientId == clientId 
+                            and pp.second.value->contentEquals(*value))
+                        {
                             pp.second.expireTimer->expires_at(timeout);
                             pp.second.expireTimer->async_wait(std::bind(&DhtProxyServer::handleCancelPermamentPut, this,
                                                         std::placeholders::_1, infoHash, pp.second.value->id));
-- 
GitLab