From 517f50995c634e600e73cf4208e90c464fe798b6 Mon Sep 17 00:00:00 2001 From: tokul Date: Sat, 14 Jan 2006 09:33:56 +0000 Subject: [PATCH] prevent output in plugins/*/setup.php files. git-svn-id: https://svn.code.sf.net/p/squirrelmail/code/trunk/squirrelmail@10536 7612ce4b-ef26-0410-bec9-ea0150e637f0 --- ChangeLog | 2 ++ functions/plugin.php | 9 +++++++++ 2 files changed, 11 insertions(+) diff --git a/ChangeLog b/ChangeLog index 4006276b..379aa68b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -515,6 +515,8 @@ Version 1.5.1 -- CVS - Added 'mail' and 'sn' attributes to address book LDAP backend search expression (#1368154). - Added mailbox caching code by Michael Long. + - Prevent output of whitespace during plugin activation. Fixes possible + attachment corruption by incorrectly coded plugins. Version 1.5.0 - 2 February 2004 ------------------------------- diff --git a/functions/plugin.php b/functions/plugin.php index 8cf261b7..7ccc6bc9 100644 --- a/functions/plugin.php +++ b/functions/plugin.php @@ -220,9 +220,18 @@ function is_plugin_enabled($plugin_name) { /* On startup, register all plugins configured for use. */ if (isset($plugins) && is_array($plugins)) { + // turn on output buffering in order to prevent output of new lines + ob_start(); foreach ($plugins as $name) { use_plugin($name); } + // get output and remove whitespace + $output = trim(ob_get_contents()); + ob_end_clean(); + // if plugins output more than newlines and spacing, stop script execution. + if (!empty($output)) { + die($output); + } } ?> \ No newline at end of file -- 2.25.1