forked-synapse/synapse/federation
Matthew Hodgson c0e0740bef add options to require an access_token to GET /profile and /publicRooms on CS API (#5083)
This commit adds two config options:

* `restrict_public_rooms_to_local_users`

Requires auth to fetch the public rooms directory through the CS API and disables fetching it through the federation API.

* `require_auth_for_profile_requests`

When set to `true`, requires that requests to `/profile` over the CS API are authenticated, and only returns the user's profile if the requester shares a room with the profile's owner, as per MSC1301.

MSC1301 also specifies a behaviour for federation (only returning the profile if the server asking for it shares a room with the profile's owner), but that's currently really non-trivial to do in a not too expensive way. Next step is writing down a MSC that allows a HS to specify which user sent the profile query. In this implementation, Synapse won't send a profile query over federation if it doesn't believe it already shares a room with the profile's owner, though.

Groups have been intentionally omitted from this commit.
2019-05-08 18:26:56 +01:00
..
sender Use event streams to calculate presence 2019-03-27 13:41:36 +00:00
transport add options to require an access_token to GET /profile and /publicRooms on CS API (#5083) 2019-05-08 18:26:56 +01:00
__init__.py Remove unused ReplicationLayer 2018-03-13 11:00:04 +00:00
federation_base.py more logging improvements 2019-04-25 22:17:59 +01:00
federation_client.py Collect room-version variations into one place (#4969) 2019-04-01 10:24:38 +01:00
federation_server.py Collect room-version variations into one place (#4969) 2019-04-01 10:24:38 +01:00
persistence.py Fix origin handling for pushed transactions 2018-09-05 13:08:07 +01:00
send_queue.py Use event streams to calculate presence 2019-03-27 13:41:36 +00:00
units.py Clean up event accesses and tests 2018-11-02 13:44:14 +00:00