diff --git a/lib/SimpleSAML/Logger/ErrorLogLoggingHandler.php b/lib/SimpleSAML/Logger/ErrorLogLoggingHandler.php index 5d5f6cafe4c3feb4551e5d944b35c95fa934a0bc..77ef47087bc62e19b08ef12776d87ee7ead3138e 100644 --- a/lib/SimpleSAML/Logger/ErrorLogLoggingHandler.php +++ b/lib/SimpleSAML/Logger/ErrorLogLoggingHandler.php @@ -48,7 +48,8 @@ class ErrorLogLoggingHandler implements LoggingHandlerInterface */ public function __construct(Configuration $config) { - $this->processname = $config->getString('logging.processname', 'SimpleSAMLphp'); + // Remove any non-printable characters before storing + $this->processname = preg_replace('/[\x00-\x1F\x7F\xA0]/u', '', $config->getString('logging.processname', 'SimpleSAMLphp')); } diff --git a/lib/SimpleSAML/Logger/FileLoggingHandler.php b/lib/SimpleSAML/Logger/FileLoggingHandler.php index 745a1ed6a02db92cf6acf1b7ea284bd72bc3c93d..c07ec21feea0c3e568fc88857287c0805c9067d8 100644 --- a/lib/SimpleSAML/Logger/FileLoggingHandler.php +++ b/lib/SimpleSAML/Logger/FileLoggingHandler.php @@ -57,7 +57,9 @@ class FileLoggingHandler implements LoggingHandlerInterface // get the metadata handler option from the configuration $this->logFile = $config->getPathValue('loggingdir', 'log/') . $config->getString('logging.logfile', 'simplesamlphp.log'); - $this->processname = $config->getString('logging.processname', 'SimpleSAMLphp'); + + // Remove any non-printable characters before storing + $this->processname = preg_replace('/[\x00-\x1F\x7F\xA0]/u', '', $config->getString('logging.processname', 'SimpleSAMLphp')); if (@file_exists($this->logFile)) { if (!@is_writeable($this->logFile)) { diff --git a/lib/SimpleSAML/Logger/StandardErrorLoggingHandler.php b/lib/SimpleSAML/Logger/StandardErrorLoggingHandler.php index 02b31eab87694d81acd4eae14d1dffba423b176b..9a803d1f29a4a37d1eda16445a0cdca742dd6dad 100644 --- a/lib/SimpleSAML/Logger/StandardErrorLoggingHandler.php +++ b/lib/SimpleSAML/Logger/StandardErrorLoggingHandler.php @@ -23,7 +23,8 @@ class StandardErrorLoggingHandler extends FileLoggingHandler */ public function __construct(Configuration $config) { - $this->processname = $config->getString('logging.processname', 'SimpleSAMLphp'); + // Remove any non-printable characters before storing + $this->processname = preg_replace('/[\x00-\x1F\x7F\xA0]/u', '', $config->getString('logging.processname', 'SimpleSAMLphp')); $this->logFile = 'php://stderr'; } } diff --git a/lib/SimpleSAML/Logger/SyslogLoggingHandler.php b/lib/SimpleSAML/Logger/SyslogLoggingHandler.php index 49da62d8296d11a9ecbb78b8326a7587113ac20f..34383c06683433b3920c383b9bb54a2f0713a92f 100644 --- a/lib/SimpleSAML/Logger/SyslogLoggingHandler.php +++ b/lib/SimpleSAML/Logger/SyslogLoggingHandler.php @@ -31,7 +31,8 @@ class SyslogLoggingHandler implements LoggingHandlerInterface { $facility = $config->getInteger('logging.facility', defined('LOG_LOCAL5') ? constant('LOG_LOCAL5') : LOG_USER); - $processname = $config->getString('logging.processname', 'SimpleSAMLphp'); + // Remove any non-printable characters before storing + $processname = preg_replace('/[\x00-\x1F\x7F\xA0]/u', '', $config->getString('logging.processname', 'SimpleSAMLphp')); // Setting facility to LOG_USER (only valid in Windows), enable log level rewrite on windows systems if (Utils\System::getOS() === Utils\System::WINDOWS) {