]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
BUG/MINOR: ssl/cli: certs added from the CLI can't be deleted
authorWilliam Lallemand <wlallemand@haproxy.com>
Tue, 23 Jun 2020 23:00:52 +0000 (01:00 +0200)
committerWilliam Lallemand <wlallemand@haproxy.org>
Tue, 23 Jun 2020 23:00:52 +0000 (01:00 +0200)
In ticket #706 it was reported that a certificate which was added from
the CLI can't be removed with 'del ssl cert' and is marked as 'Used'.

The problem is that the certificate instances are not added to the
created crtlist_entry, so they can't be deleted upon a 'del ssl
crt-list', and the store can't never be marked 'Unused' because of this.

This patch fixes the issue by adding the instances to the crtlist_entry,
which is enough to fix the issue.

src/ssl_crtlist.c

index 1d282a9f14f6d946031d05599ad26ca6da193f46..def0e22f6da35462d6013080c18a673c982de29f 100644 (file)
@@ -952,6 +952,8 @@ static int cli_io_handler_add_crtlist(struct appctx *appctx)
                                        chunk_appendf(trash, ".");
                                        i++;
                                        LIST_ADDQ(&store->ckch_inst, &new_inst->by_ckchs);
+                                       LIST_ADDQ(&entry->ckch_inst, &new_inst->by_crtlist_entry);
+                                       new_inst->crtlist_entry = entry;
                                }
                                appctx->st2 = SETCERT_ST_INSERT;
                                /* fallthrough */