? .DS_Store
? sites/all/modules/devel
? sites/default/files
? sites/default/settings.php
Index: modules/user/user.admin.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/user/user.admin.inc,v
retrieving revision 1.118
diff -u -p -r1.118 user.admin.inc
--- modules/user/user.admin.inc	17 Sep 2010 14:53:22 -0000	1.118
+++ modules/user/user.admin.inc	24 Sep 2010 00:46:00 -0000
@@ -646,6 +646,15 @@ function user_admin_settings() {
 }
 
 /**
+ * Form validation handler for the user settings form.
+ */
+function user_admin_settings_validate($form, &$form_state) {
+  if ((bool) db_select('users')->fields('users', array('uid'))->condition('name', db_like($form_state['values']['anonymous']), 'LIKE')->range(0, 1)->execute()->fetchField()) {
+    form_set_error('anonymous', t('There is already a registered user %anonymous. You must choose an unused name.', array('%anonymous' => $form_state['values']['anonymous'])));
+  }
+}
+
+/**
  * Menu callback: administer permissions.
  *
  * @ingroup forms
Index: modules/user/user.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/user/user.module,v
retrieving revision 1.1203
diff -u -p -r1.1203 user.module
--- modules/user/user.module	22 Sep 2010 03:24:09 -0000	1.1203
+++ modules/user/user.module	24 Sep 2010 00:46:00 -0000
@@ -604,6 +604,10 @@ function user_validate_name($name) {
   if (drupal_strlen($name) > USERNAME_MAX_LENGTH) {
     return t('The username %name is too long: it must be %max characters or less.', array('%name' => $name, '%max' => USERNAME_MAX_LENGTH));
   }
+  $anonymous = variable_get('anonymous', t('Anonymous'));
+  if (drupal_strtolower($name) == drupal_strtolower(t('!anonymous', array('!anonymous' => $anonymous)))) {
+    return t('The username %name is reserved: choose a different username.', array('%name' => $name));
+  }
 }
 
 /**
