Bartosz Dziewoński has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/115329

Change subject: SpecialUserlogin: Normalize username before passing to 
User::newFromName
......................................................................

SpecialUserlogin: Normalize username before passing to User::newFromName

That method does some rather strict checking which is not desired here.

Bug: 29621
Change-Id: I983e3f528491817f9f31f71a92d8d2946ce5941d
---
M includes/specials/SpecialUserlogin.php
1 file changed, 8 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core 
refs/changes/29/115329/1

diff --git a/includes/specials/SpecialUserlogin.php 
b/includes/specials/SpecialUserlogin.php
index eca1839..7e4bfa8 100644
--- a/includes/specials/SpecialUserlogin.php
+++ b/includes/specials/SpecialUserlogin.php
@@ -400,9 +400,15 @@
                        return Status::newFatal( 'sorbs_create_account_reason' 
);
                }
 
+               // Normalize the name so that silly things don't cause "invalid 
username" errors.
+               // User::newFromName does some rather strict checking, 
rejecting e.g. leading/trailing/multiple spaces.
+               $title = Title::makeTitleSafe( NS_USER, $this->mUsername );
+               if ( !is_object( $title ) ) {
+                       return Status::newFatal( 'noname' );
+               }
+
                # Now create a dummy user ($u) and check if it is valid
-               $name = trim( $this->mUsername );
-               $u = User::newFromName( $name, 'creatable' );
+               $u = User::newFromName( $title->getText(), 'creatable' );
                if ( !is_object( $u ) ) {
                        return Status::newFatal( 'noname' );
                } elseif ( 0 != $u->idForName() ) {

-- 
To view, visit https://gerrit.wikimedia.org/r/115329
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I983e3f528491817f9f31f71a92d8d2946ce5941d
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Bartosz Dziewoński <matma....@gmail.com>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to