3337. [bug] Change #3294 broke support for the multiple keys

in controls. [RT #29694]
This commit is contained in:
Mark Andrews
2012-06-13 16:25:42 +10:00
parent ebe662ab63
commit c298583db5
6 changed files with 26 additions and 6 deletions

View File

@@ -1,3 +1,6 @@
3337. [bug] Change #3294 broke support for the multiple keys
in controls. [RT #29694]
3336. [func] Maintain statistics for RRsets tagged as "stale".
[RT #29514]

View File

@@ -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) {

View File

@@ -32,8 +32,13 @@ key rndc_key {
algorithm hmac-md5;
};
key secondkey {
secret "abcd1234abcd8765";
algorithm hmac-md5;
};
controls {
inet 10.53.0.2 port 9953 allow { any; } keys { rndc_key; };
inet 10.53.0.2 port 9953 allow { any; } keys { rndc_key; secondkey; };
};

View File

@@ -0,0 +1,4 @@
key secondkey {
secret "abcd1234abcd8765";
algorithm hmac-md5;
};

View File

@@ -233,5 +233,11 @@ grep "ADB stats" ns2/named.stats > /dev/null || ret=1
if [ $ret != 0 ]; then echo "I:failed"; fi
status=`expr $status + $ret`
echo "I:test using second key"
ret=0
$RNDC -s 10.53.0.2 -p 9953 -k ns2/secondkey.key status > /dev/null || ret=1
if [ $ret != 0 ]; then echo "I:failed"; fi
status=`expr $status + $ret`
echo "I:exit status: $status"
exit $status

View File

@@ -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);