Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions changelogs/client_server/newsfragments/2311.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
`/_matrix/client/v3/rooms/{roomId}/report` and `/_matrix/client/v3/rooms/{roomId}/report/{eventId}` may respond with HTTP 200 regardless of the reported subject's existence or add a random delay when generating responses as per [MSC4277](https://github.com/matrix-org/matrix-spec-proposals/pull/4277).
1 change: 1 addition & 0 deletions changelogs/client_server/newsfragments/2311.removal
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
The `score` request parameter on `/_matrix/client/v3/rooms/{roomId}/report/{eventId}` was removed as per [MSC4277](https://github.com/matrix-org/matrix-spec-proposals/pull/4277).
28 changes: 22 additions & 6 deletions data/api/client-server/report_content.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,15 @@ paths:
the appropriate people. How such information is delivered is left up to
implementations. The caller is not required to be joined to the room to
report it.

Clients could infer whether a reported room exists based on the 404 response.
Homeservers that wish to conceal this information MAY return 200 responses
regardless of the existence of the reported room.

Furthermore, it might be possible for clients to deduce whether a reported
room exists by timing the response. This is because only a report for an
existing room will require the homeserver to do further processing. To
combat this, homeservers MAY add a random delay when generating a response.
operationId: reportRoom
parameters:
- in: path
Expand Down Expand Up @@ -52,6 +61,11 @@ paths:
security:
- accessTokenQuery: []
- accessTokenBearer: []
x-changedInMatrixVersion:
1.18: |
Servers MAY prevent room ID enumeration by using the 200 response
regardless of the existence of the reported room and/or by adding
a random delay when generating responses.
responses:
"200":
description: The room has been reported successfully.
Expand Down Expand Up @@ -91,6 +105,10 @@ paths:
the appropriate people. The caller must be joined to the room to report
it.

Clients could infer whether a reported event or room exists based on the 404
response. Homeservers that wish to conceal this information MAY return 200
responses regardless of the existence of the reported event or room.

Furthermore, it might be possible for clients to deduce whether a reported
event exists by timing the response. This is because only a report for an
existing event will require the homeserver to do further processing. To
Expand All @@ -117,15 +135,9 @@ paths:
schema:
type: object
example: {
"score": -100,
"reason": "this makes me sad"
}
properties:
score:
type: integer
description: |-
The score to rate this content as where -100 is most offensive
and 0 is inoffensive.
reason:
type: string
description: The reason the content is being reported.
Expand All @@ -136,6 +148,10 @@ paths:
x-changedInMatrixVersion:
1.8: |
This endpoint now requires the user to be joined to the room.
1.18: |
The `score` request parameter was removed. Additionally, servers
may prevent event/room ID enumeration by using the 200 response
regardless of the existence of the reported event/room.
responses:
"200":
description: The event has been reported successfully.
Expand Down