summary refs log tree commit diff
path: root/synapse/federation/transport (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Fix incorrect truncation in get_missing_eventsRichard van der Hoff2018-10-161-2/+0
| | | | | | | | | It's quite important that get_missing_events returns the *latest* events in the room; however we were pulling event ids out of the database until we got *at least* 10, and then taking the *earliest* of the results. We also shouldn't really be relying on depth, and should be checking the room_id.
* 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-122-15/+14
|
* Merge branch 'master' into developRichard van der Hoff2018-09-061-1/+1
|\
| * Fix origin handling for pushed transactionsRichard van der Hoff2018-09-051-1/+1
| | | | | | | | | | Use the actual origin for push transactions, rather than whatever the remote server claimed.
* | 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
| | |
* | | Log more detail when we fail to authenticate requestErik Johnston2018-08-211-3/+3
| | |
* | | Don't log exceptions when failing to fetch server keysErik Johnston2018-08-211-2/+2
| |/ |/| | | | | | | Not being able to resolve or connect to remote servers is an expected error, so we shouldn't log at ERROR with stacktraces.
* | include known room versions in outgoing make_joinsRichard van der Hoff2018-08-061-1/+4
| |
* | Enforce compatibility when processing make_join requestsRichard van der Hoff2018-08-031-1/+23
| | | | | | | | | | | | Reject make_join requests from servers which do not support the room version. Also include the room version in the response.
* | Docstrings for BaseFederationServletRichard van der Hoff2018-08-031-0/+47
| | | | | | | | ... to save me reverse-engineering this stuff again.
* | Python 3: Convert some unicode/bytes uses (#3569)Amber Brown2018-08-021-1/+1
|/
* Remove pdu_failures from transactionsTravis Ralston2018-07-301-2/+1
| | | The field is never read from, and all the opportunities given to populate it are not utilized. It should be very safe to remove this.
* Update the send_leave path to be an event_idTravis Ralston2018-07-261-2/+2
| | | It's still not used, however the parameter is an event ID not a transaction ID.
* run isortAmber Brown2018-07-092-15/+15
|
* Implementation of server_aclsRichard van der Hoff2018-07-041-2/+6
| | | | | ... as described at https://docs.google.com/document/d/1EttUVzjc2DWe2ciw4XPtNpUpIl9lWXGEsy2ewDS7rtw.
* More server_name validationRichard van der Hoff2018-07-041-2/+3
| | | | | | | | We need to do a bit more validation when we get a server name, but don't want to be re-doing it all over the shop, so factor out a separate parse_and_validate_server_name, and do the extra validation. Also, use it to verify the server name in the config file.
* Reject invalid server names (#3480)Richard van der Hoff2018-07-031-22/+44
| | | | | Make sure that server_names used in auth headers are sane, and reject them with a sensible error code, before they disappear off into the depths of the system.
* Improve exception handling for background processesRichard van der Hoff2018-04-271-3/+10
| | | | | | | | | | | | | | | | | | There were a bunch of places where we fire off a process to happen in the background, but don't have any exception handling on it - instead relying on the unhandled error being logged when the relevent deferred gets garbage-collected. This is unsatisfactory for a number of reasons: - logging on garbage collection is best-effort and may happen some time after the error, if at all - it can be hard to figure out where the error actually happened. - it is logged as a scary CRITICAL error which (a) I always forget to grep for and (b) it's not really CRITICAL if a background process we don't care about fails. So this is an attempt to add exception handling to everything we fire off into the background.
* fix federation_domain_whitelistMatthew Hodgson2018-04-131-6/+6
| | | | we were checking the wrong server_name on inbound requests
* revert last to PR properlyMatthew Hodgson2018-04-131-6/+6
|
* correctly auth inbound federation_domain_whitelist reqsMatthew Hodgson2018-04-131-6/+6
|
* 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-062-0/+31
|
* use PUT instead of POST for federating groups/m.join_policyKrombel2018-04-062-2/+2
|
* Use "/settings/" (plural)Luke Barnard2018-04-052-2/+2
|
* Use join_policy API instead of joinableLuke Barnard2018-04-032-6/+6
| | | | | | | | | | | | | | | | | 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-282-0/+37
| | | | | Adds API to set the 'joinable' flag, and corresponding flag in the table.
* s/replication_server/federation_serverErik Johnston2018-03-131-1/+1
|
* Split replication layer into twoErik Johnston2018-03-131-1/+1
|
* Add federation_domain_whitelist option (#2820)Matthew Hodgson2018-01-222-1/+11
| | | | | | 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
* Add bracketsErik Johnston2017-11-091-2/+4
|
* Have an explicit API to update room configErik Johnston2017-11-082-1/+36
|
* Revert "Modify group room association API to allow modification of is_public"Erik Johnston2017-11-082-7/+6
|
* 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-312-4/+4
| | | | also includes renamings to make things more consistent.
* Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2017-10-241-3/+3
|\ | | | | | | erikj/group_fed_update_profile
| * replace 'except:' with 'except Exception:'Richard van der Hoff2017-10-231-3/+3
| | | | | | | | what could possibly go wrong
* | Correctly wire in update group profile over federationErik Johnston2017-10-232-11/+31
|/
* Fix typoErik Johnston2017-10-191-1/+1
|
* Fix typo in group attestation handlingErik Johnston2017-10-191-1/+1
|
* DelintLuke Barnard2017-10-161-0/+2
|
* Implement GET /groups/$groupId/invited_usersLuke Barnard2017-10-162-1/+30
|
* Fix typo in invite to groupErik Johnston2017-10-111-1/+1
|
* Add remove room APIErik Johnston2017-09-262-1/+25
|
* Add bulk group publicised lookup APIErik Johnston2017-08-092-0/+32
|
* Add update group profile APIErik Johnston2017-07-201-0/+12
|
* CommentsErik Johnston2017-07-181-1/+1
|
* CommentsErik Johnston2017-07-181-0/+40
|
* Fix typosErik Johnston2017-07-181-2/+2
|
* Correctly parse query paramsErik Johnston2017-07-181-19/+19
|
* Add client apisErik Johnston2017-07-181-9/+187
|
* CommentsErik Johnston2017-07-181-15/+19
|
* Add local group server supportErik Johnston2017-07-172-0/+121
|
* Ensure category and role ids are non-nullErik Johnston2017-07-141-0/+24
|
* CommentsErik Johnston2017-07-131-0/+8
|
* Add summary APIs to federationErik Johnston2017-07-131-11/+223
|
* Add group summary APIsErik Johnston2017-07-121-0/+17
|
* Add federation API for adding room to groupErik Johnston2017-07-111-0/+18
|
* CommentErik Johnston2017-07-112-0/+26
|
* Initial group server implementationErik Johnston2017-07-102-1/+176
|
* Separate federation servlet into different listsErik Johnston2017-07-051-8/+16
|
* Use preserve_fn and add logsErik Johnston2017-05-051-1/+3
|
* Always mark remotes as up if we receive a signed request from themErik Johnston2017-05-051-0/+7
|
* 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-262-0/+34
|
* limit total timeout for get_missing_events to 10sMatthew Hodgson2016-12-311-2/+3
|
* Add new API appservice specific public room listErik Johnston2016-12-062-3/+25
|
* Support filtering remote room listsErik Johnston2016-09-161-1/+4
|
* Pass since/from parameters over federationErik Johnston2016-09-152-3/+16
|
* 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 federation /version APIErik Johnston2016-08-051-1/+17
|
* Change the way we specify if we require auth or notErik Johnston2016-08-051-40/+55
|
* Merge branch 'develop' of github.com:matrix-org/synapse into erikj/state_ids_apiErik Johnston2016-08-041-3/+1
|\
| * E2E keys: Make federation query share code with client queryRichard van der Hoff2016-08-021-3/+1
| | | | | | | | | | Refactor the e2e query handler to separate out the local query, and then make the federation handler use it.
* | Add /state_ids federation APIErik Johnston2016-08-032-0/+34
|/ | | | | The new API only returns the event_ids for the state, as most requesters will already have the vast majority of the events already.
* Linearize some federation endpoints based on (origin, room_id)Erik Johnston2016-06-171-1/+1
|
* Disable responding with canonical json for federationErik Johnston2016-06-171-1/+1
|
* Fix up federation PublicRoomListErik Johnston2016-06-081-1/+1
|
* Enable auth on federation PublicRoomListErik Johnston2016-06-081-5/+0
|
* pep8David Baker2016-06-011-1/+3
|
* Basic, un-cached support for secondary_directory_serversDavid Baker2016-05-312-1/+13
|
* Fix c+p failDavid Baker2016-05-311-17/+0
|
* Add federation room list servletDavid Baker2016-05-311-1/+64
|
* Add an openidish mechanism for proving to third parties that you own a given ↵Mark Haines2016-05-051-1/+46
| | | | user_id
* Fix typo in event_auth servlet pathErik Johnston2016-04-291-1/+1
|
* 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.
* Intern all the thingsErik Johnston2016-03-231-14/+14
|
* Use parse_json_object_from_request to parse JSON out of request bodiesMark Haines2016-03-111-2/+2
|
* Add profile information to invitesErik Johnston2016-03-041-0/+1
|
* Allow third_party_signed to be specified on /joinDaniel Wagner-Hall2016-02-231-1/+11
|
* Remove redundated BaseHomeServerErik Johnston2016-01-263-84/+54
|
* copyrightsMatthew Hodgson2016-01-073-3/+3
|
* Host /unstable and /r0 versions of r0 APIsDaniel Wagner-Hall2015-12-011-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-052-3/+52
|
* Allow rejecting invitesDaniel Wagner-Hall2015-10-202-2/+42
| | | | | 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-012-3/+4
|
* Get the end-to-end key federation workingMark Haines2015-07-242-8/+8
|
* Add federation support for end-to-end key requestsMark Haines2015-07-232-0/+90
|
* Log more when we have processed the requestErik Johnston2015-06-151-0/+1
|
* Log where a request came from in federationErik Johnston2015-06-021-0/+2
|
* Merge pull request #156 from matrix-org/erikj/join_perfMark Haines2015-05-221-2/+4
|\ | | | | Make joining #matrix:matrix.org over federation quicker
| * Add doc stringsErik Johnston2015-05-221-0/+2
| |
| * Add a timeout param to get_eventErik Johnston2015-05-191-2/+2
| |
* | Log origin and stats of incoming transactionsErik Johnston2015-05-221-0/+8
|/
* Add missing servlet to listErik Johnston2015-03-191-0/+1
|
* Count incoming HTTP requests per servlet that respondsPaul "LeoNerd" Evans2015-03-121-0/+4
|
* Appease pep8Paul "LeoNerd" Evans2015-03-051-19/+27
|
* Append a $ on PATH at registration time, meaning each PATH attribute doesn't ↵Paul "LeoNerd" Evans2015-03-051-13/+14
| | | | need it
* Slightly neater(?) arrangement of authentication wrapper for HTTP servlet ↵Paul "LeoNerd" Evans2015-03-051-25/+37
| | | | methods
* Remove the dead 'rate_limit_origin' method from TransportLayerServerPaul "LeoNerd" Evans2015-03-051-6/+0
|
* Move federation API responding code out of weird mix of lambdas into ↵Paul "LeoNerd" Evans2015-03-051-170/+130
| | | | Servlet-style methods on instances
* Merge branch 'develop' of github.com:matrix-org/synapse into batched_get_pduErik Johnston2015-03-022-3/+23
|\
| * Make the federation server ratelimiting configurable.Erik Johnston2015-03-021-5/+5
| |
| * Move federation rate limiting out of transport layerErik Johnston2015-02-272-204/+4
| |
| * Document FederationRateLimiterErik Johnston2015-02-271-8/+51
| |
| * Initial implementation of federation server rate limitingErik Johnston2015-02-262-5/+182
| |
* | Implement and use new batched get missing pduErik Johnston2015-02-232-0/+50
|/
* Blunty replace json with simplejsonErik Johnston2015-02-111-1/+1
|
* 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-292-1/+36
|
* Finish renaming "context" to "room_id" in federation codebaseMark Haines2015-01-162-29/+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-163-0/+647