summary refs log tree commit diff
path: root/synapse/federation/transport/client.py (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Update the MSC3083 support to verify if joins are from an authorized server. ↵Patrick Cloke2021-07-261-1/+29
| | | | (#10254)
* Add type hints to synapse.federation.transport.client. (#10408)Patrick Cloke2021-07-261-201/+298
|
* Use inline type hints in various other places (in `synapse/`) (#10380)Jonathan de Jong2021-07-151-4/+4
|
* Remove the experimental flag for knocking and use stable prefixes / ↵Patrick Cloke2021-06-151-24/+3
| | | | | | | endpoints. (#10167) * Room version 7 for knocking. * Stable prefixes and endpoints (both client and federation) for knocking. * Removes the experimental configuration flag.
* Implement knock feature (#6739)Sorunome2021-06-091-3/+59
| | | | | | This PR aims to implement the knock feature as proposed in https://github.com/matrix-org/matrix-doc/pull/2403 Signed-off-by: Sorunome mail@sorunome.de Signed-off-by: Andrew Morgan andrewm@element.io
* Allow response of `/send_join` to be larger. (#10093)Erik Johnston2021-05-281-0/+7
| | | Fixes #10087.
* Use ijson to parse the response to `/send_join`, reducing memory usage. (#9958)Erik Johnston2021-05-201-4/+81
| | | Instead of parsing the full response to `/send_join` into Python objects (which can be huge for large rooms) and *then* parsing that into events, we instead use ijson to stream parse the response directly into `EventBase` objects.
* Support fetching the spaces summary via GET over federation. (#9947)Patrick Cloke2021-05-111-0/+1
| | | | | | | | | | | Per changes in MSC2946, the C-S and S-S APIs for spaces summary should use GET requests. Until this is stable, the POST endpoints still exist. This does not switch federation requests to use the GET version yet since it is newly added and already deployed servers might not support it. When switching to the stable endpoint we should switch to GET requests.
* Remove redundant "coding: utf-8" lines (#9786)Jonathan de Jong2021-04-141-1/+0
| | | | | | | Part of #9744 Removes all redundant `# -*- coding: utf-8 -*-` lines from files, as python 3 automatically reads source code as utf-8 now. `Signed-off-by: Jonathan de Jong <jonathan@automatia.nl>`
* Spaces summary: call out to other servers (#9653)Richard van der Hoff2021-03-241-1/+34
| | | | | When we hit an unknown room in the space tree, see if there are other servers that we might be able to poll to get the data. Fixes: #9447
* Update black, and run auto formatting over the codebase (#9381)Eric Eastwood2021-02-161-56/+30
| | | | | | | - Update black version to the latest - Run black auto formatting over the codebase - Run autoformatting according to [`docs/code_style.md `](https://github.com/matrix-org/synapse/blob/80d6dc9783aa80886a133756028984dbf8920168/docs/code_style.md) - Update `code_style.md` docs around installing black to use the correct version
* Apply an IP range blacklist to push and key revocation requests. (#8821)Patrick Cloke2020-12-021-1/+1
| | | | | | | | | | | | Replaces the `federation_ip_range_blacklist` configuration setting with an `ip_range_blacklist` setting with wider scope. It now applies to: * Federation * Identity servers * Push notifications * Checking key validitity for third-party invite events The old `federation_ip_range_blacklist` setting is still honored if present, but with reduced scope (it only applies to federation and identity servers).
* Stop sub-classing object (#8249)Patrick Cloke2020-09-041-1/+1
|
* Convert federation client to async/await. (#7975)Patrick Cloke2020-07-301-56/+40
|
* Fix some spelling mistakes / typos. (#7811)Patrick Cloke2020-07-091-1/+1
|
* Replace all remaining six usage with native Python 3 equivalents (#7704)Dagfinn Ilmari Mannsåker2020-06-161-2/+1
|
* Further improvements to requesting the public rooms list on a homeserver ↵Andrew Morgan2020-05-011-14/+42
| | | | which has it set to private (#7368)
* Query missing cross-signing keys on local sig upload (#7289)Andrew Morgan2020-04-221-9/+40
|
* Revert "Query missing cross-signing keys on local sig upload"Richard van der Hoff2020-04-201-11/+3
| | | | | | This was incorrectly merged to the release branch before it was ready. This reverts commit 72fe2affb6ac86d433b80b6452da57052365aa26.
* Query missing cross-signing keys on local sig uploadAndrew Morgan2020-04-171-3/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add changelog Save retrieved keys to the db lint Fix and de-brittle remote result dict processing Use query_user_devices instead, assume only master, self_signing key types Make changelog more useful Remove very specific exception handling Wrap get_verify_key_from_cross_signing_key in a try/except Note that _get_e2e_cross_signing_verify_key can raise a SynapseError lint Add comment explaining why this is useful Only fetch master and self_signing key types Fix log statements, docstrings Remove extraneous items from remote query try/except lint Factor key retrieval out into a separate function Send device updates, modeled after SigningKeyEduUpdater._handle_signing_key_updates Update method docstring
* Fix sending server up commands from workers (#6811)Erik Johnston2020-01-301-1/+4
| | | | Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
* Merge pull request #6349 from matrix-org/babolivier/msc1802Brendan Abolivier2019-12-111-2/+31
|\ | | | | Implement v2 APIs for send_join and send_leave
| * Merge branch 'develop' into babolivier/msc1802Brendan Abolivier2019-12-051-3/+3
| |\
| * | Implement v2 API for send_leaveBrendan Abolivier2019-11-111-1/+19
| | |
| * | Implement v2 API for send_joinBrendan Abolivier2019-11-111-1/+12
| | |
* | | Remove fallback for missing /federation/v1/state_ids API (#6488)Richard van der Hoff2019-12-091-24/+0
| |/ |/| | | | | This API was added way back in 0.17.0; the code here is annoying to maintain and entirely redundant.
* | Replace instance variations of homeserver with correct case/spacingAndrew Morgan2019-11-121-3/+3
|/
* use %r to __repr__ objectsMichael Kaye2019-10-241-2/+2
| | | | This avoids calculating __repr__ unless we are going to log.
* rip out some unreachable codeRichard van der Hoff2019-10-171-11/+0
| | | | The only possible rejection reason is AUTH_ERROR, so all of this is unreachable.
* Use MSC2197 on stable prefix as it has almost finished FCPOlivier Wilkinson (reivilibre)2019-08-201-2/+2
| | | | Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
* Support MSC2197 outbound with unstable prefixOlivier Wilkinson (reivilibre)2019-08-151-15/+31
| | | | Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
* Room Complexity Client Implementation (#5783)Amber Brown2019-07-301-7/+24
|
* Replace returnValue with return (#5736)Amber Brown2019-07-231-15/+15
|
* Move logging utilities out of the side drawer of util/ and into logging/ (#5606)Amber Brown2019-07-041-1/+1
|
* Run Black. (#5482)Amber Brown2019-06-201-160/+134
|
* Make federation endpoints more tolerant of trailing slashes v2 (#4935)Andrew Morgan2019-03-261-1/+1
| | | Redo of https://github.com/matrix-org/synapse/pull/4840
* Remove trailing slashes from outbound federation requests and retry on 400 ↵Andrew Morgan2019-03-211-7/+14
|\ | | | | | | | | (#4840) As per #3622, we remove trailing slashes from outbound federation requests. However, to ensure that we remain backwards compatible with previous versions of Synapse, if we receive a HTTP 400 with `M_UNRECOGNIZED`, then we are likely talking to an older version of Synapse in which case we retry with a trailing slash appended to the request path.
| * Switch to wrapper function around _send_requestAndrew Morgan2019-03-131-5/+5
| |
| * Cleaner way of implementing trailing slashesAndrew Morgan2019-03-121-5/+10
| |
| * lintAndrew Morgan2019-03-081-1/+3
| |
| * Retry certain federation requests on 404Andrew Morgan2019-03-081-5/+5
| |
| * Remove trailing slashes from outbound federation requestsAndrew Morgan2019-03-081-7/+7
| |
* | Revert "Make federation endpoints more tolerant of trailing slashes for some ↵Erik Johnston2019-03-141-1/+1
| | | | | | | | | | | | endpoints (#4793)" This reverts commit 290552fd836f4ae2dc1d893a7f72f7fff85365d3.
* | Make federation endpoints more tolerant of trailing slashes for some ↵Andrew Morgan2019-03-111-1/+1
|/ | | | | endpoints (#4793) Server side of a solution towards #3622.
* Implement fallback for V2 invite APIErik Johnston2019-01-281-2/+37
| | | | | If the room version is either 1 or 2 then a server should retry failed `/v2/invite` requests with the v1 API
* Add groundwork for new versions of federation APIsErik Johnston2019-01-151-65/+67
|
* Various cleanups in the federation client code (#4031)Richard van der Hoff2018-10-161-8/+11
| | | | | | | | | | | | | | - Improve logging: log things in the right order, include destination and txids in all log lines, don't log successful responses twice - Fix the docstring on TransportLayerClient.send_transaction - Don't use treq.request, which is overcomplicated for our purposes: just use a twisted.web.client.Agent. - simplify the logic for setting up the bodyProducer - fix bytes/str confusions
* Port federation/ to py3 (#3847)Amber Brown2018-09-121-2/+3
|
* Merge pull request #3735 from matrix-org/travis/federation-spellingRichard van der Hoff2018-08-221-1/+1
|\ | | | | limt -> limit
| * limt -> limitTravis Ralston2018-07-311-1/+1
| |
* | include known room versions in outgoing make_joinsRichard van der Hoff2018-08-061-1/+4
|/
* run isortAmber Brown2018-07-091-5/+4
|
* Ensure slashes are escapedErik Johnston2018-04-101-1/+1
|
* URL quote path segments over federationErik Johnston2018-04-101-48/+80
|
* pep8Luke Barnard2018-04-061-1/+1
|
* Fix federation client `set_group_joinable` typoLuke Barnard2018-04-061-1/+1
|
* Implement group join APIDavid Baker2018-04-061-0/+13
|
* use PUT instead of POST for federating groups/m.join_policyKrombel2018-04-061-1/+1
|
* Use "/settings/" (plural)Luke Barnard2018-04-051-1/+1
|
* Use join_policy API instead of joinableLuke Barnard2018-04-031-2/+2
| | | | | | | | | | | | | | | | | The API is now under /groups/$group_id/setting/m.join_policy and expects a JSON blob of the shape ```json { "m.join_policy": { "type": "invite" } } ``` where "invite" could alternatively be "open".
* pep8David Baker2018-03-281-2/+1
|
* Add joinability for groupsDavid Baker2018-03-281-0/+17
| | | | | Adds API to set the 'joinable' flag, and corresponding flag in the table.
* Add federation_domain_whitelist option (#2820)Matthew Hodgson2018-01-221-0/+3
| | | | | | Add federation_domain_whitelist gives a way to restrict which domains your HS is allowed to federate with. useful mainly for gracefully preventing a private but internet-connected HS from trying to federate to the wider public Matrix network
* Have an explicit API to update room configErik Johnston2017-11-081-0/+14
|
* Revert "Modify group room association API to allow modification of is_public"Erik Johnston2017-11-081-5/+4
|
* Update docs for updating room group associationLuke Barnard2017-11-011-1/+1
|
* Flake8Luke Barnard2017-10-311-3/+4
|
* Modify group room association API to allow modification of is_publicLuke Barnard2017-10-311-2/+2
| | | | also includes renamings to make things more consistent.
* Correctly wire in update group profile over federationErik Johnston2017-10-231-0/+20
|
* Implement GET /groups/$groupId/invited_usersLuke Barnard2017-10-161-0/+13
|
* Fix typo in invite to groupErik Johnston2017-10-111-1/+1
|
* Add remove room APIErik Johnston2017-09-261-0/+12
|
* Add bulk group publicised lookup APIErik Johnston2017-08-091-0/+15
|
* CommentsErik Johnston2017-07-181-0/+40
|
* Fix typosErik Johnston2017-07-181-2/+2
|
* Add client apisErik Johnston2017-07-181-9/+187
|
* Add local group server supportErik Johnston2017-07-171-0/+77
|
* CommentErik Johnston2017-07-111-0/+12
|
* Initial group server implementationErik Johnston2017-07-101-0/+34
|
* Try harder when sending leave eventsRichard van der Hoff2017-04-211-1/+19
| | | | | When we're rejecting invites, ignore the backoff data, so that we have a better chance of not getting the room out of sync.
* Fix some lies, and other clarifications, in docstringsRichard van der Hoff2017-04-211-0/+20
| | | | | The documentation on get_json has been wrong ever since the very first commit to synapse...
* Ignore backoff history for invites, aliases, and roomdirsRichard van der Hoff2017-03-231-1/+5
| | | | | Add a param to the federation client which lets us ignore historical backoff data for federation queries, and set it for a handful of operations.
* push federation retry limiter down to matrixfederationclientRichard van der Hoff2017-03-231-0/+1
| | | | | rather than having to instrument everywhere we make a federation call, make the MatrixFederationHttpClient manage the retry limiter.
* Implement device key caching over federationErik Johnston2017-01-261-0/+26
|
* limit total timeout for get_missing_events to 10sMatthew Hodgson2016-12-311-2/+3
|
* Add new API appservice specific public room listErik Johnston2016-12-061-2/+7
|
* Support filtering remote room listsErik Johnston2016-09-161-1/+4
|
* Pass since/from parameters over federationErik Johnston2016-09-151-1/+8
|
* Add a timeout parameter for end2end key queries.Mark Haines2016-09-121-2/+4
| | | | | | | | | | Add a timeout parameter for controlling how long synapse will wait for responses from remote servers. For servers that fail include how they failed to make it easier to debug. Fetch keys from different servers in parallel rather than in series. Set the default timeout to 10s.
* Add /state_ids federation APIErik Johnston2016-08-031-0/+22
| | | | | The new API only returns the event_ids for the state, as most requesters will already have the vast majority of the events already.
* Basic, un-cached support for secondary_directory_serversDavid Baker2016-05-311-0/+12
|
* Lower timeout for make_membership_eventErik Johnston2016-04-151-1/+2
| | | | | Calls to make_membership_event are done in response to client requests, and so should not be retried over long timeframes.
* Add profile information to invitesErik Johnston2016-03-041-0/+1
|
* Remove redundated BaseHomeServerErik Johnston2016-01-261-0/+4
|
* copyrightsMatthew Hodgson2016-01-071-1/+1
|
* Only retry federation requests for a long time for background requestsErik Johnston2015-11-171-0/+1
|
* Exchange 3pid invites for m.room.member invitesDaniel Wagner-Hall2015-11-051-2/+14
|
* Allow rejecting invitesDaniel Wagner-Hall2015-10-201-2/+22
| | | | | This is done by using the same /leave flow as you would use if you had already accepted the invite and wanted to leave.
* Implement third party identifier invitesDaniel Wagner-Hall2015-10-011-2/+3
|
* Get the end-to-end key federation workingMark Haines2015-07-241-2/+2
|
* Add federation support for end-to-end key requestsMark Haines2015-07-231-0/+70
|
* Add doc stringsErik Johnston2015-05-221-0/+2
|
* Add a timeout param to get_eventErik Johnston2015-05-191-2/+2
|
* Implement and use new batched get missing pduErik Johnston2015-02-231-0/+19
|
* Apply sanity to the transport client interface. Convert 'make_join' and ↵Erik Johnston2015-02-041-26/+16
| | | | 'send_join' to accept iterables of destinations
* Initial implementation of auth conflict resolutionErik Johnston2015-01-291-0/+16
|
* Finish renaming "context" to "room_id" in federation codebaseMark Haines2015-01-161-28/+19
|
* Fold _do_request_for_transaction into the methods that called it since it ↵Mark Haines2015-01-161-44/+11
| | | | was a trivial wrapper around client.get_json
* Split transport layer into client and server partsMark Haines2015-01-161-0/+257