diff --git a/doc/reference.texi b/doc/reference.texi index f1377634f5c73b6f37024c5ec7d4f967629aa971..bb2bf391849e9e6d3bbac159f60d71e072d41d9f 100644 --- a/doc/reference.texi +++ b/doc/reference.texi @@ -853,6 +853,7 @@ Knot DNS allows user to choose from these logging categories: @itemize @item @emph{server} - Messages related to general operation of the server. @item @emph{zone} - Messages related to zones, zone parsing and loading. +@item @emph{answering} - Messages regarding query processing and response creation. @item @emph{any} - All categories. @end itemize diff --git a/src/common/log.h b/src/common/log.h index 36e0a1b4f7ef70d0072a8f764bccb8abf19c8431..639957c4c59ae61707da16d23907e8160fbda228 100644 --- a/src/common/log.h +++ b/src/common/log.h @@ -53,7 +53,8 @@ typedef enum { /*! \brief Log sources (max. LOG_SRC_BITS bits). */ typedef enum { - LOG_SERVER = 1, /*!< Server module. */ + LOG_SERVER = 0, /*!< Server module. */ + LOG_ANSWER = 1, /*!< Query answering module. */ LOG_ZONE = 2, /*!< Zone manipulation module. */ LOG_ANY = 7 /*!< Any module. */ } logsrc_t; @@ -188,6 +189,13 @@ void hex_log(int source, const char *data, int length); #define log_server_info(msg...) log_msg(LOG_SERVER, LOG_INFO, msg) #define log_server_debug(msg...) log_msg(LOG_SERVER, LOG_DEBUG, msg) +#define log_answer_fatal(msg...) log_msg(LOG_ANSWER, LOG_FATAL, msg) +#define log_answer_error(msg...) log_msg(LOG_ANSWER, LOG_ERR, msg) +#define log_answer_warning(msg...) log_msg(LOG_ANSWER, LOG_WARNING, msg) +#define log_answer_notice(msg...) log_msg(LOG_ANSWER, LOG_NOTICE, msg) +#define log_answer_info(msg...) log_msg(LOG_ANSWER, LOG_INFO, msg) +#define log_answer_debug(msg...) log_msg(LOG_ANSWER, LOG_DEBUG, msg) + #define log_zone_fatal(msg...) log_msg(LOG_ZONE, LOG_FATAL, msg) #define log_zone_error(msg...) log_msg(LOG_ZONE, LOG_ERR, msg) #define log_zone_warning(msg...) log_msg(LOG_ZONE, LOG_WARNING, msg) diff --git a/src/knot/conf/cf-lex.l b/src/knot/conf/cf-lex.l index 722a0ebe96e0cef81894e83ef7f25bd19db32815..5a539179ad1ddbcd81f7a882e950dbe0fb5b45ab 100644 --- a/src/knot/conf/cf-lex.l +++ b/src/knot/conf/cf-lex.l @@ -112,6 +112,7 @@ log { lval.t = yytext; return LOG; } any { lval.t = yytext; lval.i = LOG_ANY; return LOG_SRC; } server { lval.t = yytext; lval.i = LOG_SERVER; return LOG_SRC; } +answering { lval.t = yytext; lval.i = LOG_ANSWER; return LOG_SRC; } zone { lval.t = yytext; lval.i = LOG_ZONE; return LOG_SRC; } stdout { lval.t = yytext; lval.i = LOGT_STDOUT; return LOG_DEST; } stderr { lval.t = yytext; lval.i = LOGT_STDERR; return LOG_DEST; } diff --git a/src/knot/server/server.c b/src/knot/server/server.c index f5b88c8fbac796589b6e05a44b13a6e1f4ba2491..4ac919ddc48dac68f00e95966baaab580ea1dc1d 100644 --- a/src/knot/server/server.c +++ b/src/knot/server/server.c @@ -652,7 +652,7 @@ int server_refresh(server_t *server) if (zd->xfr_in.timer) { evsched_cancel(sch, zd->xfr_in.timer); evsched_schedule(sch, zd->xfr_in.timer, - tls_rand() * 500 + i/4); + tls_rand() * 500 + i/2); /* Cumulative delay. */ } } diff --git a/src/knot/server/zones.c b/src/knot/server/zones.c index 564de380555fd2a38052cdf8d3a6eeb3f28d2474..a06484df2432c797ba167843d9dbce2249c067ca 100644 --- a/src/knot/server/zones.c +++ b/src/knot/server/zones.c @@ -4059,7 +4059,7 @@ int zones_verify_tsig_query(const knot_packet_t *query, */ tsig_algorithm_t alg = tsig_rdata_alg(tsig_rr); if (tsig_alg_digest_length(alg) == 0) { - log_server_info("Unsupported digest algorithm " + log_answer_info("Unsupported digest algorithm " "requested, treating as bad key\n"); /*! \todo [TSIG] It is unclear from RFC if I * should treat is as a bad key