54ae52ba96 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #6349  from matrix-org/babolivier/msc1802  
							
							... 
							
							
							
							Implement v2 APIs for send_join and send_leave 
							
						 
						
							2019-12-11 11:41:47 +00:00  
				
					
						
							
							
								 
						
							
							
								f8bc2ae883 
								
									
								
							
								 
							
						 
						
							
							
								
								Move get_state methods into FederationHandler ( #6503 )  
							
							... 
							
							
							
							This is a non-functional refactor as a precursor to some other work. 
							
						 
						
							2019-12-10 17:42:46 +00:00  
				
					
						
							
							
								 
						
							
							
								c3dda2874d 
								
									
								
							
								 
							
						 
						
							
							
								
								Refactor get_events_from_store_or_dest to return a dict ( #6501 )  
							
							... 
							
							
							
							There was a bunch of unnecessary conversion back and forth between dict and
list going on here. We can simplify a bunch of the code. 
							
						 
						
							2019-12-10 16:22:00 +00:00  
				
					
						
							
							
								 
						
							
							
								e519489fc4 
								
									
								
							
								 
							
						 
						
							
							
								
								Remove fallback for missing /federation/v1/state_ids API ( #6488 )  
							
							... 
							
							
							
							This API was added way back in 0.17.0; the code here is annoying to maintain
and entirely redundant. 
							
						 
						
							2019-12-09 11:37:26 +00:00  
				
					
						
							
							
								 
						
							
							
								e126d83f74 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'develop' into babolivier/msc1802  
							
							
							
						 
						
							2019-12-05 21:00:43 +00:00  
				
					
						
							
							
								 
						
							
							
								bc29a19731 
								
							
								 
							
						 
						
							
							
								
								Replace instance variations of homeserver with correct case/spacing  
							
							
							
						 
						
							2019-11-12 13:08:12 +00:00  
				
					
						
							
							
								 
						
							
							
								94cdd6fffe 
								
									
								
							
								 
							
						 
						
							
							
								
								Lint  
							
							
							
						 
						
							2019-11-11 16:56:55 +00:00  
				
					
						
							
							
								 
						
							
							
								1e202a90f1 
								
									
								
							
								 
							
						 
						
							
							
								
								Implement v2 API for send_leave  
							
							
							
						 
						
							2019-11-11 16:26:53 +00:00  
				
					
						
							
							
								 
						
							
							
								92527d7b21 
								
									
								
							
								 
							
						 
						
							
							
								
								Add missing yield  
							
							
							
						 
						
							2019-11-11 16:20:53 +00:00  
				
					
						
							
							
								 
						
							
							
								4c131b2c78 
								
									
								
							
								 
							
						 
						
							
							
								
								Implement v2 API for send_join  
							
							
							
						 
						
							2019-11-11 15:47:47 +00:00  
				
					
						
							
							
								 
						
							
							
								ace947e8da 
								
									
								
							
								 
							
						 
						
							
							
								
								Depublish a room from the public rooms list when it is upgraded ( #6232 )  
							
							
							
						 
						
							2019-11-01 10:28:09 +00:00  
				
					
						
							
							
								 
						
							
							
								54fef094b3 
								
									
								
							
								 
							
						 
						
							
							
								
								Remove usage of deprecated logger.warn method from codebase ( #6271 )  
							
							... 
							
							
							
							Replace every instance of `logger.warn` with `logger.warning` as the former is deprecated. 
							
						 
						
							2019-10-31 10:23:24 +00:00  
				
					
						
							
							
								 
						
							
							
								9eebc1e73b 
								
							
								 
							
						 
						
							
							
								
								use %r to __repr__ objects  
							
							... 
							
							
							
							This avoids calculating __repr__ unless we are going to log. 
							
						 
						
							2019-10-24 18:18:56 +01:00  
				
					
						
							
							
								 
						
							
							
								1ba359a11f 
								
							
								 
							
						 
						
							
							
								
								rip out some unreachable code  
							
							... 
							
							
							
							The only possible rejection reason is AUTH_ERROR, so all of this is unreachable. 
							
						 
						
							2019-10-17 21:45:59 +01:00  
				
					
						
							
							
								 
						
							
							
								4548d1f87e 
								
									
								
							
								 
							
						 
						
							
							
								
								Remove unnecessary parentheses around return statements  ( #5931 )  
							
							... 
							
							
							
							Python will return a tuple whether there are parentheses around the returned values or not.
I'm just sick of my editor complaining about this all over the place :) 
							
						 
						
							2019-08-30 16:28:26 +01:00  
				
					
						
							
							
								 
						
							
							
								a8f40a8302 
								
							
								 
							
						 
						
							
							
								
								Return 502 not 500 when failing to reach any remote server.  
							
							
							
						 
						
							2019-08-01 13:47:31 +01:00  
				
					
						
							
							
								 
						
							
							
								865077f1d1 
								
									
								
							
								 
							
						 
						
							
							
								
								Room Complexity Client Implementation ( #5783 )  
							
							
							
						 
						
							2019-07-30 02:47:27 +10:00  
				
					
						
							
							
								 
						
							
							
								4806651744 
								
									
								
							
								 
							
						 
						
							
							
								
								Replace returnValue with return ( #5736 )  
							
							
							
						 
						
							2019-07-23 23:00:55 +10:00  
				
					
						
							
							
								 
						
							
							
								463b072b12 
								
									
								
							
								 
							
						 
						
							
							
								
								Move logging utilities out of the side drawer of util/ and into logging/ ( #5606 )  
							
							
							
						 
						
							2019-07-04 00:07:04 +10:00  
				
					
						
							
							
								 
						
							
							
								32e7c9e7f2 
								
									
								
							
								 
							
						 
						
							
							
								
								Run Black. ( #5482 )  
							
							
							
						 
						
							2019-06-20 19:32:02 +10:00  
				
					
						
							
							
								 
						
							
							
								2615c6bd9e 
								
									
								
							
								 
							
						 
						
							
							
								
								Clean up debug logging ( #5347 )  
							
							... 
							
							
							
							Remove some spurious stuff, clarify some other stuff 
							
						 
						
							2019-06-05 10:35:40 +01:00  
				
					
						
							
							
								 
						
							
							
								dae224a73f 
								
									
								
							
								 
							
						 
						
							
							
								
								Fix failure to fetch batches of PDUs ( #5342 )  
							
							... 
							
							
							
							FederationClient.get_pdu is called in a loop to fetch a batch of PDUs. A
failure to fetch one should not result in a failure of the whole batch. Add the
missing `continue`. 
							
						 
						
							2019-06-04 18:05:06 +01:00  
				
					
						
							
							
								 
						
							
							
								b4189b112f 
								
									
								
							
								 
							
						 
						
							
							
								
								Rename get_events->get_events_from_store_or_dest ( #5344 )  
							
							... 
							
							
							
							We have too many things called get_event, and it's hard to figure out what we
mean. Also remove some unused params from the signature, and add some logging. 
							
						 
						
							2019-06-04 18:01:09 +01:00  
				
					
						
							
							
								 
						
							
							
								54a87a7b08 
								
									
								
							
								 
							
						 
						
							
							
								
								Collect room-version variations into one place ( #4969 )  
							
							... 
							
							
							
							Collect all the things that make room-versions different to one another into
one place, so that it's easier to define new room versions. 
							
						 
						
							2019-04-01 10:24:38 +01:00  
				
					
						
							
							
								 
						
							
							
								59e0112209 
								
							
								 
							
						 
						
							
							
								
								MSC 1866 - Use M_UNSUPPORTED_ROOM_VERSION for invite API  
							
							
							
						 
						
							2019-02-23 14:50:43 +00:00  
				
					
						
							
							
								 
						
							
							
								840068bd78 
								
							
								 
							
						 
						
							
							
								
								Only check event ID domain for signatures for V1 events  
							
							... 
							
							
							
							In future version events won't have an event ID, so we won't be able to
do this check. 
							
						 
						
							2019-01-29 18:02:02 +00:00  
				
					
						
							
							
								 
						
							
							
								b8d75ef53e 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #4481  from matrix-org/erikj/event_builder  
							
							... 
							
							
							
							Refactor event building into EventBuilder 
							
						 
						
							2019-01-29 14:07:23 +00:00  
				
					
						
							
							
								 
						
							
							
								be47cfa9c9 
								
							
								 
							
						 
						
							
							
								
								Refactor event building into EventBuilder  
							
							... 
							
							
							
							This is so that everything is done in one place, making it easier to
change the event format based on room version 
							
						 
						
							2019-01-29 11:13:00 +00:00  
				
					
						
							
							
								 
						
							
							
								d414f30019 
								
							
								 
							
						 
						
							
							
								
								Implement fallback for V2 invite API  
							
							... 
							
							
							
							If the room version is either 1 or 2 then a server should retry failed
`/v2/invite` requests with the v1 API 
							
						 
						
							2019-01-28 17:33:25 +00:00  
				
					
						
							
							
								 
						
							
							
								a50cf929c1 
								
							
								 
							
						 
						
							
							
								
								Require event format version to parse or create events  
							
							
							
						 
						
							2019-01-25 10:32:19 +00:00  
				
					
						
							
							
								 
						
							
							
								62514bb81b 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'develop' of github.com:matrix-org/synapse into erikj/msc_1813  
							
							
							
						 
						
							2019-01-25 10:07:08 +00:00  
				
					
						
							
							
								 
						
							
							
								edc1e21dbe 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #4448  from matrix-org/erikj/get_pdu_versions  
							
							... 
							
							
							
							Add room_version param to get_pdu 
							
						 
						
							2019-01-24 18:47:15 +00:00  
				
					
						
							
							
								 
						
							
							
								d148c43050 
								
							
								 
							
						 
						
							
							
								
								Review comments  
							
							
							
						 
						
							2019-01-24 18:31:23 +00:00  
				
					
						
							
							
								 
						
							
							
								26f44164c8 
								
							
								 
							
						 
						
							
							
								
								Review comments  
							
							
							
						 
						
							2019-01-24 18:28:00 +00:00  
				
					
						
							
							
								 
						
							
							
								5ee1f997a8 
								
							
								 
							
						 
						
							
							
								
								Update make_membership_event docs  
							
							
							
						 
						
							2019-01-24 18:08:08 +00:00  
				
					
						
							
							
								 
						
							
							
								07f62da55a 
								
							
								 
							
						 
						
							
							
								
								Remove unnecessary '_sign_event'  
							
							
							
						 
						
							2019-01-23 20:04:57 +00:00  
				
					
						
							
							
								 
						
							
							
								886e5acc76 
								
							
								 
							
						 
						
							
							
								
								Store rejected remote invite events as outliers  
							
							... 
							
							
							
							Currently they're stored as non-outliers even though the server isn't in
the room, which can be problematic in places where the code assumes it
has the state for all non outlier events.
In particular, there is an edge case where persisting the leave event
triggers a state resolution, which requires looking up the room version
from state. Since the server doesn't have the state, this causes an
exception to be thrown. 
							
						 
						
							2019-01-23 20:04:57 +00:00  
				
					
						
							
							
								 
						
							
							
								6a41d2a187 
								
							
								 
							
						 
						
							
							
								
								Add room_version param to get_pdu  
							
							... 
							
							
							
							When we add new event format we'll need to know the event format or room
version when parsing events. 
							
						 
						
							2019-01-23 17:19:58 +00:00  
				
					
						
							
							
								 
						
							
							
								67cd4dad81 
								
							
								 
							
						 
						
							
							
								
								Implement MSC 1813 - Add room version to make APIs  
							
							... 
							
							
							
							We also implement `make_membership_event` converting the returned
room version to an event format version. 
							
						 
						
							2019-01-23 16:51:46 +00:00  
				
					
						
							
							
								 
						
							
							
								28223841e0 
								
							
								 
							
						 
						
							
							
								
								more comments  
							
							
							
						 
						
							2018-09-27 11:31:51 +01:00  
				
					
						
							
							
								 
						
							
							
								607eec0456 
								
							
								 
							
						 
						
							
							
								
								fix docstring for FederationClient.get_state_for_room  
							
							... 
							
							
							
							trivial fixes for docstring 
							
						 
						
							2018-09-26 16:52:24 +01:00  
				
					
						
							
							
								 
						
							
							
								8601c24287 
								
							
								 
							
						 
						
							
							
								
								Fix some instances of ExpiringCache not expiring cache items  
							
							... 
							
							
							
							ExpiringCache required that `start()` be called before it would actually
start expiring entries. A number of places didn't do that.
This PR removes `start` from ExpiringCache, and automatically starts
backround reaping process on creation instead. 
							
						 
						
							2018-09-21 14:19:46 +01:00  
				
					
						
							
							
								 
						
							
							
								7ca097f77e 
								
									
								
							
								 
							
						 
						
							
							
								
								Port federation/ to py3 ( #3847 )  
							
							
							
						 
						
							2018-09-12 23:23:32 +10:00  
				
					
						
							
							
								 
						
							
							
								19a17068f1 
								
							
								 
							
						 
						
							
							
								
								Check m.room.create for sane room_versions  
							
							
							
						 
						
							2018-08-06 16:11:24 +01:00  
				
					
						
							
							
								 
						
							
							
								f900d50824 
								
							
								 
							
						 
						
							
							
								
								include known room versions in outgoing make_joins  
							
							
							
						 
						
							2018-08-06 13:45:37 +01:00  
				
					
						
							
							
								 
						
							
							
								3777fa26aa 
								
							
								 
							
						 
						
							
							
								
								sanity check response from make_join  
							
							
							
						 
						
							2018-08-03 16:08:32 +01:00  
				
					
						
							
							
								 
						
							
							
								018d75a148 
								
							
								 
							
						 
						
							
							
								
								Refactor code for turning HttpResponseException into SynapseError  
							
							... 
							
							
							
							This commit replaces SynapseError.from_http_response_exception with
HttpResponseException.to_synapse_error.
The new method actually returns a ProxiedRequestError, which allows us to pass
through additional metadata from the API call. 
							
						 
						
							2018-08-01 16:02:46 +01:00  
				
					
						
							
							
								 
						
							
							
								fa7dc889f1 
								
							
								 
							
						 
						
							
							
								
								Be more careful which errors we send back over the C-S API  
							
							... 
							
							
							
							We really shouldn't be sending all CodeMessageExceptions back over the C-S API;
it will include things like 401s which we shouldn't proxy.
That means that we need to explicitly turn a few HttpResponseExceptions into
SynapseErrors in the federation layer.
The effect of the latter is that the matrix errcode will get passed through
correctly to calling clients, which might help with some of the random
M_UNKNOWN errors when trying to join rooms. 
							
						 
						
							2018-08-01 16:02:38 +01:00  
				
					
						
							
							
								 
						
							
							
								c82ccd3027 
								
							
								 
							
						 
						
							
							
								
								Factor out exception handling in federation_client  
							
							... 
							
							
							
							Factor out the error handling from make_membership_event, send_join, and
send_leave, so that it can be shared. 
							
						 
						
							2018-08-01 16:01:04 +01:00  
				
					
						
							
							
								 
						
							
							
								49af402019 
								
							
								 
							
						 
						
							
							
								
								run isort  
							
							
							
						 
						
							2018-07-09 16:09:20 +10:00