Summary
Special:AbuseLog provides a search input for "User" that allows finding matches in logs for an IP address across all filters. When temporary accounts are enabled, searching by IP address no longer works. For users who have IP reveal rights, we should make it possible to find log matches for IPs associated with temporary accounts.
Background
- Conceptually, this is somewhat similar to Special:IPContributions which allows plugging in an IP address or range, and finding temporary accounts (in last 90 days) associated with the IP / range.
- From that point of view, the privacy and legal risk for this feature should be similar to Special:IPContributions
Technical notes
- AbuseFilter will support IP/range lookups via afl_ip_hex after T397842: Populate afl_ip_hex for pre-existing abuse_filter_log rows
- SpecialAbuseLog::searchForm's SearchUser input should now support IP ranges. See SpecialCheckUser, SpecialInvestigate for examples of how to support ip ranges (iprange property). Range should probably have some kind of limit like Special:IPContributions does.
- SpecialAbuseLog::showList takes a parameter mSearchUser which should now ingest IP/ranges
- If an IP/range is submitted (use IPUtils), the condition should match the IP/range to afl_ip_hex
- The results should exclude all rows except those which are performed by logged-out users (where the IP is used as the performer of the log) and temporary accounts (as determined by TempUserConfig::isTempName and/or TempUserConfig::getMatchCondition)
Acceptance criteria
- As a user with IP reveal rights, I can input an IP address or IP address range on Special:AbuseLog and get results with matches for the relevant temporary account users