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).
 
+QS/04 Always die if requested from internal logging, even is logging is
+      disabled.
+
+
 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 ((flags & LOG_PANIC_DIE) == LOG_PANIC_DIE) exim_exit(EXIT_FAILURE);
   return;
   }