mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-08-30 05:57:52 +00:00
4164. [bug] Don't rename slave files and journals on out of memory.
[RT #40033] 4163. [bug] Address compiler warnings. [RT #40024]
This commit is contained in:
parent
b3338fc248
commit
3a49d0ff10
5
CHANGES
5
CHANGES
@ -1,3 +1,8 @@
|
||||
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]
|
||||
|
||||
4161. [test] Add JSON test for traffic size stats; also test
|
||||
|
@ -579,7 +579,7 @@ ns_config_getipandkeylist(const cfg_obj_t *config, const cfg_obj_t *list,
|
||||
const cfg_obj_t *portobj;
|
||||
const cfg_obj_t *dscpobj;
|
||||
in_port_t port;
|
||||
isc_dscp_t dscp;
|
||||
isc_dscp_t dscp = -1;
|
||||
dns_fixedname_t fname;
|
||||
isc_sockaddr_t *addrs = NULL;
|
||||
isc_dscp_t *dscps = NULL;
|
||||
|
@ -90,16 +90,17 @@ typedef enum {
|
||||
*/
|
||||
#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)];
|
||||
};
|
||||
|
||||
/*
|
||||
|
@ -376,7 +376,7 @@ hash_key(const dns_rrl_key_t *key) {
|
||||
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);
|
||||
|
@ -569,6 +569,7 @@ rrset_visible(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name,
|
||||
result = ISC_R_SUCCESS;
|
||||
break;
|
||||
default:
|
||||
*visible = ISC_FALSE; /* silence false compiler warning */
|
||||
break;
|
||||
}
|
||||
return (result);
|
||||
|
@ -4666,10 +4666,14 @@ zone_postload(dns_zone_t *zone, dns_db_t *db, isc_time_t loadtime,
|
||||
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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user