commit 87f6f96f4707cc18a58c5de8be0ee10f1893673d
parent f76f8731995917366b53f729befd450ed3d417d1
Author: David Goulet <dgoulet@torproject.org>
Date: Thu, 29 Jun 2017 11:18:24 -0400
hs: Add rend_service_init()
Initialize both the global and staging service lists.
Signed-off-by: David Goulet <dgoulet@torproject.org>
Diffstat:
3 files changed, 15 insertions(+), 0 deletions(-)
diff --git a/src/or/hs_service.c b/src/or/hs_service.c
@@ -616,6 +616,9 @@ hs_service_init(void)
tor_assert(!hs_service_map);
tor_assert(!hs_service_staging_list);
+ /* v2 specific. */
+ rend_service_init();
+
hs_service_map = tor_malloc_zero(sizeof(struct hs_service_ht));
HT_INIT(hs_service_ht, hs_service_map);
diff --git a/src/or/rendservice.c b/src/or/rendservice.c
@@ -257,6 +257,17 @@ rend_service_free_all(void)
rend_service_free_staging_list();
}
+/* Initialize the subsystem. */
+void
+rend_service_init(void)
+{
+ tor_assert(!rend_service_list);
+ tor_assert(!rend_service_staging_list);
+
+ rend_service_list = smartlist_new();
+ rend_service_staging_list = smartlist_new();
+}
+
/* Validate a <b>service</b>. Use the <b>service_list</b> to make sure there
* is no duplicate entry for the given service object. Return 0 if valid else
* -1 if not.*/
diff --git a/src/or/rendservice.h b/src/or/rendservice.h
@@ -179,6 +179,7 @@ int rend_service_set_connection_addr_port(edge_connection_t *conn,
origin_circuit_t *circ);
void rend_service_dump_stats(int severity);
void rend_service_free_all(void);
+void rend_service_init(void);
rend_service_port_config_t *rend_service_parse_port_config(const char *string,
const char *sep,