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.
* 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>
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,
* 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
#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);
* 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
* 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);
/*
* 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>
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.
*/
* 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
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\