From d3be9a9c6ef76a5d7671b0962785ca025b153d2b Mon Sep 17 00:00:00 2001 From: Andreas Gustafsson Date: Thu, 30 Nov 2000 00:25:49 +0000 Subject: [PATCH] 583. [func] "rndc querylog" will now toggle logging of queries, like "ndc querylog" in BIND 8. --- CHANGES | 3 +++ bin/named/include/named/omapi.h | 3 ++- bin/named/include/named/server.h | 9 ++++++++- bin/named/omapi.c | 4 +++- bin/named/query.c | 5 +++-- bin/named/server.c | 15 ++++++++++++++- bin/rndc/rndc.c | 8 ++------ doc/arm/Bv9ARM-book.xml | 4 ++-- 8 files changed, 37 insertions(+), 14 deletions(-) diff --git a/CHANGES b/CHANGES index c9b5a99e50..440516d6ef 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,6 @@ + 583. [func] "rndc querylog" will now toggle logging of + queries, like "ndc querylog" in BIND 8. + 582. [bug] dns_zone_idetach() failed to lock the zone. [RT #199, #463] diff --git a/bin/named/include/named/omapi.h b/bin/named/include/named/omapi.h index 322180e395..f960f5da95 100644 --- a/bin/named/include/named/omapi.h +++ b/bin/named/include/named/omapi.h @@ -15,7 +15,7 @@ * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: omapi.h,v 1.15 2000/11/27 19:42:28 gson Exp $ */ +/* $Id: omapi.h,v 1.16 2000/11/30 00:25:13 gson Exp $ */ #ifndef NAMED_OMAPI_H #define NAMED_OMAPI_H 1 @@ -41,6 +41,7 @@ #define NS_OMAPI_COMMAND_RELOADZONES "reload-zones" #define NS_OMAPI_COMMAND_REFRESH "refresh" #define NS_OMAPI_COMMAND_DUMPSTATS "stats" +#define NS_OMAPI_COMMAND_QUERYLOG "querylog" isc_result_t ns_omapi_init(void); diff --git a/bin/named/include/named/server.h b/bin/named/include/named/server.h index 77d089a5e8..34e8503db2 100644 --- a/bin/named/include/named/server.h +++ b/bin/named/include/named/server.h @@ -15,7 +15,7 @@ * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: server.h,v 1.44 2000/11/09 19:55:20 mws Exp $ */ +/* $Id: server.h,v 1.45 2000/11/30 00:25:14 gson Exp $ */ #ifndef NAMED_SERVER_H #define NAMED_SERVER_H 1 @@ -67,6 +67,7 @@ struct ns_server { isc_event_t * reload_event; isc_boolean_t flushonshutdown; + isc_boolean_t log_queries; /* For BIND 8 compatibility */ char * statsfile; FILE * statsfp; @@ -112,6 +113,12 @@ ns_server_reloadzone(ns_server_t *server, char *args); isc_result_t ns_server_refreshzone(ns_server_t *server, char *args); +isc_result_t +ns_server_togglequerylog(ns_server_t *server); +/* + * Toggle logging of queries, as in BIND 8. + */ + isc_result_t ns_server_dumpstats(ns_server_t *server); diff --git a/bin/named/omapi.c b/bin/named/omapi.c index 6b90d5cb22..3daf3b8168 100644 --- a/bin/named/omapi.c +++ b/bin/named/omapi.c @@ -15,7 +15,7 @@ * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: omapi.c,v 1.24 2000/11/08 01:36:12 gson Exp $ */ +/* $Id: omapi.c,v 1.25 2000/11/30 00:25:06 gson Exp $ */ /* * Principal Author: DCL @@ -127,6 +127,8 @@ control_setvalue(omapi_object_t *handle, omapi_string_t *name, } else if (omapi_string_strcmp(name, NS_OMAPI_COMMAND_DUMPSTATS) == 0) { result = ns_server_dumpstats(ns_g_server); + } else if (omapi_string_strcmp(name, NS_OMAPI_COMMAND_QUERYLOG) == 0) { + result = ns_server_togglequerylog(ns_g_server); } else { isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_OMAPI, ISC_LOG_WARNING, diff --git a/bin/named/query.c b/bin/named/query.c index 6ef2fe66da..15b3bd1b2f 100644 --- a/bin/named/query.c +++ b/bin/named/query.c @@ -15,7 +15,7 @@ * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: query.c,v 1.155 2000/11/23 01:32:45 gson Exp $ */ +/* $Id: query.c,v 1.156 2000/11/30 00:25:09 gson Exp $ */ #include @@ -3321,7 +3321,8 @@ ns_query_start(ns_client_t *client) { return; } - log_query(client); + if (ns_g_server->log_queries) + log_query(client); /* * Check for multiple question queries, since edns1 is dead. diff --git a/bin/named/server.c b/bin/named/server.c index ba8e2dd8c8..57c47ea947 100644 --- a/bin/named/server.c +++ b/bin/named/server.c @@ -15,7 +15,7 @@ * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: server.c,v 1.261 2000/11/28 21:32:32 gson Exp $ */ +/* $Id: server.c,v 1.262 2000/11/30 00:25:11 gson Exp $ */ #include @@ -2010,6 +2010,8 @@ ns_server_create(isc_mem_t *mctx, ns_server_t **serverp) { ns_server_zeroglobal(server); server->flushonshutdown = ISC_FALSE; + server->log_queries = ISC_FALSE; + server->magic = NS_SERVER_MAGIC; *serverp = server; } @@ -2186,6 +2188,17 @@ ns_server_refreshzone(ns_server_t *server, char *args) { return (ISC_R_SUCCESS); } +isc_result_t +ns_server_togglequerylog(ns_server_t *server) { + server->log_queries = ! server->log_queries; + + isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, + NS_LOGMODULE_SERVER, ISC_LOG_INFO, + "query logging is now %s", + server->log_queries ? "on" : "off"); + return (ISC_R_SUCCESS); +} + static isc_result_t ns_listenlist_fromconfig(dns_c_lstnlist_t *clist, dns_c_ctx_t *cctx, ns_aclconfctx_t *actx, diff --git a/bin/rndc/rndc.c b/bin/rndc/rndc.c index 40685b7bd2..46ffa058dd 100644 --- a/bin/rndc/rndc.c +++ b/bin/rndc/rndc.c @@ -15,7 +15,7 @@ * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: rndc.c,v 1.29 2000/11/25 03:27:54 mws Exp $ */ +/* $Id: rndc.c,v 1.30 2000/11/30 00:25:16 gson Exp $ */ /* * Principal Author: DCL @@ -262,7 +262,7 @@ command is one of the following for named:\n\ stats Dump statistics to statistics file.\n\ *trace Increment debugging level by one.\n\ *notrace Set debugging level to 0.\n\ - *querylog Toggle query logging.\n\ + querylog Toggle query logging.\n\ *stop Stop the server.\n\ *restart Restart the server.\n\ \n\ @@ -504,10 +504,6 @@ main(int argc, char **argv) { } else if (strcmp(command, "notrace") == 0) { result = ISC_R_NOTIMPLEMENTED; - } else if (strcmp(command, "querylog") == 0 || - strcmp(command, "qrylog") == 0) { - result = ISC_R_NOTIMPLEMENTED; - } else if (strcmp(command, "reload") == 0) { char omapiargs[DNS_NAME_MAXTEXT]; if (argc > 0) { diff --git a/doc/arm/Bv9ARM-book.xml b/doc/arm/Bv9ARM-book.xml index 725cf3133d..7ae4d55fa4 100644 --- a/doc/arm/Bv9ARM-book.xml +++ b/doc/arm/Bv9ARM-book.xml @@ -2,7 +2,7 @@ - + @@ -690,7 +690,7 @@ of a server. querylog + "1">querylog Toggle query logging.