From 9d90f9829ca8c2ce6eec4bcf3aaa72d95bedda24 Mon Sep 17 00:00:00 2001 From: cathugger Date: Tue, 3 Oct 2017 11:16:50 -0400 Subject: [PATCH] hs-v3: Always generate the public key file on disk Fixes #23748 Signed-off-by: David Goulet --- changes/bug23748 | 4 ++++ src/or/hs_service.c | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 changes/bug23748 diff --git a/changes/bug23748 b/changes/bug23748 new file mode 100644 index 0000000000..b7f42aff23 --- /dev/null +++ b/changes/bug23748 @@ -0,0 +1,4 @@ + o Minor bugfixes (hidden service): + - Always make sure the hidden service generate the public key file if it + is missing. Prior to this, if the public key was deleted from disk, it + wouldn't get recreated. Fixes bug 23748; bugfix on 0.3.2.2-alpha. diff --git a/src/or/hs_service.c b/src/or/hs_service.c index 5e575412b3..3d1945aa95 100644 --- a/src/or/hs_service.c +++ b/src/or/hs_service.c @@ -981,7 +981,8 @@ load_service_keys(hs_service_t *service) fname = hs_path_from_filename(config->directory_path, fname_keyfile_prefix); /* Don't ask for key creation, we want to know if we were able to load it or * we had to generate it. Better logging! */ - kp = ed_key_init_from_file(fname, 0, LOG_INFO, NULL, 0, 0, 0, NULL); + kp = ed_key_init_from_file(fname, INIT_ED_KEY_SPLIT, LOG_INFO, NULL, 0, 0, + 0, NULL); if (!kp) { log_info(LD_REND, "Unable to load keys from %s. Generating it...", fname); /* We'll now try to generate the keys and for it we want the strongest