From 9505b5bdf0d9ee7c1955550b738b80ec006c2994 Mon Sep 17 00:00:00 2001 From: William Lallemand Date: Fri, 11 Apr 2025 23:52:07 +0200 Subject: [PATCH] MINOR: acme: copy the original ckch_store Copy the original ckch_store instead of creating a new one. This allows to inherit the ckch_conf from the previous structure when doing a ckchs_dup(). The ckch_conf contains the SAN for ACME. Free the previous PKEY since it a new one is generated. --- src/acme.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/acme.c b/src/acme.c index 5e1ea927c..5519ae25e 100644 --- a/src/acme.c +++ b/src/acme.c @@ -1723,7 +1723,7 @@ static int cli_acme_renew_parse(char **args, char *payload, struct appctx *appct goto err; } - newstore = ckch_store_new(store->path); + newstore = ckchs_dup(store); if (!newstore) { memprintf(&err, "Out of memory.\n"); goto err; @@ -1769,6 +1769,7 @@ static int cli_acme_renew_parse(char **args, char *payload, struct appctx *appct EVP_PKEY_CTX_free(pkey_ctx); + EVP_PKEY_free(newstore->data->key); newstore->data->key = pkey; ctx->req = acme_x509_req(pkey, store->conf.acme.domains); @@ -1777,8 +1778,6 @@ static int cli_acme_renew_parse(char **args, char *payload, struct appctx *appct goto err; } - /* XXX: must implement a real copy */ - newstore->conf = store->conf; ctx->store = newstore; ctx->cfg = cfg;