Commit graph

35 commits

Author SHA1 Message Date
tsepothoabala
1f099ecd3c Use $wgEnablePartialActionBlocks feature flag for block list and block log
Bug: T282457
Change-Id: I7c14054570bc6d7d93344499e6521703b8010621
2021-06-02 06:51:15 +02:00
tsepothoabala
b4a60fecdf Allow action blocks to be logged via block log parameters
Bug: T279560
Change-Id: Icd6ba193a2ce7af83a074cd135470a5097638791
2021-05-05 19:45:52 +02:00
Petr Pchelko
021206c232 User: use ActorNormalization to insert actor
While creating users, we have several interesting corner cases:

- When creating a new User, we actually rely on the 'unique'
constraint on actor_name. This is important if something calls
'User::createNew' with a name that is already occupied by an
existing anon actor with no user. This is quite a weird corner case,
but there's a test for that. We could probably assimilate this
nicly in actor store by checking whether the user id in the database
for the actor we found is the same as user id in the passed in user identity.
- Even more interesting use-case is 'subsuming' existing actors with
reserved user names. When we call User::newSystemUser, and there is
already an actor with the same reserved name, we 'subsume' that actor
and take over it's actor_id for our new system user. This can now be
done with an upsert. This state of having reserved actor with no user
is not easy to cause, but imports or updating from old MW versions
seem to be able to produce this state. Archeology revealed that
'subsuming' existing actor was added for installer.

Change-Id: I16b2f088217db0283215fc2ef5fb04a3742e1626
2021-04-15 13:42:39 -07:00
Petr Pchelko
3a5c8f0f25 Convert logging namespace to Authority
Change-Id: Icb44acf275a7f9231c4d229b3886ed8a36d5cbd4
2021-02-23 21:58:37 +00:00
Umherirrender
a30fe542ae build: Enable SecurityCheck-DoubleEscaped and suppress issues
This issue type was globally suppressed in
I849ac4f120fd15b483e8939d4db45c98dc351259 to make reviewer easier.

This adds inline suppressions or @suppress directives on function
docs for false positives, mostly restoring those removed in
I849ac4f120fd15b483e8939d4db45c98dc351259

Bug: T231311
Change-Id: I1b1d814bd907e9d49fcc39f777982936574fc7c6
2020-12-30 23:34:20 +00:00
Umherirrender
e9e784a09e build: Enable phan-taint-check-plugin and suppress issues
Taint check checks for possible security issues by tracking html
escaping and more by using phan.
This slows done the phan-job a bit and requires more ram

Keep the DoubleEscaped issues out to make reviewer easier

Adds suppression for false positives
Adds taint-annotation to help taint-check
Removes suppression for code phan now understand better by the tracking
of keys in taint-check
Fix some small issues by adding int cast or htmlspecialchars calls

Bug: T216348
Bug: T268920
Change-Id: I849ac4f120fd15b483e8939d4db45c98dc351259
2020-12-30 19:02:22 +01:00
jenkins-bot
d13ca2b93a Merge "Fixed mixed escaping in Language::translateBlockExpiry" 2020-12-07 17:17:32 +00:00
Umherirrender
3857415e7e Pass escaped html to LogFormatter::makePageLink for sanity
Bug: T268938
Change-Id: Ib6847d56eb2d1c19f695f50327c9a58d8d8603da
2020-12-07 16:04:57 +00:00
Umherirrender
49e7981cc2 Fixed mixed escaping in Language::translateBlockExpiry
Bug: T268938
Change-Id: I44c12b9676610e596254b68b829ac62bc109cdde
2020-12-07 15:40:26 +01:00
Umherirrender
bc5cb7ae64 phan: Enable redundant_condition_detection
Remove duplicate casts
Suppress false positives

Bug: T248438
Change-Id: I2f89664a4bcd3b39b15e7cf850adda2f0c90ae6f
2020-07-01 20:13:07 +00:00
Umherirrender
acc7f042f3 Preload titles for page restrictions on Special:Log
For partial blocks the special page adds a link to the page, this should
be preloaded to avoid one query per link for the blue/red color

Change-Id: I9cc23923a48b51d9389479370aeec642476700ae
2019-12-06 17:04:29 +00:00
jenkins-bot
05ce3b7740 Merge "Title: make newFromText, isValid, and canExist behave consistently." 2019-10-08 13:54:57 +00:00
daniel
9171cbe4ca Title: make newFromText, isValid, and canExist behave consistently.
This patch fixes the documentation of newFromText and makeTitleSafe to
no longer state incorrectly that any Title they return is guaranteed to
be valid. That has never been true.

It also makes canExist() checks a lot stricter, to match the assumptions
of current callers, namely that the title can exist as a wiki page.

Finally, it replaces several existing calls to isValid() with calls to
canExist().

Bug: T229705
Change-Id: I2a483136ec6acca49afb5eb32cb94616672b8fb2
2019-10-08 11:16:11 +02:00
Petr Pchelko
7b4eafda0d Replace usages of deprecated User::isAllowed. Step 2.
Bug: T220191
Depends-On: I509cd88355cfd0cc074f4135ec86399b4075f89f
Change-Id: I2341e6f1d108c92924620fba3c64ec090cb09918
2019-09-11 16:00:03 -07:00
Daimona Eaytoy
327e8ea416 Unsuppress phan issues part 6
Bug: T231636
Depends-On: I50377746f01749b058c39fd8229f9d566224cc43
Change-Id: I2cd24e73726394e3200a570c45d5e86b6849bfa9
2019-09-01 09:48:45 +00:00
daniel
7271ac0dcd Tolerate invalid titles in some ChangesFeed and LogFormatter code
Bug: T224811
Change-Id: If134e20cc14d80f9186611606df0b860889bd2cf
2019-06-24 23:15:06 +00:00
Thalia
5be7438ed6 Correct whitespace and parentheses typos in BlockLogFormatter
Change-Id: I9e79e9d274e8ed1fa94966f5e1ac01f8fcd6d96b
2019-01-30 22:46:28 -08:00
Dayllan Maza
85c91cfbf0 Add namespace restrictions to block's log messages
Currently, there are 3 block messages: sitewide, partial with restrictions, and
non-editing partial blocks. This will add namespace restrictions to the
partial editing blocks message type.

Bug: T204985
Change-Id: Ic17d5459e67c267fdee1fb2513d67428148ac85d
2019-01-25 15:46:11 -05:00
Thalia
31ba7a3e5c Fix malformed output of block logs
Avoid adding <span> to expiry parameter whenever block log is
stored as plaintext.

Bug: T208523
Change-Id: Id3fcdfda7311484911ae1f57ec262a2c6e6ab00b
2019-01-09 16:16:53 +00:00
Dayllan Maza
f24991c6ed Add partial block details to block-log entries.
Block information needs to be more detailed if a block is not
sitewide. With this change, page restrictions will be visible
as part of the block information in Special:Contributions,
Special:Block, and Special:Log and via API

Bug: T197108
Change-Id: I5d2ef606f709bdd60bf52e2a048890b0f6360fca
2018-10-24 00:47:27 +00:00
Fomafix
73f94fd8cd Add type hint Language where possible
Also use ?? instead of ?: to check for null.

Change-Id: I058b61d7e06cdefecdafa82f60109cc386e2a809
2018-08-12 10:20:11 +02:00
Kunal Mehta
e0193327bd Fix MediaWiki.Commenting.LicenseComment.InvalidLicenseTag errors
Change-Id: I936c3f5fca1a0061f215e80469f5d882cb32ee29
2018-05-23 16:23:42 -07:00
jenkins-bot
732b5e2745 Merge "Use LogFormatter::getLinkRenderer in LogFormatter extensions" 2017-10-21 17:13:44 +00:00
Fomafix
6c30fab960 Use double quotes instead of singe quotes for HTML attributes
htmlspecialchars[1] encodes only double quotes not single quotes.
Therefor the HTML attribute must enclosed with double quotes for
correct output encoding.

[1] https://secure.php.net/manual/en/function.htmlspecialchars.php

Change-Id: I3fec5299585187ed70d62b9248007af34b0db85b
2017-07-26 22:56:52 +00:00
Matěj Suchánek
d0fa4e8d15 Use LogFormatter::getLinkRenderer in LogFormatter extensions
And additionally, migrate another two usages of deprecated
Linker methods.

Bug: T149346
Change-Id: I222da144a37f7d77eaf4bdde901b58c992f1af85
2017-07-12 09:58:18 +02:00
Bartosz Dziewoński
01936fa994 BlockLogFormatter: Durations are relative to block's timestamp, not Unix epoch
Also fixed legacy code in LogFormatter producing messages for IRC feed.

Bug: T55907
Change-Id: I0df19574f74210a91ce72c79188b6618f04ef9a2
2017-01-18 13:21:56 +00:00
Haikal Izzuddin
2c657ec256 Replace Linker::link() usage with LinkRenderer
Bug: T149346
Change-Id: Ie384566617f18ad6c3bf836b39702365d59f714d
2016-12-01 12:04:38 -08:00
umherirrender
afd72226b8 Show absolute block expiry in user timezone on block logs
For this add an user parameter to Language::translateBlockExpiry.
This allows the function to display the absolute block expiry in the
user's time zone. Use this when formatting block log entries.

This also avoids the use of $wgUser

Bug: T131241
Change-Id: If0a1d3c88bb4242a016eb9b2df115413de786149
2016-04-09 20:57:33 +02:00
Kunal Mehta
6e9b4f0e9c Convert all array() syntax to []
Per wikitech-l consensus:
 https://lists.wikimedia.org/pipermail/wikitech-l/2016-February/084821.html

Notes:
* Disabled CallTimePassByReference due to false positives (T127163)

Change-Id: I2c8ce713ce6600a0bb7bf67537c87044c7a45c4b
2016-02-17 01:33:00 -08:00
Vivek Ghaisas
c54766586a Fix issues identified by SpaceBeforeSingleLineComment sniff
Change-Id: I048ccb1fa260e4b7152ca5f09b053defdd72d8f9
2015-09-26 23:06:52 +00:00
umherirrender
9a504d18fb Always set duration/flags of type block for new api logparam style
Old and very old log params may omit a duration or flags. Always adds
these parameters to the output.
Also simplify the infinity check (see also
I5eb68c1fb6029da8289276ecf7c81330575029ef) and check the return of
strtotime.

Bug: T92902
Follow-Up: I6846ce09322eb404c506b5a51780a44ce9279fe2
Change-Id: I9109a27f416b002e5c562a1454d8c373dcf98fb4
2015-04-17 19:57:18 +02:00
Brad Jorsch
61233fc847 API: Move parameter formatting into LogFormatter
This allows for extensions to format their log entry parameters, and
keeps the code for formatting API log entry parameters in the same place
as for other formatting.

This also takes the opportunity to rearrange the output format slightly
to avoid conflicts like what's happening in T73020.

Bug: T35235
Bug: T73020
Bug: T91466
Change-Id: I6846ce09322eb404c506b5a51780a44ce9279fe2
2015-04-17 04:59:41 +00:00
umherirrender
52bf90f41c Fix log message for blocks without duration
Very old blocks form 2004 have not any log_params and therefor enforce a
duration of infinite to be shown on Special:Log.

Follow-Up: Ibc7fcaa5a952ff90d42a6477da4baa429f3de64b
Change-Id: I4bdfab1ff865501a780ed0c7c50e2b1bab467a4b
2015-03-16 20:51:05 +01:00
umherirrender
ce4af8b873 Fix parameter order for block logs
The new block log params does not known the message number 4 (which is
index 3), therefore LogFormatter::getMessageParameters adds empty index
to keep the sequence in strong order.
But the loop was starting at index 4, not 3, which skips the needed
empty index 3 for the order.

Due to the missing $4 the legacy log params returning index 3 and 4,
therefore move them one up to match the new numbers.

Also fixed undefined index warnings for api's list=logevents

Follow-Up: Ibc7fcaa5a952ff90d42a6477da4baa429f3de64b
Change-Id: Ie23be129ee2bd1d2bf753c3b5cba293d64b8e0e8
2015-02-24 19:37:03 +01:00
umherirrender
c891ff00ed Migrate block log to new log system
This allows use of gender on Special:Log.
Old messages are kept for use in IRC.
A test was added to ensure an unchanged IRC message.

Bug: T57402
Change-Id: Ibc7fcaa5a952ff90d42a6477da4baa429f3de64b
2015-02-07 21:02:10 +01:00