3452. [bug] Accept duplicate singlton records. [RT #32329]

This commit is contained in:
Mark Andrews
2013-01-08 10:58:42 +11:00
parent e436a3d965
commit c9cecf7bb5
2 changed files with 11 additions and 2 deletions

View File

@@ -1441,8 +1441,15 @@ getsection(isc_buffer_t *source, dns_message_t *msg, dns_decompress_t *dctx,
* the opcode is an update, or the type search is skipped.
*/
if (result == ISC_R_SUCCESS) {
if (dns_rdatatype_issingleton(rdtype))
DO_FORMERR;
if (dns_rdatatype_issingleton(rdtype)) {
dns_rdata_t *first;
dns_rdatalist_fromrdataset(rdataset,
&rdatalist);
first = ISC_LIST_HEAD(rdatalist->rdata);
INSIST(first != NULL);
if (dns_rdata_compare(rdata, first) != 0)
DO_FORMERR;
}
}
if (result == ISC_R_NOTFOUND) {