Index: user.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/user.module,v
retrieving revision 1.480
diff -u -Ff -r1.480 user.module
--- user.module	19 Jun 2005 09:06:02 -0000	1.480
+++ user.module	19 Jun 2005 20:36:46 -0000
@@ -339,6 +339,18 @@   if (isset($perm[$account->uid])) {
 }
 
 /**
+ * Checks for usernames blocked by user administration
+ *
+ * @return boolean true for blocked users, false for active
+ */
+function user_blocked($name) {
+  $allow = db_fetch_object(db_query("SELECT * FROM {users} WHERE status = 1 AND name = LOWER('%s')", $name));
+  $deny  = db_fetch_object(db_query("SELECT * FROM {users} WHERE status = 0 AND name = LOWER('%s')", $name));
+
+  return $deny && !$allow;
+}
+
+/**
  * Send an e-mail message.
  */
 function user_mail($mail, $subject, $message, $header) {
@@ -798,8 +810,13 @@   if ($user->uid) {
     drupal_goto('user');
   }
 
-  if (drupal_deny('user', $edit['name'])) {
-    $error = t('The name %s has been denied access.', array('%s' => theme('placeholder', $edit['name'])));
+  if (user_blocked($edit['name'])) {
+    // blocked in user administration
+    $error = t('The username %s has been blocked.', array('%s' => theme('placeholder', $edit['name'])));    
+  }
+  else if (drupal_deny('user', $edit['name'])) {
+    // denied by access controls
+    $error = t('The name %s is a reserved username.', array('%s' => theme('placeholder', $edit['name'])));
   }
   else if ($edit['name'] && $edit['pass']) {
 
