From ab0b51a1fef87bcc643c3aaf2e635c811b28ccd8 Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Tue, 15 Feb 2011 06:10:59 -0500
Subject: [PATCH] - Use only one from IMAP authentication methods to prevent login delays (1487784)

---
 program/include/iniset.php |   85 +++++++++++++++++++++++-------------------
 1 files changed, 46 insertions(+), 39 deletions(-)

diff --git a/program/include/iniset.php b/program/include/iniset.php
index 5f7c59d..192de79 100755
--- a/program/include/iniset.php
+++ b/program/include/iniset.php
@@ -4,8 +4,8 @@
  +-----------------------------------------------------------------------+
  | program/include/iniset.php                                            |
  |                                                                       |
- | This file is part of the RoundCube Webmail client                     |
- | Copyright (C) 2008-2009, RoundCube Dev, - Switzerland                 |
+ | This file is part of the Roundcube Webmail client                     |
+ | Copyright (C) 2008-2011, The Roundcube Dev Team                       |
  | Licensed under the GNU GPL                                            |
  |                                                                       |
  | PURPOSE:                                                              |
@@ -36,20 +36,22 @@
 }
 
 // application constants
-define('RCMAIL_VERSION', '0.3-trunk');
+define('RCMAIL_VERSION', '0.6-svn');
 define('RCMAIL_CHARSET', 'UTF-8');
 define('JS_OBJECT_NAME', 'rcmail');
 define('RCMAIL_START', microtime(true));
 
 if (!defined('INSTALL_PATH')) {
-  define('INSTALL_PATH', dirname($_SERVER['SCRIPT_FILENAME']).'/');
+    define('INSTALL_PATH', dirname($_SERVER['SCRIPT_FILENAME']).'/');
 }
 
-define('RCMAIL_CONFIG_DIR', INSTALL_PATH . 'config');
+if (!defined('RCMAIL_CONFIG_DIR')) {
+    define('RCMAIL_CONFIG_DIR', INSTALL_PATH . 'config');
+}
 
 // make sure path_separator is defined
 if (!defined('PATH_SEPARATOR')) {
-  define('PATH_SEPARATOR', (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN') ? ';' : ':');
+    define('PATH_SEPARATOR', (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN') ? ';' : ':');
 }
 
 // RC include folders MUST be included FIRST to avoid other
@@ -62,7 +64,7 @@
 $include_path.= ini_get('include_path');
 
 if (set_include_path($include_path) === false) {
-  die('Fatal error: ini_set/set_include_path does not work.');
+    die("Fatal error: ini_set/set_include_path does not work.");
 }
 
 ini_set('error_reporting', E_ALL&~E_NOTICE);
@@ -73,8 +75,8 @@
 
 // set internal encoding for mbstring extension
 if(extension_loaded('mbstring'))
-  mb_internal_encoding(RCMAIL_CHARSET);
-	      
+    mb_internal_encoding(RCMAIL_CHARSET);
+
 
 /**
  * Use PHP5 autoload for dynamic class loading
@@ -84,26 +86,33 @@
  */
 function rcube_autoload($classname)
 {
-  $filename = preg_replace(
-      array(
-        '/MDB2_(.+)/',
-        '/Mail_(.+)/',
-        '/Net_(.+)/',
-        '/^html_.+/',
-        '/^utf8$/',
-        '/html2text/'
-      ),
-      array(
-        'MDB2/\\1',
-        'Mail/\\1',
-        'Net/\\1',
-        'html',
-        'utf8.class',
-        'lib/html2text'  // see #1485505
-      ),
-      $classname
-  );
-  include $filename. '.php';
+    $filename = preg_replace(
+        array(
+            '/MDB2_(.+)/',
+            '/Mail_(.+)/',
+            '/Net_(.+)/',
+            '/Auth_(.+)/',
+            '/^html_.+/',
+            '/^utf8$/',
+        ),
+        array(
+            'MDB2/\\1',
+            'Mail/\\1',
+            'Net/\\1',
+            'Auth/\\1',
+            'html',
+            'utf8.class',
+        ),
+        $classname
+    );
+
+    if ($fp = @fopen("$filename.php", 'r', true)) {
+        fclose($fp);
+        include_once("$filename.php");
+        return true;
+    }
+
+    return false;
 }
 
 spl_autoload_register('rcube_autoload');
@@ -113,17 +122,15 @@
  */
 function rcube_pear_error($err)
 {
-  error_log(sprintf("%s (%s): %s",
-    $err->getMessage(),
-    $err->getCode(),
-    $err->getUserinfo()), 0);
+    error_log(sprintf("%s (%s): %s",
+        $err->getMessage(),
+        $err->getCode(),
+        $err->getUserinfo()), 0);
 }
-
-// include global functions
-require_once 'include/bugs.inc';
-require_once 'include/main.inc';
-require_once 'include/rcube_shared.inc';
-
 
 // set PEAR error handling (will also load the PEAR main class)
 PEAR::setErrorHandling(PEAR_ERROR_CALLBACK, 'rcube_pear_error');
+
+// include global functions
+require_once 'include/main.inc';
+require_once 'include/rcube_shared.inc';

--
Gitblit v1.9.1