+4164. [bug] Don't rename slave files and journals on out of memory.
+ [RT #40033]
+
+4163. [bug] Address compiler warnings. [RT #40024]
+
4162. [bug] httpdmgr->flags was not being initialized. [RT #40017]
4159. [cleanup] Alphabetize dig's help output. [RT #39966]
*/
#define DNS_RRL_MAX_PREFIX 64
typedef union dns_rrl_key dns_rrl_key_t;
+struct dns__rrl_key {
+ isc_uint32_t ip[DNS_RRL_MAX_PREFIX/32];
+ isc_uint32_t qname_hash;
+ dns_rdatatype_t qtype;
+ isc_uint8_t qclass;
+ dns_rrl_rtype_t rtype :4; /* 3 bits + sign bit */
+ isc_boolean_t ipv6 :1;
+};
union dns_rrl_key {
- struct {
- isc_uint32_t ip[DNS_RRL_MAX_PREFIX/32];
- isc_uint32_t qname_hash;
- dns_rdatatype_t qtype;
- isc_uint8_t qclass;
- dns_rrl_rtype_t rtype :4; /* 3 bits + sign bit */
- isc_boolean_t ipv6 :1;
- } s;
- isc_uint16_t w[1];
+ struct dns__rrl_key s;
+ isc_uint16_t w[sizeof(struct dns__rrl_key)/sizeof(isc_uint16_t)];
};
/*
int i;
hval = key->w[0];
- for (i = sizeof(*key) / sizeof(key->w[0]) - 1; i >= 0; --i) {
+ for (i = sizeof(key->w) / sizeof(key->w[0]) - 1; i >= 0; --i) {
hval = key->w[i] + (hval<<1);
}
return (hval);
result = ISC_R_SUCCESS;
break;
default:
+ *visible = ISC_FALSE; /* silence false compiler warning */
break;
}
return (result);
zone->type == dns_zone_stub ||
zone->type == dns_zone_key ||
(zone->type == dns_zone_redirect && zone->masters != NULL)) {
- if (zone->journal != NULL)
- zone_saveunique(zone, zone->journal, "jn-XXXXXXXX");
- if (zone->masterfile != NULL)
- zone_saveunique(zone, zone->masterfile, "db-XXXXXXXX");
+ if (result != ISC_R_NOMEMORY) {
+ if (zone->journal != NULL)
+ zone_saveunique(zone, zone->journal,
+ "jn-XXXXXXXX");
+ if (zone->masterfile != NULL)
+ zone_saveunique(zone, zone->masterfile,
+ "db-XXXXXXXX");
+ }
/* Mark the zone for immediate refresh. */
zone->refreshtime = now;