diff --git a/src/dht_proxy_server.cpp b/src/dht_proxy_server.cpp index 105c6f0d272fcf5c40d821857eabf1e2f0badc32..78723117759a816ab5525782b2fcace1c8b23488 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));