SECURITY: Always exit when LOG_PANIC_DIE is set
authorQualys Security Advisory <qsa@qualys.com>
Mon, 22 Feb 2021 06:09:06 +0000 (22:09 -0800)
committerHeiko Schlittermann (HS12-RIPE) <hs@schlittermann.de>
Thu, 27 May 2021 19:30:55 +0000 (21:30 +0200)
(cherry picked from commit e20aa895b37f449d5c81c3e7b102fc534b5d23ba)
(cherry picked from commit 3b8c0ceb7339329188e19efb907da950dbe691d1)

doc/doc-txt/ChangeLog
src/src/log.c

index bcace272d3c442d6e6ec6882e9e8007df55a3ef3..a5bce7e81c0eeab8ac41db0ab002867d5151cbbc 100644 (file)
@@ -306,6 +306,10 @@ QS/03 When reading the output from interpreted forward files we do not
       pass the pipe between the parent and the interpreting process to
       executed child processes (if any).
 
       pass the pipe between the parent and the interpreting process to
       executed child processes (if any).
 
+QS/04 Always die if requested from internal logging, even is logging is
+      disabled.
+
+
 Exim version 4.94
 -----------------
 
 Exim version 4.94
 -----------------
 
index 2cf578069d780002d56b9a2a0d18122f77113e90..6e35ff9a768023ef171c99ade7aea66ab6cceb07 100644 (file)
@@ -903,6 +903,7 @@ if (!(flags & (LOG_MAIN|LOG_PANIC|LOG_REJECT)))
 if (f.disable_logging)
   {
   DEBUG(D_any) debug_printf("log writing disabled\n");
 if (f.disable_logging)
   {
   DEBUG(D_any) debug_printf("log writing disabled\n");
+  if ((flags & LOG_PANIC_DIE) == LOG_PANIC_DIE) exim_exit(EXIT_FAILURE);
   return;
   }
 
   return;
   }