Update returns FORMERR: ran out of space
Mark Andrews
marka at isc.org
Wed Feb 24 23:02:45 UTC 2010
In message <20100224091831.GA3183 at nic.fr>, Stephane Bortzmeyer writes:
> On Wed, Feb 24, 2010 at 11:32:35AM +1100,
> Mark Andrews <marka at isc.org> wrote
> a message of 35 lines which said:
>
> > Turn the debugging up to 3.
>
> With 'severity debug 30', all I get is:
>
> 24-Feb-2010 10:17:01.047 update: debug 8: client ::1#45986: updating zone 'to
> to.fr/IN': prerequisites are OK
> 24-Feb-2010 10:17:01.047 update: debug 8: client ::1#45986: updating zone 'to
> to.fr/IN': update section prescan OK
> 24-Feb-2010 10:17:01.047 update: info: client ::1#45986: updating zone 'toto.
> fr/IN': adding an RR at 'toto.fr' DNSKEY
> 24-Feb-2010 10:17:01.048 update: debug 3: client ::1#45986: updating zone 'to
> to.fr/IN': checking for NSEC3PARAM changes
> 24-Feb-2010 10:17:01.057 update: error: client ::1#45986: updating zone 'toto
> .fr/IN': RRSIG/NSEC/NSEC3 update failed: ran out of space
> 24-Feb-2010 10:17:01.057 update: debug 8: client ::1#45986: updating zone 'to
> to.fr/IN': rolling back
>
> I log 'dnssec' events:
>
> logging {
> channel debugging {
> file "/tmp/bind-dnssec.log" versions 2 size 5m;
> severity debug 30;
> print-time yes;
> print-severity yes;
> print-category yes;
> };
> category update {
> debugging;
> };
> category dnssec {
> debugging;
> };
> };
>
>
> But I do not see them in the log.
You won't see DNSSEC events as DNSSEC basically covers validation.
Try this patch. It resets the scratch space 'data' used by
dns_dnssec_sign().
Index: bin/named/update.c
===================================================================
RCS file: /proj/cvs/prod/bind9/bin/named/update.c,v
retrieving revision 1.176.4.3
diff -u -r1.176.4.3 update.c
--- bin/named/update.c 30 Dec 2009 03:55:03 -0000 1.176.4.3
+++ bin/named/update.c 24 Feb 2010 22:58:21 -0000
@@ -1941,6 +1941,7 @@
CHECK(update_one_rr(db, ver, diff, DNS_DIFFOP_ADDRESIGN, name,
rdataset.ttl, &sig_rdata));
dns_rdata_reset(&sig_rdata);
+ isc_buffer_init(&buffer, data, sizeof(data));
added_sig = ISC_TRUE;
}
if (!added_sig) {
--
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