From 3ea30ef7ebb7aa6180a47db29575055dd97cff62 Mon Sep 17 00:00:00 2001 From: alecpl <alec@alec.pl> Date: Wed, 04 Nov 2009 02:22:17 -0500 Subject: [PATCH] - fix HTTPS checking (#1486273) --- program/include/iniset.php | 59 +++++++++++++++++++++++++++++++++-------------------------- 1 files changed, 33 insertions(+), 26 deletions(-) diff --git a/program/include/iniset.php b/program/include/iniset.php index fda13e9..2600a39 100755 --- a/program/include/iniset.php +++ b/program/include/iniset.php @@ -5,7 +5,7 @@ | program/include/iniset.php | | | | This file is part of the RoundCube Webmail client | - | Copyright (C) 2008, RoundCube Dev, - Switzerland | + | Copyright (C) 2008-2009, RoundCube Dev, - Switzerland | | Licensed under the GNU GPL | | | | PURPOSE: | @@ -16,13 +16,13 @@ | Thomas Bruederli <roundcube@gmail.com> | +-----------------------------------------------------------------------+ - $Id: cache.inc 88 2005-12-03 16:54:12Z roundcube $ + $Id$ */ // application constants -define('RCMAIL_VERSION', '0.2-trunk'); +define('RCMAIL_VERSION', '0.3-trunk'); define('RCMAIL_CHARSET', 'UTF-8'); define('JS_OBJECT_NAME', 'rcmail'); @@ -34,7 +34,7 @@ // make sure path_separator is defined if (!defined('PATH_SEPARATOR')) { - define('PATH_SEPARATOR', (eregi('win', PHP_OS) ? ';' : ':')); + define('PATH_SEPARATOR', (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN') ? ';' : ':'); } // RC include folders MUST be included FIRST to avoid other @@ -50,18 +50,19 @@ die('Fatal error: ini_set/set_include_path does not work.'); } +ini_set('error_reporting', E_ALL&~E_NOTICE); +if (!empty($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) != 'off') { + ini_set('session.cookie_secure', 1); +} else { + ini_set('session.cookie_secure', 0); +} ini_set('session.name', 'roundcube_sessid'); ini_set('session.use_cookies', 1); -ini_set('session.only_use_cookies', 1); -ini_set('session.cookie_secure', ($_SERVER['HTTPS'] && ($_SERVER['HTTPS'] != 'off'))); -ini_set('error_reporting', E_ALL&~E_NOTICE); -set_magic_quotes_runtime(0); +ini_set('session.use_only_cookies', 1); // increase maximum execution time for php scripts // (does not work in safe mode) -if (!ini_get('safe_mode')) { - set_time_limit(120); -} +@set_time_limit(120); // set internal encoding for mbstring extension if(extension_loaded('mbstring')) @@ -72,26 +73,33 @@ * Use PHP5 autoload for dynamic class loading * * @todo Make Zend, PEAR etc play with this + * @todo Make our classes conform to a more straight forward CS. */ -function __autoload($classname) +function rcube_autoload($classname) { $filename = preg_replace( - array('/MDB2_(.+)/', - '/Mail_(.+)/', - '/^html_.+/', - '/^utf8$/', - '/html2text/' - ), - array('MDB2/\\1', - 'Mail/\\1', - 'html', - 'utf8.class', - 'lib/html2text' // see #1485505 - ), + array( + '/MDB2_(.+)/', + '/Mail_(.+)/', + '/Net_(.+)/', + '/^html_.+/', + '/^utf8$/', + '/html2text/' + ), + array( + 'MDB2/\\1', + 'Mail/\\1', + 'Net/\\1', + 'html', + 'utf8.class', + 'lib/html2text' // see #1485505 + ), $classname ); - include_once $filename. '.php'; + include $filename. '.php'; } + +spl_autoload_register('rcube_autoload'); /** * Local callback function for PEAR errors @@ -112,4 +120,3 @@ // set PEAR error handling (will also load the PEAR main class) PEAR::setErrorHandling(PEAR_ERROR_CALLBACK, 'rcube_pear_error'); - -- Gitblit v1.9.1