API: Flag "user" parameters in various modules as type 'user'

The API 'user' type accepts both user names and IP addresses, and
applies normalization but not canonicalization. We should be using this
on basically every user parameter to ensure that e.g. IPv6 usernames get
uppercased.

Bug: T122803
Change-Id: Ic67fb54061ac311e54f325b2a1a4658f43b8fef4
This commit is contained in:
Brad Jorsch 2016-01-04 10:55:26 -08:00 committed by Reedy
parent 3a7d5067c7
commit 381a6ce691
8 changed files with 11 additions and 6 deletions

View file

@ -79,7 +79,7 @@ abstract class ApiBase extends ContextSource {
* - timestamp: A timestamp in any format recognized by MWTimestamp, or the
* string 'now' representing the current timestamp. Will be returned in
* TS_MW format.
* - user: A MediaWiki username. Will be returned normalized but not canonicalized.
* - user: A MediaWiki username or IP. Will be returned normalized but not canonicalized.
* - upload: An uploaded file. Will be returned as a WebRequestUpload object.
* Cannot be used with PARAM_ISMULTI.
*/

View file

@ -141,7 +141,7 @@ class ApiBlock extends ApiBase {
public function getAllowedParams() {
return array(
'user' => array(
ApiBase::PARAM_TYPE => 'string',
ApiBase::PARAM_TYPE => 'user',
ApiBase::PARAM_REQUIRED => true
),
'expiry' => 'never',

View file

@ -273,6 +273,7 @@ class ApiQueryBlocks extends ApiQueryBase {
ApiBase::PARAM_ISMULTI => true
),
'users' => array(
ApiBase::PARAM_TYPE => 'user',
ApiBase::PARAM_ISMULTI => true
),
'ip' => array(

View file

@ -165,7 +165,7 @@ class ApiQueryLogEvents extends ApiQueryBase {
if ( $userid ) {
$this->addWhereFld( 'log_user', $userid );
} else {
$this->addWhereFld( 'log_user_text', IP::sanitizeIP( $user ) );
$this->addWhereFld( 'log_user_text', $user );
}
}
@ -430,7 +430,9 @@ class ApiQueryLogEvents extends ApiQueryBase {
),
ApiBase::PARAM_HELP_MSG => 'api-help-param-direction',
),
'user' => null,
'user' => array(
ApiBase::PARAM_TYPE => 'user',
),
'title' => null,
'namespace' => array(
ApiBase::PARAM_TYPE => 'namespace'

View file

@ -461,6 +461,7 @@ class ApiQueryContributions extends ApiQueryBase {
ApiBase::PARAM_HELP_MSG => 'api-help-param-continue',
),
'user' => array(
ApiBase::PARAM_TYPE => 'user',
ApiBase::PARAM_ISMULTI => true
),
'userprefix' => null,

View file

@ -317,6 +317,7 @@ class ApiQueryUsers extends ApiQueryBase {
),
'attachedwiki' => null,
'users' => array(
ApiBase::PARAM_TYPE => 'user',
ApiBase::PARAM_ISMULTI => true
),
'token' => array(

View file

@ -126,7 +126,7 @@ class ApiRollback extends ApiBase {
ApiBase::PARAM_ISMULTI => true,
),
'user' => array(
ApiBase::PARAM_TYPE => 'string',
ApiBase::PARAM_TYPE => 'user',
ApiBase::PARAM_REQUIRED => true
),
'summary' => '',

View file

@ -112,7 +112,7 @@ class ApiUserrights extends ApiBase {
public function getAllowedParams() {
return array(
'user' => array(
ApiBase::PARAM_TYPE => 'string',
ApiBase::PARAM_TYPE => 'user',
),
'userid' => array(
ApiBase::PARAM_TYPE => 'integer',