Index: vbtodrupal/vbpassword.install
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/vbtodrupal/vbpassword.install,v
retrieving revision 1.2
diff -u -p -r1.2 vbpassword.install
--- vbtodrupal/vbpassword.install	5 Nov 2007 18:31:51 -0000	1.2
+++ vbtodrupal/vbpassword.install	14 Oct 2008 11:29:39 -0000
@@ -13,9 +13,8 @@ function vbpassword_install() {
         drupal_updated tinyint(3) unsigned NOT NULL default '0',
         PRIMARY KEY (uid),
         KEY (salt)
-        );");
+        )");
       break;
-    case 'pgsql':
   }
 }
 
@@ -23,5 +22,17 @@ function vbpassword_install() {
  * Implementation of hook_uninstall().
  */
 function vbpassword_uninstall() {
-      db_query('DROP TABLE IF EXISTS {vbuser_salt}');
+  db_query('DROP TABLE IF EXISTS {vbuser_salt}');
+}
+
+/**
+ * Implementation of hook_update().
+ */
+function vbpassword_update_1() {
+  $ret = array();
+  // Update authmap table (this is in vbtodrupal.module from here onward).
+  $ret[] = update_sql("INSERT INTO {authmap} (authname, uid, module)
+    SELECT u.name, u.uid, 'vbpassword' AS module FROM {users} u
+      INNER JOIN {vbuser_salt} salt ON u.uid = salt.uid");
+  return $ret;
 }
Index: vbtodrupal/vbpassword.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/vbtodrupal/vbpassword.module,v
retrieving revision 1.2.2.1
diff -u -p -r1.2.2.1 vbpassword.module
--- vbtodrupal/vbpassword.module	17 Nov 2007 23:12:48 -0000	1.2.2.1
+++ vbtodrupal/vbpassword.module	14 Oct 2008 11:29:39 -0000
@@ -5,16 +5,18 @@
  * Implementation of hook_auth()
  */
 function vbpassword_auth($name, $pass, $server) {
-  // Get salt
-  $sql =  'SELECT {users}.uid, name, salt, pass ';
-  $sql .= 'FROM {users} INNER JOIN {vbuser_salt} ON {users}.uid={vbuser_salt}.uid ';
-  $sql .= 'WHERE LCASE({users}.name)=LCASE(\'%s\');';
+  // Get salt.
+  $sql = "SELECT {users}.uid, name, salt, pass
+    FROM {users} INNER JOIN {vbuser_salt} ON {users}.uid = {vbuser_salt}.uid
+    WHERE LCASE({users}.name) = LCASE('%s')";
   $user_query = db_fetch_object(db_query($sql, $name));
 
   if ((md5(md5($pass) . $user_query->salt) == $user_query->pass) AND $pass) {
-    $sql =  'UPDATE {vbuser_salt} SET drupal_updated=1 ';
-    $sql .= 'WHERE uid=%d;';
+    $sql = "UPDATE {vbuser_salt} SET drupal_updated = 1
+      WHERE uid = %d";
     db_query($sql, $user_query->uid);
+    // Save the user to gradually move everyone over to native Drupal auth.
+    user_save($user_query, array("pass" => $pass));
     $vblogin = TRUE;
   } else {
     $vblogin = FALSE;
Index: vbtodrupal/vbtodrupal.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/vbtodrupal/vbtodrupal.module,v
retrieving revision 1.4.2.5
diff -u -p -r1.4.2.5 vbtodrupal.module
--- vbtodrupal/vbtodrupal.module	3 Jun 2008 07:30:10 -0000	1.4.2.5
+++ vbtodrupal/vbtodrupal.module	14 Oct 2008 11:29:39 -0000
@@ -354,7 +354,7 @@ function _vbtodrupal_convusers() {
     VBTODRUPAL_ADD_TO_IDS);
 
   // Import user salt for vBulletin password auth service.
-  // This query is the reason this module depends upon vbpassword
+  // This query  (and the next) are the reason this module depends upon vbpassword
   // (because this table has to exist to import to)
   $sql = 'INSERT IGNORE INTO %s (uid, salt, drupal_updated) ';
   $sql .= 'SELECT userid+%d, salt, 0 ';
@@ -362,6 +362,12 @@ function _vbtodrupal_convusers() {
   db_query($sql,
     _vbtodrupal_db_prefix_tables('{vbuser_salt}', $drupal_db_prefix, $drupal_db_name),
     VBTODRUPAL_ADD_TO_IDS);
+  db_query("INSERT INTO %s (authname, uid, module)
+    SELECT u.name, u.uid, 'vbpassword' AS module FROM %s u
+      INNER JOIN %s salt ON u.uid = salt.uid",
+    _vbtodrupal_db_prefix_tables("{authmap}", $drupal_db_prefix, $drupal_db_name),
+    _vbtodrupal_db_prefix_tables("{users}", $drupal_db_prefix, $drupal_db_name),
+    _vbtodrupal_db_prefix_tables("{vbuser_salt}", $drupal_db_prefix, $drupal_db_name));
 
   // Yahoo
   $sql = 'INSERT IGNORE INTO %s (fid, uid, value) ';
