diff --git a/CHANGES b/CHANGES index 6f70e59ea7..032544e1a2 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,7 @@ + 576. [doc] isc_log_create() description did not match reality. + + 575. [bug] isc_log_create() was not setting internal state + correctly to reflect the default channels created. 574. [bug] TSIG signed queries sent by the resolver would fail to have their responses validated and would leak memory. diff --git a/lib/isc/include/isc/log.h b/lib/isc/include/isc/log.h index f8a324a9cf..3f3cc1df05 100644 --- a/lib/isc/include/isc/log.h +++ b/lib/isc/include/isc/log.h @@ -15,7 +15,7 @@ * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: log.h,v 1.29 2000/09/26 22:14:35 bwelling Exp $ */ +/* $Id: log.h,v 1.30 2000/11/24 01:37:26 marka Exp $ */ #ifndef ISC_LOG_H #define ISC_LOG_H 1 @@ -152,7 +152,7 @@ isc_log_create(isc_mem_t *mctx, isc_log_t **lctxp, isc_logconfig_t **lcfgp); * Requires: * mctx is a valid memory context. * lctxp is not null and *lctxp is null. - * lctfg is not null and *lcfgp is null. + * lctfg is null or lctfg is not null and *lcfgp is null. * * Ensures: * *lctxp will point to a valid logging context if all of the necessary diff --git a/lib/isc/log.c b/lib/isc/log.c index af6a4f64e2..bd026fc389 100644 --- a/lib/isc/log.c +++ b/lib/isc/log.c @@ -15,7 +15,7 @@ * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: log.c,v 1.48 2000/10/20 02:21:55 marka Exp $ */ +/* $Id: log.c,v 1.49 2000/11/24 01:37:24 marka Exp $ */ /* Principal Authors: DCL */ @@ -252,6 +252,7 @@ isc_log_create(isc_mem_t *mctx, isc_log_t **lctxp, isc_logconfig_t **lcfgp) { REQUIRE(mctx != NULL); REQUIRE(lctxp != NULL && *lctxp == NULL); + REQUIRE(lcfgp == NULL || *lcfgp == NULL); lctx = isc_mem_get(mctx, sizeof(*lctx)); if (lctx != NULL) { @@ -304,6 +305,7 @@ isc_logconfig_create(isc_log_t *lctx, isc_logconfig_t **lcfgp) { isc_logconfig_t *lcfg; isc_logdestination_t destination; isc_result_t result = ISC_R_SUCCESS; + int level = ISC_LOG_INFO; REQUIRE(lcfgp != NULL && *lcfgp == NULL); REQUIRE(VALID_CONTEXT(lctx)); @@ -315,7 +317,7 @@ isc_logconfig_create(isc_log_t *lctx, isc_logconfig_t **lcfgp) { lcfg->channellists = NULL; lcfg->channellist_count = 0; lcfg->duplicate_interval = 0; - lcfg->highest_level = ISC_LOG_CRITICAL; + lcfg->highest_level = level; lcfg->tag = NULL; lcfg->dynamic = ISC_FALSE; @@ -339,7 +341,7 @@ isc_logconfig_create(isc_log_t *lctx, isc_logconfig_t **lcfgp) { if (result == ISC_R_SUCCESS) { destination.facility = LOG_DAEMON; result = isc_log_createchannel(lcfg, "default_syslog", - ISC_LOG_TOSYSLOG, ISC_LOG_INFO, + ISC_LOG_TOSYSLOG, level, &destination, 0); } @@ -350,7 +352,7 @@ isc_logconfig_create(isc_log_t *lctx, isc_logconfig_t **lcfgp) { destination.file.maximum_size = 0; result = isc_log_createchannel(lcfg, "default_stderr", ISC_LOG_TOFILEDESC, - ISC_LOG_INFO, + level, &destination, ISC_LOG_PRINTTIME); }