From 57c82b74b43132d34fffd6c03932555bfbf503e1 Mon Sep 17 00:00:00 2001 From: Suphanat Chunhapanya Date: Fri, 7 Sep 2018 21:29:44 +0700 Subject: hs-v3: Shuffle the list of authorized clients This commit makes it that the authorized clients in the descriptor are in random order instead of ordered by how they were read on disk. Fixes #27545 Signed-off-by: David Goulet --- src/feature/hs/hs_service.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/feature/hs/hs_service.c') diff --git a/src/feature/hs/hs_service.c b/src/feature/hs/hs_service.c index 43e5626a57..15f3478596 100644 --- a/src/feature/hs/hs_service.c +++ b/src/feature/hs/hs_service.c @@ -18,6 +18,7 @@ #include "lib/crypt_ops/crypto_rand.h" #include "lib/crypt_ops/crypto_util.h" #include "lib/crypt_ops/crypto_ope.h" +#include "lib/crypt_ops/crypto_rand.h" #include "feature/dircache/directory.h" #include "core/mainloop/main.h" #include "feature/nodelist/networkstatus.h" @@ -1800,6 +1801,10 @@ build_service_desc_superencrypted(const hs_service_t *service, smartlist_add(superencrypted->clients, desc_client); } + /* Shuffle the list to prevent the client know the position in the + * config. */ + smartlist_shuffle(superencrypted->clients); + return 0; } -- cgit v1.2.3-54-g00ecf