From: <jer...@us...> - 2007-10-08 21:25:07
|
Revision: 12730 http://squirrelmail.svn.sourceforge.net/squirrelmail/?rev=12730&view=rev Author: jervfors Date: 2007-10-08 14:25:02 -0700 (Mon, 08 Oct 2007) Log Message: ----------- Adding a "short_open_tag" configuration test. Minor changes in strings and white space to get the branches more in sync. Modified Paths: -------------- branches/SM-1_4-STABLE/squirrelmail/ChangeLog branches/SM-1_4-STABLE/squirrelmail/src/configtest.php trunk/squirrelmail/ChangeLog trunk/squirrelmail/src/configtest.php Modified: branches/SM-1_4-STABLE/squirrelmail/ChangeLog =================================================================== --- branches/SM-1_4-STABLE/squirrelmail/ChangeLog 2007-10-07 19:13:31 UTC (rev 12729) +++ branches/SM-1_4-STABLE/squirrelmail/ChangeLog 2007-10-08 21:25:02 UTC (rev 12730) @@ -8,6 +8,7 @@ book during message composition. - Fixed issue with adding attachments in PHP 4.x environments (#1805471). - Backport size setting on "newmail" popup window. + - Added a "short_open_tag" configuration test. Version 1.4.11 - 29 September 2007 ---------------------------------- Modified: branches/SM-1_4-STABLE/squirrelmail/src/configtest.php =================================================================== --- branches/SM-1_4-STABLE/squirrelmail/src/configtest.php 2007-10-07 19:13:31 UTC (rev 12729) +++ branches/SM-1_4-STABLE/squirrelmail/src/configtest.php 2007-10-08 21:25:02 UTC (rev 12730) @@ -47,8 +47,8 @@ ?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> - <meta name="robots" content="noindex,nofollow"> - <title>SquirrelMail configtest</title> + <meta name="robots" content="noindex,nofollow"> + <title>SquirrelMail configtest</title> </head> <body> <h1>SquirrelMail configtest</h1> @@ -59,25 +59,24 @@ <?php - $included = array_map('basename', get_included_files() ); if(!in_array('config.php', $included)) { if(!file_exists(SM_PATH . 'config/config.php')) { do_err('Config file '.SM_PATH . 'config/config.php does not exist!<br />'. - 'You need to run <tt>conf.pl</tt> first.'); + 'You need to run <tt>conf.pl</tt> first.'); } do_err('Could not read '.SM_PATH.'config/config.php! Check file permissions.'); } if(!in_array('strings.php', $included)) { do_err('Could not include '.SM_PATH.'functions/strings.php!<br />'. - 'Check permissions on that file.'); + 'Check permissions on that file.'); } /* checking PHP specs */ echo "<p><table>\n<tr><td>SquirrelMail version:</td><td><b>" . $version . "</b></td></tr>\n" . '<tr><td>Config file version:</td><td><b>' . $config_version . "</b></td></tr>\n" . - '<tr><td>Config file last modified:</td><td><b>' . + '<tr><td>Config file last modified:</td><td><b>' . date ('d F Y H:i:s', filemtime(SM_PATH . 'config/config.php')) . "</b></td></tr>\n</table>\n</p>\n\n"; @@ -177,7 +176,7 @@ * php.ini, webserver config and .htaccess files. Scripts can turn off globals only * in php 4.2.3 or older. */ -if ((bool) ini_get('register_globals') && +if ((bool) ini_get('register_globals') && ini_get('register_globals') != 'off') { $rg_error='You have enabled PHP register_globals.' .' Running PHP installation with register_globals=on can cause problems.' @@ -200,16 +199,28 @@ do_err($magic_quotes_warning,false); } +if (ini_get('short_open_tag') == 0) { + $short_open_tag_warning = 'You have configured PHP not to allow short tags ' + . '(<tt>short_open_tag=off</tt>). This shouldn\'t be a problem with ' + . 'SquirrelMail or any plugin coded coded according to the ' + . 'SquirrelMail Coding Guidelines, but if you experience problems with ' + . 'PHP code being displayed in some of the pages and changing setting ' + . 'to "on" solves the problem, please file a bug report against the ' + . 'failing plugin. The correct contact information is most likely ' + . 'to be found in the plugin documentation.'; + do_err($short_open_tag_warning, false); +} + /* checking paths */ echo "Checking paths...<br />\n"; if(!file_exists($data_dir)) { do_err("Data dir ($data_dir) does not exist!"); -} +} if(!is_dir($data_dir)) { do_err("Data dir ($data_dir) is not a directory!"); -} +} // datadir should be executable - but no clean way to test on that if(!is_writable($data_dir)) { do_err("I cannot write to data dir ($data_dir)!"); @@ -224,10 +235,10 @@ } else { if(!file_exists($attachment_dir)) { do_err("Attachment dir ($attachment_dir) does not exist!"); - } + } if (!is_dir($attachment_dir)) { do_err("Attachment dir ($attachment_dir) is not a directory!"); - } + } if (!is_writable($attachment_dir)) { do_err("I cannot write to attachment dir ($attachment_dir)!"); } @@ -239,9 +250,9 @@ if (isset($plugins[0])) { foreach($plugins as $plugin) { if(!file_exists(SM_PATH .'plugins/'.$plugin)) { - do_err('You have enabled the <i>'.$plugin.'</i> plugin but I cannot find it.', FALSE); + do_err('You have enabled the <i>'.$plugin.'</i> plugin, but I cannot find it.', FALSE); } elseif (!is_readable(SM_PATH .'plugins/'.$plugin.'/setup.php')) { - do_err('You have enabled the <i>'.$plugin.'</i> plugin but I cannot read its setup.php file.', FALSE); + do_err('You have enabled the <i>'.$plugin.'</i> plugin, but I cannot read its setup.php file.', FALSE); } } // load plugin functions @@ -285,14 +296,14 @@ if ( $squirrelmail_default_language != 'en_US' ) { $loc_path = SM_PATH .'locale/'.$squirrelmail_default_language.'/LC_MESSAGES/squirrelmail.mo'; if( ! file_exists( $loc_path ) ) { - do_err('You have set <i>' . $squirrelmail_default_language . - '</i> as your default language, but I cannot find this translation (should be '. - 'in <tt>' . $loc_path . '</tt>). Please note that you have to download translations '. - 'separately from the main SquirrelMail package.', FALSE); + do_err('You have set <i>' . $squirrelmail_default_language . + '</i> as your default language, but I cannot find this translation (should be '. + 'in <tt>' . $loc_path . '</tt>). Please note that you have to download translations '. + 'separately from the main SquirrelMail package.', FALSE); } elseif ( ! is_readable( $loc_path ) ) { - do_err('You have set <i>' . $squirrelmail_default_language . - '</i> as your default language, but I cannot read this translation (file '. - 'in <tt>' . $loc_path . '</tt> unreadable).', FALSE); + do_err('You have set <i>' . $squirrelmail_default_language . + '</i> as your default language, but I cannot read this translation (file '. + 'in <tt>' . $loc_path . '</tt> unreadable).', FALSE); } else { echo $IND . "Default language OK.<br />\n"; } @@ -300,7 +311,6 @@ echo $IND . "Default language OK.<br />\n"; } - echo $IND . "Base URL detected as: <tt>" . htmlspecialchars($test_location) . "</tt> (location base " . (empty($config_location_base) ? 'autodetected' : 'set to <tt>' . htmlspecialchars($config_location_base)."</tt>") . ")<br />\n"; @@ -322,7 +332,7 @@ // is_executable also checks for existance, but we want to be as precise as possible with the errors if(!file_exists($sendmail_path)) { do_err("Location of sendmail program incorrect ($sendmail_path)!"); - } + } if(!is_executable($sendmail_path)) { do_err("I cannot execute the sendmail program ($sendmail_path)!"); } @@ -330,36 +340,36 @@ echo $IND . "sendmail OK<br />\n"; } else { $stream = fsockopen( ($use_smtp_tls?'tls://':'').$smtpServerAddress, $smtpPort, - $errorNumber, $errorString); + $errorNumber, $errorString); if(!$stream) { do_err("Error connecting to SMTP server \"$smtpServerAddress:$smtpPort\".". - "Server error: ($errorNumber) ".htmlspecialchars($errorString)); + "Server error: ($errorNumber) ".htmlspecialchars($errorString)); } // check for SMTP code; should be 2xx to allow us access $smtpline = fgets($stream, 1024); if(((int) $smtpline{0}) > 3) { do_err("Error connecting to SMTP server. Server error: ". - htmlspecialchars($smtpline)); + htmlspecialchars($smtpline)); } fputs($stream, 'QUIT'); fclose($stream); echo $IND . 'SMTP server OK (<tt><small>'. - trim(htmlspecialchars($smtpline))."</small></tt>)<br />\n"; + trim(htmlspecialchars($smtpline))."</small></tt>)<br />\n"; /* POP before SMTP */ if($pop_before_smtp) { $stream = fsockopen($smtpServerAddress, 110, $err_no, $err_str); if (!$stream) { do_err("Error connecting to POP Server ($smtpServerAddress:110) " - . $err_no . ' : ' . htmlspecialchars($err_str)); + . $err_no . ' : ' . htmlspecialchars($err_str)); } $tmp = fgets($stream, 1024); if (substr($tmp, 0, 3) != '+OK') { do_err("Error connecting to POP Server ($smtpServerAddress:110)" - . ' '.htmlspecialchars($tmp)); + . ' '.htmlspecialchars($tmp)); } fputs($stream, 'QUIT'); fclose($stream); @@ -374,18 +384,18 @@ /** Can we open a connection? */ $stream = fsockopen( ($use_imap_tls?'tls://':'').$imapServerAddress, $imapPort, - $errorNumber, $errorString); + $errorNumber, $errorString); if(!$stream) { do_err("Error connecting to IMAP server \"$imapServerAddress:$imapPort\".". - "Server error: ($errorNumber) ". - htmlspecialchars($errorString)); + "Server error: ($errorNumber) ". + htmlspecialchars($errorString)); } /** Is the first response 'OK'? */ $imapline = fgets($stream, 1024); if(substr($imapline, 0,4) != '* OK') { - do_err('Error connecting to IMAP server. Server error: '. - htmlspecialchars($imapline)); + do_err('Error connecting to IMAP server. Server error: '. + htmlspecialchars($imapline)); } echo $IND . 'IMAP server ready (<tt><small>'. @@ -399,8 +409,8 @@ if($imap_auth_mech == 'login' && stristr($capline, 'LOGINDISABLED') !== FALSE) { do_err('Your server doesn\'t allow plaintext logins. '. - 'Try enabling another authentication mechanism like CRAM-MD5, DIGEST-MD5 or TLS-encryption '. - 'in the SquirrelMail configuration.', FALSE); + 'Try enabling another authentication mechanism like CRAM-MD5, DIGEST-MD5 or TLS-encryption '. + 'in the SquirrelMail configuration.', FALSE); } if (stristr($capline, 'XMAGICTRASH') !== false) { @@ -431,15 +441,20 @@ echo "Checking internationalization (i18n) settings...<br />\n"; echo "$IND gettext - "; if (function_exists('gettext')) { - echo "Gettext functions are available. You must have appropriate system locales compiled.<br />\n"; + echo 'Gettext functions are available.' + .' On some systems you must have appropriate system locales compiled.' + ."<br />\n"; } else { - echo "Gettext functions are unavailable. SquirrelMail will use slower internal gettext functions.<br />\n"; + echo 'Gettext functions are unavailable.' + .' SquirrelMail will use slower internal gettext functions.' + ."<br />\n"; } echo "$IND mbstring - "; if (function_exists('mb_detect_encoding')) { echo "Mbstring functions are available.<br />\n"; } else { - echo "Mbstring functions are unavailable. Japanese translation won't work.<br />\n"; + echo 'Mbstring functions are unavailable.' + ." Japanese translation won't work.<br />\n"; } echo "$IND recode - "; if (function_exists('recode')) { @@ -469,7 +484,6 @@ echo "Webmail users can't change their time zone settings.<br />\n"; } - // Pear DB tests echo "Checking database functions...<br />\n"; if(!empty($addrbook_dsn) || !empty($prefs_dsn) || !empty($addrbook_global_dsn)) { @@ -477,20 +491,20 @@ if (class_exists('DB')) { echo "$IND PHP Pear DB support is present.<br />\n"; $db_functions=array( - 'dbase' => 'dbase_open', - 'fbsql' => 'fbsql_connect', - 'interbase' => 'ibase_connect', - 'informix' => 'ifx_connect', - 'msql' => 'msql_connect', - 'mssql' => 'mssql_connect', - 'mysql' => 'mysql_connect', - 'mysqli' => 'mysqli_connect', - 'oci8' => 'ocilogon', - 'odbc' => 'odbc_connect', - 'pgsql' => 'pg_connect', - 'sqlite' => 'sqlite_open', - 'sybase' => 'sybase_connect' - ); + 'dbase' => 'dbase_open', + 'fbsql' => 'fbsql_connect', + 'interbase' => 'ibase_connect', + 'informix' => 'ifx_connect', + 'msql' => 'msql_connect', + 'mssql' => 'mssql_connect', + 'mysql' => 'mysql_connect', + 'mysqli' => 'mysqli_connect', + 'oci8' => 'ocilogon', + 'odbc' => 'odbc_connect', + 'pgsql' => 'pg_connect', + 'sqlite' => 'sqlite_open', + 'sybase' => 'sybase_connect' + ); $dsns = array(); if($prefs_dsn) { @@ -514,7 +528,7 @@ $dbh = DB::connect($dsn, true); if (DB::isError($dbh)) { do_err('Database error: '. htmlspecialchars(DB::errorMessage($dbh)) . - ' in ' .$type .' DSN.'); + ' in ' .$type .' DSN.'); } $dbh->disconnect(); echo "$IND$type database connect successful.<br />\n"; @@ -524,9 +538,10 @@ } } } else { - do_err('Required PHP PEAR DB support is not available. Is PEAR installed and is the - include path set correctly to find <tt>DB.php</tt>? The include path is now: - "<tt>' . ini_get('include_path') . '</tt>".'); + $db_error='Required PHP PEAR DB support is not available.' + .' Is PEAR installed and is the include path set correctly to find <tt>DB.php</tt>?' + .' The include path is now: "<tt>' . ini_get('include_path') . '</tt>".'; + do_err($db_error); } } else { echo $IND."not using database functionality.<br />\n"; Modified: trunk/squirrelmail/ChangeLog =================================================================== --- trunk/squirrelmail/ChangeLog 2007-10-07 19:13:31 UTC (rev 12729) +++ trunk/squirrelmail/ChangeLog 2007-10-08 21:25:02 UTC (rev 12730) @@ -222,6 +222,7 @@ viewing details of attached messages. - Enabled user selection of address format when adding from address book during message composition. + - Added a "short_open_tag" configuration test. Version 1.5.1 (branched on 2006-02-12) -------------------------------------- Modified: trunk/squirrelmail/src/configtest.php =================================================================== --- trunk/squirrelmail/src/configtest.php 2007-10-07 19:13:31 UTC (rev 12729) +++ trunk/squirrelmail/src/configtest.php 2007-10-08 21:25:02 UTC (rev 12730) @@ -205,7 +205,7 @@ echo $IND . 'safe_mode: ' . $safe_mode; if (empty($prefs_dsn) || empty($addrbook_dsn)) echo ' (<font color="red">double check data and attachment directory ownership, etc!</font>)'; - if (!empty($addrbook_dsn) || !empty($prefs_dsn) || !empty($addrbook_global_dsn)) + if (!empty($addrbook_dsn) || !empty($prefs_dsn) || !empty($addrbook_global_dsn)) echo ' (<font color="red">does PHP have access to database interface?</font>)'; echo "<br />\n"; $safe_mode_exec_dir = ini_get('safe_mode_exec_dir'); @@ -214,7 +214,7 @@ /* register_globals check: test for boolean false and any string that is not equal to 'off' */ -if ((bool) ini_get('register_globals') && +if ((bool) ini_get('register_globals') && strtolower(ini_get('register_globals'))!='off') { do_err('You have register_globals turned on. This is not an error, but it CAN be a security hazard. Consider turning register_globals off.', false); } @@ -223,7 +223,7 @@ /* variables_order check */ // FIXME(?): Hmm, how do we distinguish between when an ini setting is -// not available (ini_set() returns empty string) and when +// not available (ini_set() returns empty string) and when // the administrator set the value to an empty string? The // latter is sure to be highly rare, so for now, just assume // that empty value means the setting isn't even available @@ -247,7 +247,7 @@ if (!check_php_version(5)) { // FIXME(?): Hmm, how do we distinguish between when an ini setting is - // not available (ini_set() returns empty string) and when + // not available (ini_set() returns empty string) and when // the administrator set the value to an empty string? The // latter is sure to be highly rare, so for now, just assume // that empty value means the setting isn't even available @@ -307,6 +307,17 @@ do_err($magic_quotes_warning,false); } +if (ini_get('short_open_tag') == 0) { + $short_open_tag_warning = 'You have configured PHP not to allow short tags ' + . '(<tt>short_open_tag=off</tt>). This shouldn\'t be a problem with ' + . 'SquirrelMail or any plugin coded coded according to the ' + . 'SquirrelMail Coding Guidelines, but if you experience problems with ' + . 'PHP code being displayed in some of the pages and changing setting ' + . 'to "on" solves the problem, please file a bug report against the ' + . 'failing plugin. The correct contact information is most likely ' + . 'to be found in the plugin documentation.'; + do_err($short_open_tag_warning, false); +} /* checking paths */ @@ -427,7 +438,7 @@ $plugin_load_error = 'Some output is produced when plugins are loaded. Usually this means there is an error in one of the plugin setup or configuration files. The output was: '.htmlspecialchars($output); do_err($plugin_load_error); } - /** + /** * Print plugin versions */ echo $IND . "Plugin versions...<br />\n"; @@ -436,7 +447,7 @@ $english_name = get_plugin_requirement($name, 'english_name'); echo $IND . $IND . (empty($english_name) ? $name . ' ' : $english_name . ' (' . $name . ') ') . (empty($plugin_version) ? '??' : $plugin_version) . "<br />\n"; - // check if this plugin has any other plugin + // check if this plugin has any other plugin // dependencies and if they are satisfied // $failed_dependencies = check_plugin_dependencies($name); @@ -453,7 +464,7 @@ } /** - * This hook was added in 1.5.2 and 1.4.10. Each plugins should print an error + * This hook was added in 1.5.2 and 1.4.10. Each plugins should print an error * message and return TRUE if there are any errors in its setup/configuration. */ $plugin_err = boolean_hook_function('configtest', $null, 1); @@ -574,7 +585,7 @@ break; } } else { - // + // $ehlo_error = true; $ehlo[]=$line; break; @@ -875,7 +886,7 @@ } else { $db_error='Required PHP PEAR DB support is not available.' .' Is PEAR installed and is the include path set correctly to find <tt>DB.php</tt>?' - .' The include path is now:<tt>' . ini_get('include_path') . '</tt>.'; + .' The include path is now: "<tt>' . ini_get('include_path') . '</tt>".'; do_err($db_error); } } else { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |