1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-17 10:55:45 +08:00
osu-lazer/osu.Game/Online/API/Requests
Bartłomiej Dach 776fabd77c
Only use MD5 when performing metadata lookups
Both online and offline using the cache.

The rationale behind this change is that in the current state of
affairs, `TestPartiallyMaliciousSet()` fails in a way that cannot be
reconciled without this sort of change.

The test exercises a scenario where the beatmap being imported has an
online ID in the `.osu` file, but its hash does not match the online
hash of the beatmap. This turns out to be a more frequent scenario than
envisioned because of users doing stupid things with manual file editing
rather than reporting issues properly.

The scenario is realistic only because the behaviour of the endpoint
responsible for looking up beatmaps is such that if multiple parameters
are given (e.g. all three of beatmap MD5, online ID, and filename), it
will try the three in succession:

	f6b341813b/app/Http/Controllers/BeatmapsController.php (L260-L266)

and the local metadata cache implementation reflected this
implementation.

Because online ID and filename are inherently unreliable in this
scenario due to being directly manipulable by clueless or malicious
users, neither should not be used as a fallback.
2024-10-30 08:12:30 +01:00
..
Responses Clarify xmldoc 2024-10-08 14:46:53 +02:00
ChatAckRequest.cs Add xmldoc for chat ack request 2022-11-13 00:10:06 +09:00
ChatReportRequest.cs Fix non-block namespace 2023-05-03 18:51:02 +09:00
CommentDeleteRequest.cs Fix CQ 2022-09-27 19:40:18 +03:00
CommentPostRequest.cs Rename parent comment id field 2023-01-14 20:15:19 +03:00
CommentReportRequest.cs Make report's comment not optional 2022-10-16 20:14:05 +03:00
CommentVoteRequest.cs Automated pass 2023-06-24 01:00:03 +09:00
CreateChannelRequest.cs Automated pass 2023-06-24 01:00:03 +09:00
CreateNewPrivateMessageRequest.cs Automated pass 2023-06-24 01:00:03 +09:00
CreateNewPrivateMessageResponse.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
Cursor.cs Automated pass 2023-06-24 01:00:03 +09:00
DownloadBeatmapSetRequest.cs Automated pass 2023-06-24 01:00:03 +09:00
DownloadReplayRequest.cs Switch download requests to new API endpoint 2023-08-28 13:50:52 +02:00
GetBeatmapRequest.cs Only use MD5 when performing metadata lookups 2024-10-30 08:12:30 +01:00
GetBeatmapSetRequest.cs Automated pass 2023-06-24 01:00:03 +09:00
GetBeatmapsRequest.cs Automated pass 2023-06-24 01:00:03 +09:00
GetBeatmapsResponse.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
GetChangelogBuildRequest.cs Automated pass 2023-06-24 01:00:03 +09:00
GetChangelogRequest.cs Automated pass 2023-06-24 01:00:03 +09:00
GetChannelRequest.cs Better handling for joining channels with only ID 2022-11-07 11:52:07 +09:00
GetCommentsRequest.cs Automated pass 2023-06-24 01:00:03 +09:00
GetCountriesResponse.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
GetCountryRankingsRequest.cs Automated pass 2023-06-24 01:00:03 +09:00
GetFriendsRequest.cs Automated pass 2023-06-24 01:00:03 +09:00
GetKudosuRankingsRequest.cs Add ability to view kudosu rankings 2023-11-07 15:58:17 -08:00
GetKudosuRankingsResponse.cs Add ability to view kudosu rankings 2023-11-07 15:58:17 -08:00
GetMenuContentRequest.cs Read from new location 2024-03-25 13:19:12 +08:00
GetMeRequest.cs Split /me request from /users requests 2024-01-24 14:22:57 +01:00
GetMessagesRequest.cs Automated pass 2023-06-24 01:00:03 +09:00
GetNewsRequest.cs Move the null check in the outside. 2022-06-30 23:29:49 +08:00
GetNewsResponse.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
GetNotificationsRequest.cs Use more verbatim strings 2022-10-28 16:32:17 +09:00
GetRankingsRequest.cs Automated pass 2023-06-24 01:00:03 +09:00
GetScoresRequest.cs Switch on NRT and add IEquatable to GetScoresRequest 2023-01-04 01:41:21 +08:00
GetSeasonalBackgroundsRequest.cs Automated pass 2023-06-24 01:00:03 +09:00
GetSpotlightRankingsRequest.cs Automated pass 2023-06-24 01:00:03 +09:00
GetSpotlightRankingsResponse.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
GetSpotlightsRequest.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
GetTopUsersRequest.cs Automated pass 2023-06-24 01:00:03 +09:00
GetTopUsersResponse.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
GetUpdatesRequest.cs Stop requesting messages as part of initial chat presence 2022-11-21 15:17:54 +09:00
GetUpdatesResponse.cs Add TODO note about handling initial silences 2022-11-21 15:23:04 +09:00
GetUserBeatmapsRequest.cs Automated pass 2023-06-24 01:00:03 +09:00
GetUserKudosuHistoryRequest.cs Automated pass 2023-06-24 01:00:03 +09:00
GetUserMostPlayedBeatmapsRequest.cs Automated pass 2023-06-24 01:00:03 +09:00
GetUserRankingsRequest.cs Automated pass 2023-06-24 01:00:03 +09:00
GetUserRecentActivitiesRequest.cs Automated pass 2023-06-24 01:00:03 +09:00
GetUserRequest.cs Split /me request from /users requests 2024-01-24 14:22:57 +01:00
GetUserScoresRequest.cs change GetUserScoresRequest to return SoloScoreInfo instead of APIScore 2022-07-17 14:07:05 +01:00
GetUsersRequest.cs Add GET /users/lookup request type 2024-10-08 14:05:09 +02:00
GetUsersResponse.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
GetWikiRequest.cs Automated pass 2023-06-24 01:00:03 +09:00
JoinChannelRequest.cs Apply NRT to APIRequest 2024-08-30 18:35:31 +09:00
LeaveChannelRequest.cs Apply NRT to APIRequest 2024-08-30 18:35:31 +09:00
ListChannelsRequest.cs Automated pass 2023-06-24 01:00:03 +09:00
LookupUsersRequest.cs Add GET /users/lookup request type 2024-10-08 14:05:09 +02:00
MarkChannelAsReadRequest.cs Automated pass 2023-06-24 01:00:03 +09:00
PaginatedAPIRequest.cs Automated pass 2023-06-24 01:00:03 +09:00
PaginationParameters.cs Automated pass 2023-06-24 01:00:03 +09:00
PostBeatmapFavouriteRequest.cs Automated pass 2023-06-24 01:00:03 +09:00
PostMessageRequest.cs Automated pass 2023-06-24 01:00:03 +09:00
ReissueVerificationCodeRequest.cs Add request structures for verification endpoints 2024-01-24 13:53:40 +01:00
ResponseWithCursor.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
SearchBeatmapSetsRequest.cs Replace calls to defective Humanizer methods with correct version 2022-07-18 22:34:58 +02:00
SearchBeatmapSetsResponse.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
VerifySessionRequest.cs Add request structures for verification endpoints 2024-01-24 13:53:40 +01:00