diff options
author | Yawning Angel <yawning@schwanenlied.me> | 2015-04-25 08:23:15 +0000 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2015-04-28 10:19:08 -0400 |
commit | 915c7438a77edfaf3103b69cb494a4f069a79a0c (patch) | |
tree | 1aec80453d2aa691de928349d233a85374b4305c /src/or/connection.c | |
parent | 63a90f2df4dcd7fff862ca3849f3aa3b1dec7e84 (diff) | |
download | tor-915c7438a77edfaf3103b69cb494a4f069a79a0c.tar.gz tor-915c7438a77edfaf3103b69cb494a4f069a79a0c.zip |
Add "ADD_ONION"/"DEL_ONION" and "GETINFO onions/*" to the controller.
These commands allow for the creation and management of ephemeral
Onion ("Hidden") services that are either bound to the lifetime of
the originating control connection, or optionally the lifetime of
the tor instance.
Implements #6411.
Diffstat (limited to 'src/or/connection.c')
-rw-r--r-- | src/or/connection.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/or/connection.c b/src/or/connection.c index 5610815589..24d47ccd18 100644 --- a/src/or/connection.c +++ b/src/or/connection.c @@ -586,6 +586,13 @@ connection_free_(connection_t *conn) control_connection_t *control_conn = TO_CONTROL_CONN(conn); tor_free(control_conn->safecookie_client_hash); tor_free(control_conn->incoming_cmd); + if (control_conn->ephemeral_onion_services) { + SMARTLIST_FOREACH(control_conn->ephemeral_onion_services, char *, cp, { + memwipe(cp, 0, strlen(cp)); + tor_free(cp); + }); + smartlist_free(control_conn->ephemeral_onion_services); + } } /* Probably already freed by connection_free. */ |