You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
During work on #3124 and #3262, many problems arose due to our usage one room_id per homeserver. In particular, if transport.leave_unused_rooms method is enabled for #3262, nodes can end up in a deadlock between joining and leaving reciprocal rooms.
Proposed solution
We have a utility to join global rooms, where we use unified room aliases and try to join rooms which where opened on other (than our) home servers already. This utility should be used for non-global rooms as well.
The text was updated successfully, but these errors were encountered:
This was done in the past, and this invite mechanism was created exactly to prevent a DoS which could arise if the name/alias of the rooms were known, as a 3rd party could pre-create the rooms for a given pair and ban them from it, or join early and listen to the messages on it.
As we require private rooms, and for the private rooms there must be invites going between the parts, it was choosen as the mechanism to sync on the chat rooms.
If it's racing, we need to figure out why and fix it there, but I don't think we can use the same concept as the global rooms, as they rely on the alias being public, and also work only because the set of rooms is limited and we trust they're aliased early on each server, or else there would also be a potential DoS.
I'm aware of the squatting vector. I'm currently implementing it for public rooms, where the room name is known anyway. We might implement secure and consistent private aliases in the future .
Intro
During work on #3124 and #3262, many problems arose due to our usage one room_id per homeserver. In particular, if transport.leave_unused_rooms method is enabled for #3262, nodes can end up in a deadlock between joining and leaving reciprocal rooms.
Proposed solution
We have a utility to join global rooms, where we use unified room aliases and try to join rooms which where opened on other (than our) home servers already. This utility should be used for non-global rooms as well.
The text was updated successfully, but these errors were encountered: