Skip to content

Commit 8bf6db7

Browse files
committed
add security consideration and alternatives
Signed-off-by: Timo K <toger5@hotmail.de>
1 parent 8839b8d commit 8bf6db7

File tree

1 file changed

+22
-1
lines changed

1 file changed

+22
-1
lines changed

proposals/4140-expiring-events-with-keep-alive-endpoint.md

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# MSC4140: Expiring events with keep alive endpoint
22

3-
Currently there is not mechanism for a client to provide a reliable way of
3+
Currently there is no mechanism for a client to provide a reliable way of
44
communicating that an event is still valid. The best expiration method is to post
55
another event that is stores that it is expired.
66
In some situations the client just looses connection or fails to sent the expired
@@ -121,8 +121,29 @@ the `"will_expire":"running"` events for a specific event type but render the
121121

122122
## Alternatives
123123

124+
[MSC4018](https://github.com/matrix-org/matrix-spec-proposals/pull/4018) also
125+
proposes a way to make call memberships reliable. It uses the client sync loop as
126+
an indicator to determine if the event is expired. Instead of letting the SFU
127+
inform about the call termination or using the call app ping loop like we propose
128+
here.
129+
124130
## Security considerations
125131

132+
We are using unauthenticated endpoint to refresh the expirations. Since we use
133+
the token it is hard to guess a correct endpoint and randomly end `will_expire`
134+
events.
135+
136+
It is an intentional decision to not provide an endpoint like
137+
`PUT /_matrix/client/v3/expiration/room/{roomId}/event/{eventId}`
138+
where any client with access to the room could also `end` or `refresh`
139+
the expiration. With the token the client sending the event has ownership
140+
over the expiration and only intentional delegation of that ownership
141+
(sharing the token) is possible.
142+
143+
On the other hand the token makes sure that the instance gets as little
144+
information about the matrix metadata of the associated `will_expire` event.
145+
126146
## Unstable prefix
127147

128148
## Dependencies
149+

0 commit comments

Comments
 (0)