From deb9552c41497a46c176c0bb34302947d938a525 Mon Sep 17 00:00:00 2001
From: Jaime Perez Crespo <jaime.perez@uninett.no>
Date: Wed, 20 Apr 2016 11:27:43 +0200
Subject: [PATCH] Capture any output generated by a config file, throw it away
 and warn about it in the logs.

---
 lib/SimpleSAML/Configuration.php | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/lib/SimpleSAML/Configuration.php b/lib/SimpleSAML/Configuration.php
index 62f25bff5..fb2108d46 100644
--- a/lib/SimpleSAML/Configuration.php
+++ b/lib/SimpleSAML/Configuration.php
@@ -107,11 +107,15 @@ class SimpleSAML_Configuration
             return self::$loadedConfigs[$filename];
         }
 
+        $spurious_output = false;
         if (file_exists($filename)) {
             $config = 'UNINITIALIZED';
 
             // the file initializes a variable named '$config'
+            ob_start();
             require($filename);
+            $spurious_output = ob_get_length() > 0;
+            ob_end_clean();
 
             // check that $config exists
             if (!isset($config)) {
@@ -151,6 +155,12 @@ class SimpleSAML_Configuration
 
         self::$loadedConfigs[$filename] = $cfg;
 
+        if ($spurious_output) {
+            SimpleSAML\Logger::warning(
+                "The configuration file '$filename' generates output. Please review your configuration."
+            );
+        }
+
         return $cfg;
     }
 
-- 
GitLab