2
0
mirror of https://gitlab.isc.org/isc-projects/bind9 synced 2025-08-30 22:15:20 +00:00

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

messages for the specified zone. [RT #9479]
This commit is contained in:
Mark Andrews
2004-10-11 05:30:20 +00:00
parent 9076b18608
commit 2a71a21346
6 changed files with 41 additions and 6 deletions

View File

@@ -82,7 +82,8 @@
1711. [func] 'rndc unfreeze' has been deprecated by 'rndc thaw'. 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. 1709. [port] solaris: add SMF support from Sun.

View File

@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE. * 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> #include <config.h>
@@ -132,6 +132,8 @@ ns_control_docommand(isccc_sexpr_t *message, isc_buffer_t *text) {
isc_timermgr_poke(ns_g_timermgr); isc_timermgr_poke(ns_g_timermgr);
} else if (command_compare(command, NS_COMMAND_NULL)) { } else if (command_compare(command, NS_COMMAND_NULL)) {
result = ISC_R_SUCCESS; result = ISC_R_SUCCESS;
} else if (command_compare(command, NS_COMMAND_NOTIFY)) {
result = ns_server_notifycommand(ns_g_server, command, text);
} else { } else {
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL,
NS_LOGMODULE_CONTROL, ISC_LOG_WARNING, NS_LOGMODULE_CONTROL, ISC_LOG_WARNING,

View File

@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE. * 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 #ifndef NAMED_CONTROL_H
#define NAMED_CONTROL_H 1 #define NAMED_CONTROL_H 1
@@ -51,6 +51,7 @@
#define NS_COMMAND_TIMERPOKE "timerpoke" #define NS_COMMAND_TIMERPOKE "timerpoke"
#define NS_COMMAND_RECURSING "recursing" #define NS_COMMAND_RECURSING "recursing"
#define NS_COMMAND_NULL "null" #define NS_COMMAND_NULL "null"
#define NS_COMMAND_NOTIFY "notify"
isc_result_t isc_result_t
ns_controls_create(ns_server_t *server, ns_controls_t **ctrlsp); ns_controls_create(ns_server_t *server, ns_controls_t **ctrlsp);

View File

@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE. * 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 #ifndef NAMED_SERVER_H
#define NAMED_SERVER_H 1 #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. * 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 isc_result_t
ns_server_refreshcommand(ns_server_t *server, char *args, isc_buffer_t *text); ns_server_refreshcommand(ns_server_t *server, char *args, isc_buffer_t *text);
/* /*

View File

@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE. * 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> #include <config.h>
@@ -3438,6 +3438,29 @@ ns_server_reconfigcommand(ns_server_t *server, char *args) {
return (ISC_R_SUCCESS); 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. * Act on a "refresh" command from the command channel.
*/ */

View File

@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE. * 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 * Principal Author: DCL
@@ -104,6 +104,8 @@ command is one of the following:\n\
Suspend updates to a dynamic zone.\n\ Suspend updates to a dynamic zone.\n\
thaw zone [class [view]]\n\ thaw zone [class [view]]\n\
Enable updates to a frozen dynamic zone and reload it.\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\ reconfig Reload configuration file and new zones only.\n\
stats Write server statistics to the statistics file.\n\ stats Write server statistics to the statistics file.\n\
querylog Toggle query logging.\n\ querylog Toggle query logging.\n\