X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=src%2Fconfigtest.php;h=a2045acb2f9a762bc1ef017f2a3ded51ef392bca;hb=ace75dcb5845d993449daa54968499df519d0d77;hp=264590e8aacce80e74da221257f671855f7d2734;hpb=d4e46166df04792c6b939356ea5dfda8e47bba7b;p=squirrelmail.git diff --git a/src/configtest.php b/src/configtest.php index 264590e8..a2045acb 100644 --- a/src/configtest.php +++ b/src/configtest.php @@ -3,7 +3,7 @@ /** * SquirrelMail configtest script * - * @copyright © 2003-2009 The SquirrelMail Project Team + * @copyright 2003-2012 The SquirrelMail Project Team * @license http://opensource.org/licenses/gpl-license.php GNU Public License * @version $Id$ * @package squirrelmail @@ -21,7 +21,10 @@ define('PAGE_NAME', 'configtest'); // This script could really use some restructuring as it has grown quite rapidly // but is not very 'clean'. Feel free to get some structure into this thing. -/** force verbose error reporting and turn on display of errors */ +// force verbose error reporting and turn on display of errors, but not before +// getting their original values +$php_display_errors_original_value = ini_get('display_errors'); +$php_error_reporting_original_value = ini_get('error_reporting'); error_reporting(E_ALL); ini_set('display_errors',1); @@ -203,12 +206,39 @@ if(!check_php_version(4,1,0)) { echo $IND . 'PHP version ' . PHP_VERSION . ' OK. (You have: ' . phpversion() . ". Minimum: 4.1.0)
\n"; -echo $IND . 'display_errors: ' . ini_get('display_errors') . "
\n"; - -echo $IND . 'error_reporting: ' . ini_get('error_reporting') . "
\n"; +// try to determine information about the user and group the web server is running as +// +$webOwnerID = 'N/A'; +$webOwnerInfo = array('name' => 'N/A'); +if (function_exists('posix_getuid')) + $webOwnerID = posix_getuid(); +if ($webOwnerID === FALSE) + $webOwnerID = 'N/A'; +if ($webOwnerID !== 'N/A' && function_exists('posix_getpwuid')) + $webOwnerInfo = posix_getpwuid($webOwnerID); +if (!$webOwnerInfo) + $webOwnerInfo = array('name' => 'N/A'); +$webGroupID = 'N/A'; +$webGroupInfo = array('name' => 'N/A'); +if (function_exists('posix_getgid')) + $webGroupID = posix_getgid(); +if ($webGroupID === FALSE) + $webGroupID = 'N/A'; +if ($webGroupID !== 'N/A' && function_exists('posix_getgrgid')) + $webGroupInfo = posix_getgrgid($webGroupID); +if (!$webGroupInfo) + $webGroupInfo = array('name' => 'N/A'); + +echo $IND . 'Running as ' . $webOwnerInfo['name'] . '(' . $webOwnerID + . ') / ' . $webGroupInfo['name'] . '(' . $webGroupID . ")
\n"; + +echo $IND . 'display_errors: ' . $php_display_errors_original_value . " (overridden with 1 for this page only)
\n"; + +echo $IND . 'error_reporting: ' . $php_error_reporting_original_value . " (overridden with 2047 for this page only)
\n"; $safe_mode = ini_get('safe_mode'); if ($safe_mode) { + //FIXME: should show that safe_mode is off when it is (this only shows the safe_mode setting when it's on) (also might be generally helpful to show things like open_basedir, too or even add phpinfo() output or a link to another script that has phpinfo() echo $IND . 'safe_mode: ' . $safe_mode; if (empty($prefs_dsn) || empty($addrbook_dsn)) echo ' (double check data and attachment directory ownership, etc!)'; @@ -619,8 +649,17 @@ if($useSendmail) { if ($use_smtp_tls===2) { // if something breaks, script should close smtp connection on exit. + + // format EHLO argument correctly if needed + // + if (preg_match('/^\d+\.\d+\.\d+\.\d+$/', $client_ip)) + $helohost = '[' . $client_ip . ']'; + else // some day might add IPv6 here + $helohost = $client_ip; + + // say helo - fwrite($stream,"EHLO $client_ip\r\n"); + fwrite($stream,"EHLO $helohost\r\n"); $ehlo=array(); $ehlo_error = false;