[tor-commits] [tor/master] hs-v3: Shuffle the list of authorized clients

nickm at torproject.org nickm at torproject.org
Wed Sep 12 14:18:16 UTC 2018


commit 57c82b74b43132d34fffd6c03932555bfbf503e1
Author: Suphanat Chunhapanya <haxx.pop at gmail.com>
Date:   Fri Sep 7 21:29:44 2018 +0700

    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 <dgoulet at torproject.org>
---
 src/feature/hs/hs_service.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/feature/hs/hs_service.c b/src/feature/hs/hs_service.c
index 43e5626a5..15f347859 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;
 }
 





More information about the tor-commits mailing list