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