From 9900d3cf154dd136b85da79547ea2954186b9a8c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrien=20B=C3=A9raud?= <adrien.beraud@savoirfairelinux.com> Date: Mon, 11 May 2020 11:55:51 -0400 Subject: [PATCH] proxyserver: generate id before put --- include/opendht/dht_proxy_server.h | 1 + src/dht_proxy_server.cpp | 2 ++ 2 files changed, 3 insertions(+) diff --git a/include/opendht/dht_proxy_server.h b/include/opendht/dht_proxy_server.h index 346a7c84..a3720d1d 100644 --- a/include/opendht/dht_proxy_server.h +++ b/include/opendht/dht_proxy_server.h @@ -316,6 +316,7 @@ private: std::shared_ptr<DhtRunner> dht_; Json::StreamWriterBuilder jsonBuilder_; Json::CharReaderBuilder jsonReaderBuilder_; + std::mt19937_64 rd {crypto::getSeededRandomEngine<std::mt19937_64>()}; // http server std::thread serverThread_; diff --git a/src/dht_proxy_server.cpp b/src/dht_proxy_server.cpp index 4c7dbc48..84957cff 100644 --- a/src/dht_proxy_server.cpp +++ b/src/dht_proxy_server.cpp @@ -964,6 +964,8 @@ DhtProxyServer::put(restinio::request_handle_t request, return response.done(); } } + if (value->id == Value::INVALID_ID) + value->id = std::uniform_int_distribution<Value::Id>{1}(rd); } auto vid = value->id; -- GitLab