diff -up bind-9.4.1-P1/lib/dns/message.c.update bind-9.4.1-P1/lib/dns/message.c --- bind-9.4.1-P1/lib/dns/message.c.update 2007-08-14 10:53:25.000000000 +0200 +++ bind-9.4.1-P1/lib/dns/message.c 2007-08-14 10:54:52.000000000 +0200 @@ -1308,6 +1308,11 @@ getsection(isc_buffer_t *source, dns_mes rdata->type = rdtype; rdata->flags = DNS_RDATA_UPDATE; result = ISC_R_SUCCESS; + } else if (rdclass == dns_rdataclass_none && + msg->opcode == dns_opcode_update && + sectionid == DNS_SECTION_UPDATE) { + result = getrdata(source, msg, dctx, msg->rdclass, + rdtype, rdatalen, rdata); } else result = getrdata(source, msg, dctx, rdclass, rdtype, rdatalen, rdata);