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:
parent
3a7d5067c7
commit
381a6ce691
8 changed files with 11 additions and 6 deletions
|
|
@ -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.
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
|
|
|
|||
|
|
@ -273,6 +273,7 @@ class ApiQueryBlocks extends ApiQueryBase {
|
|||
ApiBase::PARAM_ISMULTI => true
|
||||
),
|
||||
'users' => array(
|
||||
ApiBase::PARAM_TYPE => 'user',
|
||||
ApiBase::PARAM_ISMULTI => true
|
||||
),
|
||||
'ip' => array(
|
||||
|
|
|
|||
|
|
@ -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'
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -317,6 +317,7 @@ class ApiQueryUsers extends ApiQueryBase {
|
|||
),
|
||||
'attachedwiki' => null,
|
||||
'users' => array(
|
||||
ApiBase::PARAM_TYPE => 'user',
|
||||
ApiBase::PARAM_ISMULTI => true
|
||||
),
|
||||
'token' => array(
|
||||
|
|
|
|||
|
|
@ -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' => '',
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
|
|
|
|||
Loading…
Reference in a new issue