diff --git a/rainloop/v/0.0.0/app/libraries/MailSo/Log/Drivers/Syslog.php b/rainloop/v/0.0.0/app/libraries/MailSo/Log/Drivers/Syslog.php index 66dd958b6..3ab6a41b3 100644 --- a/rainloop/v/0.0.0/app/libraries/MailSo/Log/Drivers/Syslog.php +++ b/rainloop/v/0.0.0/app/libraries/MailSo/Log/Drivers/Syslog.php @@ -24,15 +24,9 @@ class Syslog extends \MailSo\Log\Driver { parent::__construct(); - $this->iLogLevel = \defined('LOG_INFO') ? LOG_INFO : 6; - if (\function_exists('openlog') && \function_exists('closelog') && \defined('LOG_ODELAY') && \defined('LOG_USER')) { - \openlog('rainloop', LOG_ODELAY, LOG_USER); - - \register_shutdown_function(function () { - \closelog(); - }); + $this->iLogLevel = \defined('LOG_INFO') ? LOG_INFO : 6; } else { @@ -52,7 +46,10 @@ class Syslog extends \MailSo\Log\Driver $mDesc = \implode($this->sNewLine, $mDesc); } - return \syslog($this->iLogLevel, $mDesc); + \openlog('rainloop', LOG_ODELAY, LOG_USER); + $result = \syslog($this->iLogLevel, $mDesc); + \closelog(); + return $result; } protected function clearImplementation() : bool diff --git a/rainloop/v/0.0.0/app/libraries/RainLoop/Actions.php b/rainloop/v/0.0.0/app/libraries/RainLoop/Actions.php index dfbfa3360..82e740d50 100644 --- a/rainloop/v/0.0.0/app/libraries/RainLoop/Actions.php +++ b/rainloop/v/0.0.0/app/libraries/RainLoop/Actions.php @@ -984,6 +984,11 @@ class Actions { $this->LoggerAuth()->Write($this->compileLogParams($sLine, $oAccount, false, $aAdditionalParams)); } + if ($this->Config()->Get('logs', 'auth_logging', false) && \openlog('rainloop', 0, \LOG_AUTHPRIV)) + { + \syslog(\LOG_ERR, $this->compileLogParams('Auth failed: ip={request:ip} user={imap:login}', $oAccount, false, $aAdditionalParams)); + \closelog(); + } } private function getAdminToken() : string