From fa2eb1936225223b537e8de134afa8010ac3ac52 Mon Sep 17 00:00:00 2001 From: Mark Andrews Date: Sat, 10 Apr 2004 04:31:45 +0000 Subject: [PATCH] 1602. [bug] Logging to a file failed unless a size was specified. [RT# 10925] --- CHANGES | 3 +++ lib/isc/include/isc/log.h | 4 +++- lib/isc/log.c | 6 +++--- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/CHANGES b/CHANGES index 508351a208..3a8167f34b 100644 --- a/CHANGES +++ b/CHANGES @@ -8,6 +8,9 @@ 1603. [bug] nsupdate: set interactive based on isatty(). [RT# 10929] +1602. [bug] Logging to a file failed unless a size was specified. + [RT# 10925] + 1600. [placeholder] rt10861. 1599. [placeholder] rt10861. diff --git a/lib/isc/include/isc/log.h b/lib/isc/include/isc/log.h index 57714c0d36..bf9483898a 100644 --- a/lib/isc/include/isc/log.h +++ b/lib/isc/include/isc/log.h @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: log.h,v 1.47 2004/03/05 05:10:58 marka Exp $ */ +/* $Id: log.h,v 1.47.18.1 2004/04/10 04:31:45 marka Exp $ */ #ifndef ISC_LOG_H #define ISC_LOG_H 1 @@ -96,6 +96,8 @@ struct isc_logmodule { * channel the name, versions and maximum_size should be set before calling * isc_log_createchannel(). To define an ISC_LOG_TOFILEDESC channel set only * the stream before the call. + * + * Setting maximum_size to zero implies no maximum. */ typedef struct isc_logfile { FILE *stream; /* Initialized to NULL for ISC_LOG_TOFILE. */ diff --git a/lib/isc/log.c b/lib/isc/log.c index 4a98e46398..cfdcda5c32 100644 --- a/lib/isc/log.c +++ b/lib/isc/log.c @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: log.c,v 1.84 2004/03/16 05:52:20 marka Exp $ */ +/* $Id: log.c,v 1.84.18.1 2004/04/10 04:31:45 marka Exp $ */ /* Principal Authors: DCL */ @@ -1317,7 +1317,7 @@ isc_log_open(isc_logchannel_t *channel) { if (stat(path, &statbuf) == 0) { regular_file = S_ISREG(statbuf.st_mode) ? ISC_TRUE : ISC_FALSE; /* XXXDCL if not regular_file complain? */ - roll = ISC_TF(regular_file && + roll = ISC_TF(regular_file && FILE_MAXSIZE(channel) > 0 && statbuf.st_size >= FILE_MAXSIZE(channel)); } else if (errno == ENOENT) regular_file = ISC_TRUE; @@ -1691,7 +1691,7 @@ isc_log_doit(isc_log_t *lctx, isc_logcategory_t *category, * threshold, note it so that it will not be logged * to any more. */ - if (FILE_MAXSIZE(channel) != 0) { + if (FILE_MAXSIZE(channel) > 0) { INSIST(channel->type == ISC_LOG_TOFILE); /* XXXDCL NT fstat/fileno */