Commit graph

7723 commits

Author SHA1 Message Date
jenkins-bot 2ef2257922 Merge "Log changes to protected variables access" 2024-09-13 12:49:19 +00:00
jenkins-bot 4f272aeb02 Merge "Add preference for viewing protected variables in AbuseFilter" 2024-09-13 12:27:36 +00:00
STran cbfaaa591d Log changes to protected variables access
Similar to how CheckUser logs access to IP information about temporary
accounts, AbuseFilter needs to log whenever protected variables are
accessed.

- Implement ProtectedVarsAccessLogger which handles access logging
- Log whenever a user changes their ability to access protected
  variables via Special:Preferences

Bug: T371798
Change-Id: Ic7024d9c5f369eb33c4198a59638de9a1d58b04b
2024-09-13 01:39:09 -07:00
STran bd819b98a2 Add preference for viewing protected variables in AbuseFilter
Users need to enable a preference before gaining access to the IPs
from `user_unnamed_ip`, a protected variable.

- Add a preference that the user can check to toggle their access
- Check for the preference and the view right for logs that reveal
  protected variables on:
  + AbuseFilterViewExamine
  + SpecialAbuseLog
  + QueryAbuseLog

Bug: T371798
Change-Id: I5363380d999118982b216585ea73ee4274a6eac1
2024-09-12 07:59:24 -07:00
jenkins-bot 14a882513b Merge "tests: Use multi-row insert in AbuseFilterConsequencesTest" 2024-09-11 19:10:26 +00:00
Bartosz Dziewoński b0c9bdc177 Specify caller in DB queries
Found warnings about this in WMF production logs.

Change-Id: I5d47b0b1a15ab68e2fe2b2f5d14eb0c355b0b632
2024-09-11 15:20:11 +02:00
Umherirrender b2df776f8d tests: Use multi-row insert in AbuseFilterConsequencesTest
Small performance benefit by just one db call instead of multiple
Most test cases only use one filter, but some 2 to 4

Change-Id: I498c447e3873d2138e21541467115c9a67bb909e
2024-09-10 22:04:50 +02:00
Translation updater bot db83369b76
Localisation updates from https://translatewiki.net.
Change-Id: Ia93dfb0609ba11b8e104f5ddeb84e756cb175555
2024-09-10 09:27:58 +02:00
jenkins-bot ef65f54c96 Merge "Support named capturing groups in get_matches()" 2024-09-09 18:06:18 +00:00
Translation updater bot 1109691adc
Localisation updates from https://translatewiki.net.
Change-Id: I65c16f2cb739a4bd69467cf11421db5d32780008
2024-09-09 09:21:48 +02:00
Anne Haunime 69ea21dc99 Support named capturing groups in get_matches()
AF rules don't support associative arrays, so the named capturing groups are provided in the array only by their numeric keys.

Bug: T374294
Change-Id: I53b39917e6677f3a5b8f68bcf0faebf48668ea27
2024-09-07 11:25:48 +00:00
Erik Bernhardson 65c10f5fa0 Skip auth checks when autocreate is allowed by provider
Session providers can provide a `canAlwaysAutocreate` flag which
indicates account creation is exempt from autocreate permission
checks. This is used, for example, for providers that provide
users for supporting applications in a wiki farm.

Check the flag and exempt the auto creation from abuse filter
checks as well.

Bug: T373778
Change-Id: Id89358930b92cb8dd05c2b031e764412ee641269
2024-09-05 11:17:16 -07:00
jenkins-bot db67b31db2 Merge "Log entry IDs should not have thousands separators" 2024-09-05 08:00:34 +00:00
Translation updater bot 6c4364688d
Localisation updates from https://translatewiki.net.
Change-Id: I10e3efd76ea3b882d7409bf676400631763e49f2
2024-09-05 09:21:38 +02:00
Translation updater bot 98e0d56cb2
Localisation updates from https://translatewiki.net.
Change-Id: I3a1ea7085072f21f331dc908b121b1e3455c0305
2024-09-04 09:15:49 +02:00
Translation updater bot b4c32f4757
Localisation updates from https://translatewiki.net.
Change-Id: I7da53722156626ac32f2da20890d210e3737a3cd
2024-09-02 09:19:57 +02:00
Translation updater bot ccb5faf096
Localisation updates from https://translatewiki.net.
Change-Id: I6c95dadb2bfb316b078acc694d44d0ee9a52fd7e
2024-08-30 09:19:27 +02:00
Translation updater bot 35a479117f
Localisation updates from https://translatewiki.net.
Change-Id: I461ca3136848f5f2d0489c4eb361e610eaa02fcc
2024-08-29 09:17:08 +02:00
Translation updater bot 8a8da638d3
Localisation updates from https://translatewiki.net.
Change-Id: Ief9e8cee08eb09bb9d3aea036dd382dc9a79d322
2024-08-28 09:36:23 +02:00
Dreamy Jazz aee25cfdaf Allow consequence to be used without pattern in SearchFilters.php
Why:
* The SearchFilters.php maintenance script fails to produce any
  filters when the --pattern option is not provided
* This is because the condition that checked for a missing pattern
  did this after it was passed through ::addQuotes, which made
  the value always truthy.

What:
* Fix this bug, so that the --consequence option can be provided
  without the --pattern option.

Bug: T373148
Change-Id: I316d3f940a8e7616a56040077a20563ee653515b
2024-08-27 11:19:56 +01:00
Translation updater bot 07ed4eab2d
Localisation updates from https://translatewiki.net.
Change-Id: I13109ddba997422622635432d41e431e5bb1bc23
2024-08-27 09:46:40 +02:00
Translation updater bot f4511f7c2e
Localisation updates from https://translatewiki.net.
Change-Id: I03005ac6897457ef5939d0f80c00b6e53dfbf6c5
2024-08-26 09:21:12 +02:00
libraryupgrader 7c7071135c build: Updating micromatch to 4.0.8
* https://github.com/advisories/GHSA-952p-6rrq-rcjv

Change-Id: I4e2581ab81cc444416737c4a3a6c7dc83c34c512
2024-08-24 14:37:14 +00:00
jenkins-bot b231116380 Merge "Api: Avoid type error in AbuseLogPrivateDetails" 2024-08-23 15:00:36 +00:00
Dreamy Jazz 7ecc204050 Expand SearchFilters.php to search by consequence
Why:
* SearchFilters.php allows the caller to search by a regex that
  is applied to the pattern.
* This script can be expanded to allow callers to specify what
  consequence should be associated with the filters that are
  outputted.

What:
* Add a 'consequence' option to the SearchFilters.php maintenance
  script, which is applied through a LIKE query on the
  af_actions column.
** This can be specified with or without the pattern option.
** Instead of making pattern required, the script now requires
   that one of consequence or pattern is provided.
* Expand the tests for the script for this new code, along with
  using the new ::expectCallToFatalError method to be able to
  test previously untestable code.

Bug: T373148
Change-Id: I1b507d8f9dc1f4cf91ee4f83ccde745eb6d46d6d
2024-08-22 22:07:37 +01:00
Translation updater bot 86d4fed611
Localisation updates from https://translatewiki.net.
Change-Id: I48c176b418b68f03165d418e71788e9484c08931
2024-08-22 09:21:19 +02:00
Daimona Eaytoy dcc271b636 Api: Avoid type error in AbuseLogPrivateDetails
Make the `reason` parameter default to the empty string, so that we
don't end up passing null to ManualLogEntry::setComment.

Bug: T373010
Change-Id: Ifca828401628368bdddae14df2bbeb7391b2c02d
2024-08-21 14:31:46 +02:00
Translation updater bot f65ed2b7a1
Localisation updates from https://translatewiki.net.
Change-Id: I85791770e79b28a51a1ab7fb443843ec191c30f5
2024-08-21 09:22:25 +02:00
Translation updater bot 59cba70091
Localisation updates from https://translatewiki.net.
Change-Id: I3caa780c4d8fd0b3bde155f9cac96015cfcf4cb9
2024-08-20 09:40:52 +02:00
Translation updater bot f84ae293a7
Localisation updates from https://translatewiki.net.
Change-Id: I0bd93af961c8a19ab595c47419baebe859ebfb10
2024-08-19 09:21:21 +02:00
jenkins-bot 1aeca2e6b7 Merge "Replace gettype() with get_debug_type() in exception messages etc." 2024-08-16 10:39:46 +00:00
Translation updater bot b895b6e260
Localisation updates from https://translatewiki.net.
Change-Id: Icbb7f095f8e900bd543da07fd96a07781c33f260
2024-08-16 09:27:04 +02:00
Translation updater bot a2eda6ffe9
Localisation updates from https://translatewiki.net.
Change-Id: Ic73effef7a989c9f1decc1e969e763479e7fd37f
2024-08-15 09:19:43 +02:00
Translation updater bot a42907f294
Localisation updates from https://translatewiki.net.
Change-Id: I97bbd0e84bb14a5ed834dd9efe28aa9b01a2e793
2024-08-14 09:21:50 +02:00
Translation updater bot ad732457f0
Localisation updates from https://translatewiki.net.
Change-Id: Ib70cb44a14bea490f350ec8e26af5d5985523544
2024-08-13 09:49:45 +02:00
Bartosz Dziewoński 237d54d545 Replace gettype() with get_debug_type() in exception messages etc.
get_debug_type() does the same thing but better (spelling type names
in the same way as in type declarations, and including names of
object classes and resource types). It was added in PHP 8, but the
symfony/polyfill-php80 package provides it while we still support 7.4.

Also remove uses of get_class() where the new method already provides
the same information.

For reference:
https://www.php.net/manual/en/function.get-debug-type.php
https://www.php.net/manual/en/function.gettype.php

Change-Id: I5e65a0759df7fa0c10bfa26ebc3cda436630f456
2024-08-12 23:05:16 +02:00
Translation updater bot 7d3642691b
Localisation updates from https://translatewiki.net.
Change-Id: I4c1b8c0c0afe3002a611973d5215d826e299724b
2024-08-12 09:21:28 +02:00
jenkins-bot 963a1fc114 Merge "Use ConnectionProvider instead of LoadBalancerFactory" 2024-08-11 16:25:06 +00:00
jenkins-bot a5748252f0 Merge "Update comment still mentioning setMwGlobals" 2024-08-11 16:25:05 +00:00
thiemowmde 0afb81f8da Use ConnectionProvider instead of LoadBalancerFactory
This requires 1.42. That works as this codebase already requires
1.43 via extension.json.

Change-Id: If1f194a3cea3b8d45d98183e294d65fe8568f7ab
2024-08-11 17:27:28 +02:00
thiemowmde 3b9e995b3e Update comment still mentioning setMwGlobals
This was forgotten in I35c7099.

Change-Id: Ied7fce186ded40c60c580f7fc540aa0b8a239a3a
2024-08-11 17:26:10 +02:00
thiemowmde 861b1bf05b Fix broken PHPDoc comment
Also bring @var comments in a canonical form.

Change-Id: I9916bde1d3aa5fb44753109112bb898811cbf0ac
2024-08-11 17:23:37 +02:00
libraryupgrader 2fde400edc build: Updating mediawiki/mediawiki-codesniffer to 44.0.0
Change-Id: I63a33f20e74d851afaaebab1fd730901b735b35f
2024-08-10 15:45:06 +00:00
Translation updater bot d1968e3265
Localisation updates from https://translatewiki.net.
Change-Id: I9ba0596c00fd3308d4098af7959f5cecdcc2fdeb
2024-08-09 09:33:51 +02:00
Anne Haunime 335dbff81e Log entry IDs should not have thousands separators
Per discussion, as a compromise (that I’m fine with), I’m leaving these IDs localized (i.e. the digits may be other than arabic), and I’m only removing the thousands separators.

Bug: T348717
Change-Id: I77b484fec2071267c53a139104c23755a13f0129
2024-08-09 05:58:23 +00:00
Translation updater bot bcab3a7b03
Localisation updates from https://translatewiki.net.
Change-Id: Ibe6cf64b03cb5765fc5e6b7966d16a576e698e39
2024-08-08 09:18:53 +02:00
jenkins-bot 72e2f2d598 Merge "More effective use of LESS" 2024-08-07 07:52:09 +00:00
Translation updater bot 20d8e1f7e5
Localisation updates from https://translatewiki.net.
Change-Id: I11719f554ac0d43b6a495d899be6142263acb538
2024-08-07 09:23:30 +02:00
Ebrahim Byagowi 51453a0f96 More effective use of LESS
Change-Id: I484e762acd44717a953b992ba1dfd76532b72144
2024-08-07 09:26:42 +03:30
Ebrahim Byagowi 7f0c4d2131 Use Codex provided colors in AbuseFilter
This uses Codex provided colors in AbuseFilter primarily to
make it compatible some parts such as the log table with
the dark mode.

This however doesn't touch Ace highlight customisation of
the extension as Ace itself isn't dark mode compatible yet
the far I know.

It treats one #aaa color for borders the same as #a2a9b1
and uses a darker text color for deleted vs disabled
unlike what was before as I tried to both make it distinguishable
but use @color-disabled for that disabled style.

Change-Id: Ifddbda378754260ca8d8802bfd8c6c98de8e1def
2024-08-07 01:36:11 +03:30