On 06/15/2012 06:20 PM, David C. Rankin wrote:
> Paul,
>
> I apologize if this list gets two copies of this, but I didn't see the
> first
> come through. Could the squirrelmail code be setting E_ALL and causing this
> problem? I don't see this issue with my other web apps. Grepping, the
> following
> looked suspicious. I'm not a php coder, so it could be harmless, but this is
> what I found:
>
> contrib/test_ldap.phps:error_reporting(E_ALL);
>
> include/init.php://error_reporting(E_ALL);
> include/init.php:error_reporting($error_level);
>
> src/configtest.php:$php_error_reporting_original_value =
> ini_get('error_reporting');
> src/configtest.php:error_reporting(E_ALL);
> src/configtest.php:echo $IND . 'error_reporting: ' .
> $php_error_reporting_original_value . " (overridden with 2047 for this page
> only)<br />\n";
>
> Could one of these be the culprit causing the E_STRICT notices I'm seeing
> despite having set ~E_STRICT in php.ini?
Paul, Tomas,
It IS squirrelmail that is causing the errors to be displayed -- not the
php.ini setting. As a test I changed the instances of 'error_reporting' and
'error_reporting(ALL)' in:
class/error.class.php
contrib/test_ldap.phps
functions/global.php
include/init.php
src/configtest.php
It was a crude hack, but I basically just set everything to override the
current error_reporting values as follows:
class/error.class.php:
$iCurErrLevel = error_reporting(ini_get('error_reporting'));
// error_reporting($iCurErrLevel);
error_reporting(E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED);
contrib/test_ldap.phps:
// error_reporting(E_ALL);
error_reporting(E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED);
functions/global.php:
if (!($sm_debug_mode & SM_DEBUG_MODE_ADVANCED))
// error_reporting($error_reporting);
error_reporting(E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED);
include/init.php:
$error_level |= E_STRICT;
// error_reporting($error_level);
error_reporting(E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED);
src/configtest.php:
// error_reporting(E_ALL);
error_reporting(E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED);
That completely fixed the notices being displayed in the squirrelmail
message window and prevented the notices going into the log file.
I haven't had time to back everything out one by one to find out which one
was the problem, but it is one of the five above. Again, regardless of the
php.ini value, squirrelmail 1.5.2 svn (14265:14327M) was displaying the
notices. This was with php 5.4.3-4 on Arch Linux. All good now.
--
David C. Rankin, J.D.,P.E.
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
-----
squirrelmail-users mailing list
Posting guidelines: http://squirrelmail.org/postingguidelines
List address: [email protected]
List archives: http://news.gmane.org/gmane.mail.squirrelmail.user
List info (subscribe/unsubscribe/change options):
https://lists.sourceforge.net/lists/listinfo/squirrelmail-users