9.8 controls stmt ignores second key?
Mark Andrews
marka at isc.org
Fri Jun 8 05:36:46 UTC 2012
Apply the following. It should work
diff --git a/bin/named/controlconf.c b/bin/named/controlconf.c
index f360d02..8a3d3b0 100644
--- a/bin/named/controlconf.c
+++ b/bin/named/controlconf.c
@@ -373,8 +373,10 @@ control_recvmessage(isc_task_t *task, isc_event_t *event) {
if (result == ISC_R_SUCCESS)
break;
isc_mem_put(listener->mctx, secret.rstart, REGION_SIZE(secret));
- log_invalid(&conn->ccmsg, result);
- goto cleanup;
+ if (result != ISCCC_R_BADAUTH) {
+ log_invalid(&conn->ccmsg, result);
+ goto cleanup;
+ }
}
if (key == NULL) {
diff --git a/lib/isccc/cc.c b/lib/isccc/cc.c
index b549d6c..1ab9479 100644
--- a/lib/isccc/cc.c
+++ b/lib/isccc/cc.c
@@ -399,8 +399,6 @@ table_fromwire(isccc_region_t *source, isccc_region_t *secret,
first_tag = ISC_FALSE;
}
- *alistp = alist;
-
if (secret != NULL) {
if (checksum_rstart != NULL)
result = verify(alist, checksum_rstart,
@@ -412,7 +410,9 @@ table_fromwire(isccc_region_t *source, isccc_region_t *secret,
result = ISC_R_SUCCESS;
bad:
- if (result != ISC_R_SUCCESS)
+ if (result == ISC_R_SUCCESS)
+ *alistp = alist;
+ else
isccc_sexpr_free(&alist);
return (result);
--
Mark Andrews, ISC
1 Seymour St., Dundas Valley, NSW 2117, Australia
PHONE: +61 2 9871 4742 INTERNET: marka at isc.org
More information about the bind-users
mailing list