Commit 2a71a213 authored by Mark Andrews's avatar Mark Andrews

1710. [func] 'rndc notify zone [class [view]]' resend the NOTIFY

                        messages for the specified zone. [RT #9479]
parent 9076b186
......@@ -82,7 +82,8 @@
1711. [func] 'rndc unfreeze' has been deprecated by 'rndc thaw'.
1710. [placeholder] rt9479
1710. [func] 'rndc notify zone [class [view]]' resend the NOTIFY
messages for the specified zone. [RT #9479]
1709. [port] solaris: add SMF support from Sun.
......
......@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: control.c,v 1.21 2004/09/03 03:42:58 marka Exp $ */
/* $Id: control.c,v 1.22 2004/10/11 05:30:15 marka Exp $ */
#include <config.h>
......@@ -132,6 +132,8 @@ ns_control_docommand(isccc_sexpr_t *message, isc_buffer_t *text) {
isc_timermgr_poke(ns_g_timermgr);
} else if (command_compare(command, NS_COMMAND_NULL)) {
result = ISC_R_SUCCESS;
} else if (command_compare(command, NS_COMMAND_NOTIFY)) {
result = ns_server_notifycommand(ns_g_server, command, text);
} else {
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL,
NS_LOGMODULE_CONTROL, ISC_LOG_WARNING,
......
......@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: control.h,v 1.15 2004/09/03 03:42:58 marka Exp $ */
/* $Id: control.h,v 1.16 2004/10/11 05:30:19 marka Exp $ */
#ifndef NAMED_CONTROL_H
#define NAMED_CONTROL_H 1
......@@ -51,6 +51,7 @@
#define NS_COMMAND_TIMERPOKE "timerpoke"
#define NS_COMMAND_RECURSING "recursing"
#define NS_COMMAND_NULL "null"
#define NS_COMMAND_NOTIFY "notify"
isc_result_t
ns_controls_create(ns_server_t *server, ns_controls_t **ctrlsp);
......
......@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: server.h,v 1.74 2004/07/20 07:13:34 marka Exp $ */
/* $Id: server.h,v 1.75 2004/10/11 05:30:19 marka Exp $ */
#ifndef NAMED_SERVER_H
#define NAMED_SERVER_H 1
......@@ -141,6 +141,12 @@ ns_server_reconfigcommand(ns_server_t *server, char *args);
* Act on a "reconfig" command from the command channel.
*/
isc_result_t
ns_server_notifycommand(ns_server_t *server, char *args, isc_buffer_t *text);
/*
* Act on a "notify" command from the command channel.
*/
isc_result_t
ns_server_refreshcommand(ns_server_t *server, char *args, isc_buffer_t *text);
/*
......
......@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: server.c,v 1.430 2004/10/05 04:38:17 marka Exp $ */
/* $Id: server.c,v 1.431 2004/10/11 05:30:16 marka Exp $ */
#include <config.h>
......@@ -3438,6 +3438,29 @@ ns_server_reconfigcommand(ns_server_t *server, char *args) {
return (ISC_R_SUCCESS);
}
/*
* Act on a "notify" command from the command channel.
*/
isc_result_t
ns_server_notifycommand(ns_server_t *server, char *args, isc_buffer_t *text) {
isc_result_t result;
dns_zone_t *zone = NULL;
const unsigned char msg[] = "zone notify queued";
result = zone_from_args(server, args, &zone);
if (result != ISC_R_SUCCESS)
return (result);
if (zone == NULL)
return (ISC_R_UNEXPECTEDEND);
dns_zone_notify(zone);
dns_zone_detach(&zone);
if (sizeof(msg) <= isc_buffer_availablelength(text))
isc_buffer_putmem(text, msg, sizeof(msg));
return (ISC_R_SUCCESS);
}
/*
* Act on a "refresh" command from the command channel.
*/
......
......@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: rndc.c,v 1.99 2004/09/03 03:42:58 marka Exp $ */
/* $Id: rndc.c,v 1.100 2004/10/11 05:30:20 marka Exp $ */
/*
* Principal Author: DCL
......@@ -104,6 +104,8 @@ command is one of the following:\n\
Suspend updates to a dynamic zone.\n\
thaw zone [class [view]]\n\
Enable updates to a frozen dynamic zone and reload it.\n\
notify zone [class [view]]\n\
Resend NOTIFY messages for the zone.\n\
reconfig Reload configuration file and new zones only.\n\
stats Write server statistics to the statistics file.\n\
querylog Toggle query logging.\n\
......
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