56e709857c 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #2979  from matrix-org/erikj/no_handlers  
							
							... 
							
							
							
							Don't build handlers on workers unnecessarily 
							
						 
						
							2018-03-13 13:46:38 +00:00  
				
					
						
							
							
								 
						
							
							
								9a2d9b4789 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #2977  from matrix-org/erikj/replication_move_props  
							
							... 
							
							
							
							Move property setting from ReplicationLayer to base classes 
							
						 
						
							2018-03-13 11:45:25 +00:00  
				
					
						
							
							
								 
						
							
							
								f43b6d6d9b 
								
							
								 
							
						 
						
							
							
								
								Fix docstring types  
							
							
							
						 
						
							2018-03-13 11:29:35 +00:00  
				
					
						
							
							
								 
						
							
							
								265b993b8a 
								
							
								 
							
						 
						
							
							
								
								Split replication layer into two  
							
							
							
						 
						
							2018-03-13 10:55:47 +00:00  
				
					
						
							
							
								 
						
							
							
								e05bf34117 
								
							
								 
							
						 
						
							
							
								
								Move property setting from ReplicationLayer to FederationBase  
							
							
							
						 
						
							2018-03-13 10:51:30 +00:00  
				
					
						
							
							
								 
						
							
							
								c3f79c9da5 
								
							
								 
							
						 
						
							
							
								
								Split out edu/query registration to a separate class  
							
							
							
						 
						
							2018-03-13 10:24:27 +00:00  
				
					
						
							
							
								 
						
							
							
								3079f80d4a 
								
							
								 
							
						 
						
							
							
								
								Factor out `event_from_pdu_json`  
							
							... 
							
							
							
							turns out we have two copies of this, and neither needs to be an instance
method 
							
						 
						
							2017-12-30 18:40:19 +00:00  
				
					
						
							
							
								 
						
							
							
								65abc90fb6 
								
							
								 
							
						 
						
							
							
								
								federation_server: clean up imports  
							
							
							
						 
						
							2017-12-30 18:40:19 +00:00  
				
					
						
							
							
								 
						
							
							
								2a7e9faeec 
								
							
								 
							
						 
						
							
							
								
								Do logcontexts outside ResponseCache  
							
							
							
						 
						
							2017-10-25 15:21:08 +01:00  
				
					
						
							
							
								 
						
							
							
								582bd19ee9 
								
							
								 
							
						 
						
							
							
								
								Fix 500 error when we get an error handling a PDU  
							
							... 
							
							
							
							FederationServer doesn't have a send_failure (and nor does its subclass,
ReplicationLayer), so this was failing.
I'm not really sure what the idea behind send_failure is, given (a) we don't do
anything at the other end with it except log it, and (b) we also send back the
failure via the transaction response. I suspect there's a whole lot of dead
code around it, but for now I'm just removing the broken bit. 
							
						 
						
							2017-10-17 20:52:40 +01:00  
				
					
						
							
							
								 
						
							
							
								8dd0c85ac5 
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #2529  from matrix-org/rav/fix_transaction_failure_handling  
							
							... 
							
							
							
							log pdu_failures from incoming transactions 
							
						 
						
							2017-10-11 17:29:14 +01:00  
				
					
						
							
							
								 
						
							
							
								b75d443caf 
								
							
								 
							
						 
						
							
							
								
								log pdu_failures from incoming transactions  
							
							... 
							
							
							
							... even if we have no EDUs.
This appears to have been introduced in
476899295f 
							
						 
						
							2017-10-11 14:36:13 +01:00  
				
					
						
							
							
								 
						
							
							
								6a6cc27aee 
								
							
								 
							
						 
						
							
							
								
								fed server: process PDUs for different rooms in parallel  
							
							... 
							
							
							
							With luck, this will give a real-time improvement when there are many rooms and
the server ends up calling out to fetch missing events. 
							
						 
						
							2017-10-09 18:30:31 +01:00  
				
					
						
							
							
								 
						
							
							
								4c7c4d4061 
								
							
								 
							
						 
						
							
							
								
								Fed server: use a linearizer for ongoing transactions  
							
							... 
							
							
							
							We don't want to process the same transaction multiple times concurrently, so
use a linearizer. 
							
						 
						
							2017-10-09 18:30:10 +01:00  
				
					
						
							
							
								 
						
							
							
								ba5b9b80a5 
								
							
								 
							
						 
						
							
							
								
								fed server: refactor on_incoming_transaction  
							
							... 
							
							
							
							Move as much as possible to after the have_responded check, and reduce the
number of times we iterate over the pdu list. 
							
						 
						
							2017-10-09 18:10:53 +01:00  
				
					
						
							
							
								 
						
							
							
								a6e3222fe5 
								
							
								 
							
						 
						
							
							
								
								Fed server: Move origin-check code to _handle_received_pdu  
							
							... 
							
							
							
							The response-building code expects there to be an entry in the `results` list
for each entry in the pdu_list, so the early `continue` was messing this
up. That doesn't really matter, because all that the federation client does is
log any errors, but it's pretty poor form. 
							
						 
						
							2017-10-09 17:53:32 +01:00  
				
					
						
							
							
								 
						
							
							
								de042b3b88 
								
							
								 
							
						 
						
							
							
								
								Do some logging when one-time-keys get claimed  
							
							... 
							
							
							
							might help us figure out if https://github.com/vector-im/riot-web/issues/3868 
has happened. 
							
						 
						
							2017-05-09 19:04:56 +01:00  
				
					
						
							
							
								 
						
							
							
								30bcbf775a 
								
							
								 
							
						 
						
							
							
								
								Accept join events from all servers  
							
							... 
							
							
							
							Make sure that we accept join events from any server, rather than just the
origin server, to make the federation join dance work correctly.
(Fixes  #1893 ). 
							
						 
						
							2017-04-03 15:58:07 +01:00  
				
					
						
							
							
								 
						
							
							
								29235901b8 
								
							
								 
							
						 
						
							
							
								
								Move FederationServer._handle_new_pdu to FederationHandler  
							
							... 
							
							
							
							Unfortunately this significantly increases the size of the already-rather-big
FederationHandler, but the code fits more naturally here, and it paves the way
for the tighter integration that I need between handling incoming PDUs and
doing the join dance.
Other than renaming the existing `FederationHandler.on_receive_pdu` to
`_process_received_pdu` to make way for it, this just consists of the move, and
replacing `self.handler` with `self` and `self` with `self.replication_layer`. 
							
						 
						
							2017-03-09 16:20:13 +00:00  
				
					
						
							
							
								 
						
							
							
								e8b1721290 
								
							
								 
							
						 
						
							
							
								
								Move sig check out of _handle_new_pdu  
							
							... 
							
							
							
							When we receive PDUs via `get_missing_events`, we have already checked their
sigs, so there is no need to do it again. 
							
						 
						
							2017-03-09 15:50:44 +00:00  
				
					
						
							
							
								 
						
							
							
								3406333a58 
								
							
								 
							
						 
						
							
							
								
								Factor _get_missing_events_for_pdu out of _handle_new_pdu  
							
							... 
							
							
							
							This should be functionally identical: it just seeks to improve readability by
reducing indentation. 
							
						 
						
							2017-03-09 15:50:44 +00:00  
				
					
						
							
							
								 
						
							
							
								c974116f19 
								
							
								 
							
						 
						
							
							
								
								Implement device key caching over federation  
							
							
							
						 
						
							2017-01-26 16:07:24 +00:00  
				
					
						
							
							
								 
						
							
							
								f7085ac84f 
								
							
								 
							
						 
						
							
							
								
								Name linearizer's for better logs  
							
							
							
						 
						
							2017-01-09 17:17:10 +00:00  
				
					
						
							
							
								 
						
							
							
								4304e7e593 
								
							
								 
							
						 
						
							
							
								
								do the discard check in the right place to avoid grabbing dependent events  
							
							
							
						 
						
							2017-01-07 03:44:18 +00:00  
				
					
						
							
							
								 
						
							
							
								e10c527930 
								
							
								 
							
						 
						
							
							
								
								Discard PDUs from invalid origins due to  #1753  in 0.18.[56]  
							
							
							
						 
						
							2017-01-07 02:13:14 +00:00  
				
					
						
							
							
								 
						
							
							
								468749c9fc 
								
							
								 
							
						 
						
							
							
								
								fix comment  
							
							
							
						 
						
							2017-01-05 12:00:11 +00:00  
				
					
						
							
							
								 
						
							
							
								eedf400d05 
								
							
								 
							
						 
						
							
							
								
								limit total timeout for get_missing_events to 10s  
							
							
							
						 
						
							2017-01-05 11:58:15 +00:00  
				
					
						
							
							
								 
						
							
							
								62ce3034f3 
								
							
								 
							
						 
						
							
							
								
								s/aquire/acquire/g  
							
							
							
						 
						
							2016-12-30 20:04:44 +00:00  
				
					
						
							
							
								 
						
							
							
								0aff09f6c9 
								
							
								 
							
						 
						
							
							
								
								Add more useful logging when we block fetching events  
							
							
							
						 
						
							2016-12-30 20:00:44 +00:00  
				
					
						
							
							
								 
						
							
							
								d4a35ada28 
								
							
								 
							
						 
						
							
							
								
								Send device messages over federation  
							
							
							
						 
						
							2016-09-06 18:16:20 +01:00  
				
					
						
							
							
								 
						
							
							
								2854ee2a52 
								
							
								 
							
						 
						
							
							
								
								Only pull out IDs from DB for /state_ids/ request  
							
							
							
						 
						
							2016-09-02 10:53:36 +01:00  
				
					
						
							
							
								 
						
							
							
								b4e2290d89 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'develop' of github.com:matrix-org/synapse into erikj/state_ids_api  
							
							
							
						 
						
							2016-08-04 14:04:35 +01:00  
				
					
						
							
							
								 
						
							
							
								edb33eb163 
								
							
								 
							
						 
						
							
							
								
								Rename fields to _ids  
							
							
							
						 
						
							2016-08-03 17:19:15 +01:00  
				
					
						
							
							
								 
						
							
							
								bcc9cda8ca 
								
							
								 
							
						 
						
							
							
								
								Fix copy + paste fails  
							
							
							
						 
						
							2016-08-03 17:17:26 +01:00  
				
					
						
							
							
								 
						
							
							
								e3a720217a 
								
							
								 
							
						 
						
							
							
								
								Add /state_ids federation API  
							
							... 
							
							
							
							The new API only returns the event_ids for the state, as most
requesters will already have the vast majority of the events already. 
							
						 
						
							2016-08-03 14:47:37 +01:00  
				
					
						
							
							
								 
						
							
							
								921f17f938 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'develop' into rav/refactor_device_query  
							
							
							
						 
						
							2016-08-03 11:12:47 +01:00  
				
					
						
							
							
								 
						
							
							
								1efee2f52b 
								
							
								 
							
						 
						
							
							
								
								E2E keys: Make federation query share code with client query  
							
							... 
							
							
							
							Refactor the e2e query handler to separate out the local query, and then make
the federation handler use it. 
							
						 
						
							2016-08-02 18:12:00 +01:00  
				
					
						
							
							
								 
						
							
							
								c9154b970c 
								
							
								 
							
						 
						
							
							
								
								Don't double wrap 200  
							
							
							
						 
						
							2016-08-02 16:45:53 +01:00  
				
					
						
							
							
								 
						
							
							
								b3d5c4ad9d 
								
							
								 
							
						 
						
							
							
								
								Fix response cache  
							
							
							
						 
						
							2016-08-02 16:42:21 +01:00  
				
					
						
							
							
								 
						
							
							
								248e6770ca 
								
							
								 
							
						 
						
							
							
								
								Cache federation state responses  
							
							
							
						 
						
							2016-07-21 10:30:12 +01:00  
				
					
						
							
							
								 
						
							
							
								8f4a9bbc16 
								
							
								 
							
						 
						
							
							
								
								Linearize some federation endpoints based on (origin, room_id)  
							
							
							
						 
						
							2016-06-17 16:43:45 +01:00  
				
					
						
							
							
								 
						
							
							
								2884712ca7 
								
							
								 
							
						 
						
							
							
								
								Only re-sign our own events  
							
							
							
						 
						
							2016-06-17 14:47:33 +01:00  
				
					
						
							
							
								 
						
							
							
								d41a1a91d3 
								
							
								 
							
						 
						
							
							
								
								Linearize fetching of gaps on incoming events  
							
							... 
							
							
							
							This potentially stops the server from doing multiple requests for the
same data. 
							
						 
						
							2016-06-15 15:16:14 +01:00  
				
					
						
							
							
								 
						
							
							
								17aab5827a 
								
							
								 
							
						 
						
							
							
								
								Add some logging for when servers ask for missing events  
							
							
							
						 
						
							2016-06-08 11:55:31 +01:00  
				
					
						
							
							
								 
						
							
							
								9c272da05f 
								
							
								 
							
						 
						
							
							
								
								Add an openidish mechanism for proving to third parties that you own a given user_id  
							
							
							
						 
						
							2016-05-05 13:42:44 +01:00  
				
					
						
							
							
								 
						
							
							
								5244c0b48e 
								
							
								 
							
						 
						
							
							
								
								Remove unused backfilled parameter from persist_event  
							
							
							
						 
						
							2016-03-21 18:06:08 +00:00  
				
					
						
							
							
								 
						
							
							
								9adf0e92bc 
								
							
								 
							
						 
						
							
							
								
								Catch exceptions from EDU handling  
							
							
							
						 
						
							2016-03-18 15:12:50 +00:00  
				
					
						
							
							
								 
						
							
							
								3c5f25507b 
								
							
								 
							
						 
						
							
							
								
								Yield on EDU handling  
							
							
							
						 
						
							2016-03-18 13:55:16 +00:00  
				
					
						
							
							
								 
						
							
							
								577951b032 
								
							
								 
							
						 
						
							
							
								
								Allow third_party_signed to be specified on /join  
							
							
							
						 
						
							2016-02-23 15:11:25 +00:00  
				
					
						
							
							
								 
						
							
							
								2c1fbea531 
								
							
								 
							
						 
						
							
							
								
								Fix up logcontexts  
							
							
							
						 
						
							2016-02-08 14:26:45 +00:00