1633. [placeholder] rt11331
-1632. [placeholder] rt11288
+1632. [bug] nsupdate failed to send prerequisite only UPDATE
+ messages. [RT #11288]
1631. [bug] dns_journal_compact() could sometimes corrupt the
journal. [RT #11124]
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: nsupdate.c,v 1.131 2004/04/10 04:03:16 marka Exp $ */
+/* $Id: nsupdate.c,v 1.132 2004/05/12 04:48:23 marka Exp $ */
#include <config.h>
dns_request_t *request = NULL;
dns_message_t *soaquery = NULL;
dns_name_t *firstname;
+ dns_section_t section = DNS_SECTION_UPDATE;
ddebug("start_update()");
if (answer != NULL)
dns_message_destroy(&answer);
- result = dns_message_firstname(updatemsg, DNS_SECTION_UPDATE);
+ result = dns_message_firstname(updatemsg, section);
+ if (result == ISC_R_NOMORE) {
+ section = DNS_SECTION_PREREQUISITE;
+ result = dns_message_firstname(updatemsg, section);
+ }
if (result != ISC_R_SUCCESS) {
done_update();
return;
dns_rdataset_makequestion(rdataset, getzoneclass(), dns_rdatatype_soa);
firstname = NULL;
- dns_message_currentname(updatemsg, DNS_SECTION_UPDATE, &firstname);
+ dns_message_currentname(updatemsg, section, &firstname);
dns_name_init(name, NULL);
dns_name_clone(firstname, name);