From 89087ae294d2094e7cded00fc7cfebb2a95d7f40 Mon Sep 17 00:00:00 2001 From: "W.C.A. Wijngaards" Date: Fri, 23 Oct 2020 11:47:00 +0200 Subject: [PATCH] zonemd, unbound-control auth_zone_reload errors when ZONEMD fails. --- daemon/remote.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/daemon/remote.c b/daemon/remote.c index 8a6ede426..7c99e4f29 100644 --- a/daemon/remote.c +++ b/daemon/remote.c @@ -2566,14 +2566,17 @@ do_auth_zone_reload(RES* ssl, struct worker* worker, char* arg) auth_zone_verify_zonemd(z, &worker->env, &worker->env.mesh->mods, &reason, 0, 0); if(reason && z->zone_expired) { + lock_rw_unlock(&z->lock); (void)ssl_printf(ssl, "error zonemd for %s failed: %s\n", arg, reason); + free(reason); + return; } else if(reason && strcmp(reason, "ZONEMD verification successful") ==0) { (void)ssl_printf(ssl, "%s: %s\n", arg, reason); } - free(reason); lock_rw_unlock(&z->lock); + free(reason); send_ok(ssl); }