summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2018-06-02 10:33:33 -0700
committerNick Mathewson <nickm@torproject.org>2018-06-02 10:33:33 -0700
commit00e150a0e4967f5859f3eecb51fb54104d87335d (patch)
tree05af7492cfb277c15b241e2111455c8411bdb2b4
parentd7bbfd0f6217181fc7f4a4a71d23874873a5262a (diff)
parent66e76066e0ae61b6a22eccc238b5ed75d705547f (diff)
downloadtor-00e150a0e4967f5859f3eecb51fb54104d87335d.tar.gz
tor-00e150a0e4967f5859f3eecb51fb54104d87335d.zip
Merge branch 'bug25939_034_01_squashed'
-rw-r--r--changes/bug259393
-rw-r--r--src/or/hs_service.c14
2 files changed, 11 insertions, 6 deletions
diff --git a/changes/bug25939 b/changes/bug25939
new file mode 100644
index 0000000000..a11c73ad09
--- /dev/null
+++ b/changes/bug25939
@@ -0,0 +1,3 @@
+ o Minor bugfixes (onion services):
+ - Fix a bug that blocked the creation of ephemeral v3 onion services. Fixes
+ bug 25939; bugfix on 0.3.4.1-alpha.
diff --git a/src/or/hs_service.c b/src/or/hs_service.c
index 9001a521ab..f1f26954ae 100644
--- a/src/or/hs_service.c
+++ b/src/or/hs_service.c
@@ -3062,6 +3062,12 @@ hs_service_add_ephemeral(ed25519_secret_key_t *sk, smartlist_t *ports,
goto err;
}
+ /* Build the onion address for logging purposes but also the control port
+ * uses it for the HS_DESC event. */
+ hs_build_address(&service->keys.identity_pk,
+ (uint8_t) service->config.version,
+ service->onion_address);
+
/* The only way the registration can fail is if the service public key
* already exists. */
if (BUG(register_service(hs_service_map, service) < 0)) {
@@ -3071,14 +3077,10 @@ hs_service_add_ephemeral(ed25519_secret_key_t *sk, smartlist_t *ports,
goto err;
}
- /* Last step is to build the onion address. */
- hs_build_address(&service->keys.identity_pk,
- (uint8_t) service->config.version,
- service->onion_address);
- *address_out = tor_strdup(service->onion_address);
-
log_info(LD_CONFIG, "Added ephemeral v3 onion service: %s",
safe_str_client(service->onion_address));
+
+ *address_out = tor_strdup(service->onion_address);
ret = RSAE_OKAY;
goto end;