Commit 2bbca959 authored by Mark Andrews's avatar Mark Andrews
Browse files

4790. [bug] nsupdate could trigger a require when sending a

                        update to the second address of the server.
                        [RT #45731]
parent eb2ef7b5
4790. [bug] nsupdate could trigger a require when sending a
update to the second address of the server.
[RT #45731]
4789. [cleanup] Check writability of new-zones-directory. [RT #46308] 4789. [cleanup] Check writability of new-zones-directory. [RT #46308]
   
4788. [cleanup] When using "update-policy local", log a warning 4788. [cleanup] When using "update-policy local", log a warning
......
...@@ -150,6 +150,7 @@ static dns_dispatch_t *dispatchv4 = NULL; ...@@ -150,6 +150,7 @@ static dns_dispatch_t *dispatchv4 = NULL;
static dns_dispatch_t *dispatchv6 = NULL; static dns_dispatch_t *dispatchv6 = NULL;
static dns_message_t *updatemsg = NULL; static dns_message_t *updatemsg = NULL;
static dns_fixedname_t fuserzone; static dns_fixedname_t fuserzone;
static dns_fixedname_t fzname;
static dns_name_t *userzone = NULL; static dns_name_t *userzone = NULL;
static dns_name_t *zname = NULL; static dns_name_t *zname = NULL;
static dns_name_t tmpzonename; static dns_name_t tmpzonename;
...@@ -2390,7 +2391,6 @@ update_completed(isc_task_t *task, isc_event_t *event) { ...@@ -2390,7 +2391,6 @@ update_completed(isc_task_t *task, isc_event_t *event) {
dns_request_destroy(&request); dns_request_destroy(&request);
dns_message_renderreset(updatemsg); dns_message_renderreset(updatemsg);
dns_message_settsigkey(updatemsg, NULL); dns_message_settsigkey(updatemsg, NULL);
/* XXX MPA fix zonename is freed already */
send_update(zname, &master_servers[master_inuse]); send_update(zname, &master_servers[master_inuse]);
isc_event_free(&event); isc_event_free(&event);
return; return;
...@@ -2693,13 +2693,17 @@ recvsoa(isc_task_t *task, isc_event_t *event) { ...@@ -2693,13 +2693,17 @@ recvsoa(isc_task_t *task, isc_event_t *event) {
dns_name_init(&master, NULL); dns_name_init(&master, NULL);
dns_name_clone(&soa.origin, &master); dns_name_clone(&soa.origin, &master);
if (userzone != NULL) {
zname = userzone;
} else {
/* /*
* XXXMPA * Save the zone name in case we need to try a second
* address.
*/ */
if (userzone != NULL) dns_fixedname_init(&fzname);
zname = userzone; zname = dns_fixedname_name(&fzname);
else dns_name_copy(name, zname, NULL);
zname = name; }
if (debugging) { if (debugging) {
char namestr[DNS_NAME_FORMATSIZE]; char namestr[DNS_NAME_FORMATSIZE];
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment