+3249. [bug] Update log message when saving slave zones files for
+ analysis after load failures. [RT #27087]
+
+3248. [bug] Configure options --enable-fixed-rrset and
+ --enable-exportlib were incompatible with each
+ other. [RT #27087]
+
+3247. [bug] 'raw' format zones failed to preserve load order
+ breaking 'fixed' sort order. [RT #27087]
+
+3246. [bug] Named failed to start with a empty also-notify list.
+ [RT #27087]
+
3245. [bug] Don't report a error unchanged serials unless there
were other changes when thawing a zone with
ixfr-fromdifferences. [RT #26845]
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: zoneconf.c,v 1.185 2011/10/26 15:23:36 each Exp $ */
+/* $Id: zoneconf.c,v 1.186 2011/12/20 00:06:54 marka Exp $ */
/*% */
result = dns_zone_setalsonotifywithkeys(zone, addrs,
keynames,
addrcount);
- ns_config_putipandkeylist(mctx, &addrs, &keynames,
- addrcount);
+ if (addrcount != 0)
+ ns_config_putipandkeylist(mctx, &addrs,
+ &keynames, addrcount);
+ else
+ INSIST(addrs == NULL && keynames == NULL);
RETERR(result);
} else
RETERR(dns_zone_setalsonotify(zone, NULL, 0));
&count));
result = dns_zone_setmasterswithkeys(mayberaw, addrs,
keynames, count);
- ns_config_putipandkeylist(mctx, &addrs, &keynames,
- count);
+ if (count != 0)
+ ns_config_putipandkeylist(mctx, &addrs,
+ &keynames, count);
+ else
+ INSIST(addrs == NULL && keynames == NULL);
} else
result = dns_zone_setmasters(mayberaw, NULL, 0);
RETERR(result);
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: named.conf,v 1.22 2011/10/17 23:46:33 tbox Exp $ */
+/* $Id: named.conf,v 1.23 2011/12/20 00:06:54 marka Exp $ */
controls { /* empty */ };
zone "example" {
type master;
file "example.db";
+ // Check that named can handle a empty also-notify.
+ also-notify { /* empty */ };
};
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: ecdb.c,v 1.9 2011/10/11 13:33:45 marka Exp $ */
+/* $Id: ecdb.c,v 1.10 2011/12/20 00:06:53 marka Exp $ */
#include "config.h"
#define ECDBNODE_MAGIC ISC_MAGIC('E', 'C', 'D', 'N')
#define VALID_ECDBNODE(ecdbn) ISC_MAGIC_VALID(ecdbn, ECDBNODE_MAGIC)
-#if DNS_RDATASET_FIXED
-#error "Fixed rdataset isn't supported in this implementation"
-#endif
-
/*%
* The 'ephemeral' cache DB (ecdb) implementation. An ecdb just provides
* temporary storage for ongoing name resolution with the common DB interfaces.
rdataset->private5 = NULL;
return (ISC_R_NOMORE);
}
+#if DNS_RDATASET_FIXED
+ raw += 2 + (4 * count);
+#else
raw += 2;
+#endif
/*
* The privateuint4 field is the number of rdata beyond the cursor
* position, so we decrement the total count by one before storing
rdataset->privateuint4 = count;
raw = rdataset->private5;
length = raw[0] * 256 + raw[1];
+#if DNS_RDATASET_FIXED
+ raw += length + 4;
+#else
raw += length + 2;
+#endif
rdataset->private5 = raw;
return (ISC_R_SUCCESS);
REQUIRE(raw != NULL);
length = raw[0] * 256 + raw[1];
+#if DNS_RDATASET_FIXED
+ raw += 4;
+#else
raw += 2;
+#endif
if (rdataset->type == dns_rdatatype_rrsig) {
if (*raw & DNS_RDATASLAB_OFFLINE)
flags |= DNS_RDATA_OFFLINE;
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: masterdump.c,v 1.112 2011/12/08 23:46:48 tbox Exp $ */
+/* $Id: masterdump.c,v 1.113 2011/12/20 00:06:53 marka Exp $ */
/*! \file */
REQUIRE(buffer->length > 0);
REQUIRE(DNS_RDATASET_VALID(rdataset));
+ rdataset->attributes |= DNS_RDATASETATTR_LOADORDER;
restart:
totallen = 0;
result = dns_rdataset_first(rdataset);
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: zone.c,v 1.655 2011/12/19 23:46:12 marka Exp $ */
+/* $Id: zone.c,v 1.656 2011/12/20 00:06:53 marka Exp $ */
/*! \file */
if (result != ISC_R_SUCCESS)
goto cleanup;
- dns_zone_log(zone, ISC_LOG_WARNING, "saved '%s' as '%s'",
- path, buf);
+ dns_zone_log(zone, ISC_LOG_WARNING, "unable to load from '%'; "
+ "renaming file to '%s' for failure analysis and "
+ "retransferring.", path, buf);
cleanup:
isc_mem_put(zone->mctx, buf, buflen);