]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
1655. [bug] Logging multiple versions w/o a size was broken.
authorMark Andrews <marka@isc.org>
Fri, 11 Jun 2004 00:36:30 +0000 (00:36 +0000)
committerMark Andrews <marka@isc.org>
Fri, 11 Jun 2004 00:36:30 +0000 (00:36 +0000)
                        [RT #11446]

CHANGES
lib/isc/log.c

diff --git a/CHANGES b/CHANGES
index e96d2f209d887007a2e74cf09fdd0df3c1d45b98..ce4c4a5b2911bb1cfcbe9c3557168dc4204be403 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -3,7 +3,8 @@
 1656.  [doc]           Update DNSSEC description in ARM to cover DS, NSEC
                        DNSKEY and RRSIG.  [RT #11542]
 
-1655.  [placeholder]   rt11446
+1655.  [bug]           Logging multiple versions w/o a size was broken.
+                       [RT #11446]
 
 1654.  [bug]           isc_result_totext() contained array bounds read
                        error.
index 0cbe86a418ce5e77e93e8c0cd837e00df3601be0..031ade33c54153e40f08b5be47043927b0c09278 100644 (file)
@@ -15,7 +15,7 @@
  * PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: log.c,v 1.86 2004/06/04 02:19:17 marka Exp $ */
+/* $Id: log.c,v 1.87 2004/06/11 00:36:30 marka Exp $ */
 
 /* Principal Authors: DCL */
 
@@ -1329,8 +1329,11 @@ 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 && FILE_MAXSIZE(channel) > 0 &&
-                             statbuf.st_size >= FILE_MAXSIZE(channel));
+               if ((FILE_MAXSIZE(channel) == 0 &&
+                    FILE_VERSIONS(channel) != ISC_LOG_ROLLNEVER) ||
+                   (FILE_MAXSIZE(channel) > 0 &&
+                    statbuf.st_size >= FILE_MAXSIZE(channel)))
+                       roll = regular_file;
        } else if (errno == ENOENT)
                regular_file = ISC_TRUE;
        else