X-Git-Url: https://vcs.fsf.org/?p=squirrelmail.git;a=blobdiff_plain;f=src%2Fconfigtest.php;h=030acf2daa641f4f0b2b2d138096aa28ba7cdbdf;hp=3400c8c8fbe06766dfbdab9507695a0a1ea46cc4;hb=870ffc40786e9a810e9a8cd228ec5117e70cdaed;hpb=783e926eb2c99b6a55bdf774b64afa7828e5732b diff --git a/src/configtest.php b/src/configtest.php index 3400c8c8..030acf2d 100644 --- a/src/configtest.php +++ b/src/configtest.php @@ -3,7 +3,7 @@ /** * SquirrelMail configtest script * - * @copyright © 2003-2007 The SquirrelMail Project Team + * @copyright © 2003-2009 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); @@ -87,6 +90,7 @@ define('SM_PATH', '../'); require(SM_PATH . 'include/constants.php'); require(SM_PATH . 'functions/global.php'); require(SM_PATH . 'functions/strings.php'); +require(SM_PATH . 'functions/files.php'); $SQM_INTERNAL_VERSION = explode('.', SM_VERSION, 3); $SQM_INTERNAL_VERSION[2] = intval($SQM_INTERNAL_VERSION[2]); @@ -202,9 +206,9 @@ 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 . 'display_errors: ' . $php_display_errors_original_value . " (overridden with 1 for this page only)
\n"; -echo $IND . 'error_reporting: ' . ini_get('error_reporting') . "
\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) { @@ -319,6 +323,17 @@ if (ini_get('short_open_tag') == 0) { do_err($short_open_tag_warning, false); } + +/* check who the web server is running as if possible */ + +if ($process_info = get_process_owner_info()) { + echo $IND . 'Web server is running as user: ' . $process_info['name'] . ' (' . $process_info['uid'] . ")
\n"; + //echo $IND . 'Web server is running as effective user: ' . $process_info['ename'] . ' (' . $process_info['euid'] . ")
\n"; + echo $IND . 'Web server is running as group: ' . $process_info['group'] . ' (' . $process_info['gid'] . ")
\n"; + //echo $IND . 'Web server is running as effective group: ' . $process_info['egroup'] . ' (' . $process_info['egid'] . ")
\n"; +} + + /* checking paths */ echo "Checking paths...
\n"; @@ -342,7 +357,7 @@ if(!isset($data_dir_error) && !is_dir($data_dir)) { } } // datadir should be executable - but no clean way to test on that -if(!isset($data_dir_error) && !is_writable($data_dir)) { +if(!isset($data_dir_error) && !sq_is_writable($data_dir)) { if (!empty($prefs_dsn)) { $data_dir_error = "Data dir ($data_dir) is not writable!\n"; echo $IND . 'ERROR: ' . $data_dir_error; @@ -370,7 +385,7 @@ if($data_dir == $attachment_dir) { if (!is_dir($attachment_dir)) { do_err("Attachment dir ($attachment_dir) is not a directory!"); } - if (!is_writable($attachment_dir)) { + if (!sq_is_writable($attachment_dir)) { do_err("I cannot write to attachment dir ($attachment_dir)!"); } echo $IND . "Attachment dir OK.
\n"; @@ -607,8 +622,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; @@ -966,7 +990,7 @@ if( empty($ldap_server) ) { if ( empty($param['binddn']) ) { $bind = @ldap_bind($linkid); } else { - $bind = @ldap_bind($param['binddn'], $param['bindpw']); + $bind = @ldap_bind($linkid, $param['binddn'], $param['bindpw']); } if ( $bind ) {