diff options
author | David Goulet <dgoulet@torproject.org> | 2017-06-29 11:18:24 -0400 |
---|---|---|
committer | David Goulet <dgoulet@torproject.org> | 2017-07-13 16:50:09 -0400 |
commit | 87f6f96f4707cc18a58c5de8be0ee10f1893673d (patch) | |
tree | 14c0b9d20c55facb1f720e4133b39eabb1e2c65a /src/or | |
parent | f76f8731995917366b53f729befd450ed3d417d1 (diff) | |
download | tor-87f6f96f4707cc18a58c5de8be0ee10f1893673d.tar.gz tor-87f6f96f4707cc18a58c5de8be0ee10f1893673d.zip |
hs: Add rend_service_init()
Initialize both the global and staging service lists.
Signed-off-by: David Goulet <dgoulet@torproject.org>
Diffstat (limited to 'src/or')
-rw-r--r-- | src/or/hs_service.c | 3 | ||||
-rw-r--r-- | src/or/rendservice.c | 11 | ||||
-rw-r--r-- | src/or/rendservice.h | 1 |
3 files changed, 15 insertions, 0 deletions
diff --git a/src/or/hs_service.c b/src/or/hs_service.c index bce976ee8c..eb58c768bb 100644 --- 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 index 358efd0ed9..67da760069 100644 --- 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 index 361a119e49..20e827d2aa 100644 --- 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, |