From 532844b67740c96396d668745f4c59f7ebec81b2 Mon Sep 17 00:00:00 2001
From: thomascube <thomas@roundcube.net>
Date: Tue, 11 Sep 2007 05:53:41 -0400
Subject: [PATCH] Resolve username from virtuser file before looking up in database

---
 program/include/main.inc |   22 +++++++++++-----------
 1 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/program/include/main.inc b/program/include/main.inc
index 854458a..ee6d19b 100644
--- a/program/include/main.inc
+++ b/program/include/main.inc
@@ -580,17 +580,22 @@
       $user .= '@'.$CONFIG['username_domain'];
     }
 
+  // try to resolve email address from virtuser table    
+  if (!empty($CONFIG['virtuser_file']) && strpos($user, '@'))
+    $user = rcmail_email2user($user);
+
   // lowercase username if it's an e-mail address (#1484473)
   if (strpos($user, '@'))
     $user = strtolower($user);
 
   // query if user already registered
-  $sql_result = $DB->query("SELECT user_id, username, language, preferences
-                            FROM ".get_table_name('users')."
-                            WHERE  mail_host=? AND (username=? OR alias=?)",
-                            $host,
-                            $user,
-                            $user);
+  $sql_result = $DB->query(
+    "SELECT user_id, username, language, preferences
+     FROM ".get_table_name('users')."
+     WHERE  mail_host=? AND (username=? OR alias=?)",
+    $host,
+    $user,
+    $user);
 
   // user already registered -> overwrite username
   if ($sql_arr = $DB->fetch_assoc($sql_result))
@@ -598,11 +603,6 @@
     $user_id = $sql_arr['user_id'];
     $user = $sql_arr['username'];
     }
-
-  // try to resolve email address from virtuser table    
-  if (!empty($CONFIG['virtuser_file']) && strpos($user, '@'))
-    $user = rcmail_email2user($user);
-
 
   // exit if IMAP login failed
   if (!($imap_login  = $IMAP->connect($host, $user, $pass, $imap_port, $imap_ssl)))

--
Gitblit v1.9.1