1dec31560e 
								
							
								 
							
						 
						
							
							
								
								Change jitter to be a factor rather than absolute value  
							
							
							
						 
						
							2019-08-20 11:46:00 +01:00  
				
					
						
							
							
								 
						
							
							
								861d663c15 
								
							
								 
							
						 
						
							
							
								
								Fixup changelog and remove debug logging  
							
							
							
						 
						
							2019-08-16 13:15:26 +01:00  
				
					
						
							
							
								 
						
							
							
								e6e136decc 
								
							
								 
							
						 
						
							
							
								
								Retry well known on fail.  
							
							... 
							
							
							
							If we have recently seen a valid well-known for a domain we want to
retry on (non-final) errors a few times, to handle temporary blips in
networking/etc. 
							
						 
						
							2019-08-15 09:28:58 +01:00  
				
					
						
							
							
								 
						
							
							
								17e1e80726 
								
							
								 
							
						 
						
							
							
								
								Retry well-known lookup before expiry.  
							
							... 
							
							
							
							This gives a bit of a grace period where we can attempt to refetch a
remote `well-known`, while still using the cached result if that fails.
Hopefully this will make the well-known resolution a bit more torelant
of failures, rather than it immediately treating failures as "no result"
and caching that for an hour. 
							
						 
						
							2019-08-13 16:20:38 +01:00  
				
					
						
							
							
								 
						
							
							
								f218705d2a 
								
							
								 
							
						 
						
							
							
								
								Make default well known cache global again.  
							
							
							
						 
						
							2019-08-13 10:06:51 +01:00  
				
					
						
							
							
								 
						
							
							
								107ad133fc 
								
							
								 
							
						 
						
							
							
								
								Move well known lookup into a separate clas  
							
							
							
						 
						
							2019-08-07 15:36:38 +01:00  
				
					
						
							
							
								 
						
							
							
								af9f1c0764 
								
							
								 
							
						 
						
							
							
								
								Add a lower bound for TTL on well known results.  
							
							... 
							
							
							
							It costs both us and the remote server for us to fetch the well known
for every single request we send, so we add a minimum cache period. This
is set to 5m so that we still honour the basic premise of "refetch
frequently". 
							
						 
						
							2019-08-06 17:01:23 +01:00  
				
					
						
							
							
								 
						
							
							
								a9bcae9f50 
								
							
								 
							
						 
						
							
							
								
								Share SSL options for well-known requests  
							
							
							
						 
						
							2019-07-31 10:39:24 +01: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  
				
					
						
							
							
								 
						
							
							
								6824ddd93d 
								
							
								 
							
						 
						
							
							
								
								Config option for verifying federation certificates (MSC 1711) ( #4967 )  
							
							
							
						 
						
							2019-04-25 14:22:49 +01:00  
				
					
						
							
							
								 
						
							
							
								ac61b45a75 
								
							
								 
							
						 
						
							
							
								
								Minor docstring fixes for MatrixFederationAgent ( #4765 )  
							
							
							
						 
						
							2019-02-28 16:24:01 +00:00  
				
					
						
							
							
								 
						
							
							
								fa794980ec 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #4544  from matrix-org/rav/skip_invalid_well_known  
							
							... 
							
							
							
							Treat an invalid .well-known the same as an absent one 
							
						 
						
							2019-02-01 13:18:36 +00:00  
				
					
						
							
							
								 
						
							
							
								e9779a6f8f 
								
							
								 
							
						 
						
							
							
								
								Fix b'ab' noise in logs  
							
							
							
						 
						
							2019-02-01 12:34:31 +00:00  
				
					
						
							
							
								 
						
							
							
								8a21b03fba 
								
							
								 
							
						 
						
							
							
								
								Treat an invalid .well-known the same as an absent one  
							
							... 
							
							
							
							... basically, carry on and fall back to SRV etc. 
							
						 
						
							2019-02-01 11:37:31 +00:00  
				
					
						
							
							
								 
						
							
							
								3c8a41140e 
								
							
								 
							
						 
						
							
							
								
								Cache failures to parse .well-known  
							
							... 
							
							
							
							Also add a Measure block around the .well-known fetch 
							
						 
						
							2019-02-01 00:37:52 +00:00  
				
					
						
							
							
								 
						
							
							
								24d59c7568 
								
							
								 
							
						 
						
							
							
								
								better logging for federation connections  
							
							
							
						 
						
							2019-01-31 23:18:20 +00:00  
				
					
						
							
							
								 
						
							
							
								d428b46346 
								
							
								 
							
						 
						
							
							
								
								Update federation routing logic to check .well-known before SRV  
							
							
							
						 
						
							2019-01-31 23:14:18 +00:00  
				
					
						
							
							
								 
						
							
							
								a79034aedf 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #4521  from matrix-org/rav/fed_routing/cleanups  
							
							... 
							
							
							
							Tiny .well-known fixes 
							
						 
						
							2019-01-30 11:47:24 +00:00  
				
					
						
							
							
								 
						
							
							
								c7b24ac3d0 
								
									
								
							
								 
							
						 
						
							
							
								
								Follow redirects on .well-known ( #4520 )  
							
							
							
						 
						
							2019-01-30 11:43:33 +00:00  
				
					
						
							
							
								 
						
							
							
								09a1a6b55e 
								
							
								 
							
						 
						
							
							
								
								fix exception text  
							
							
							
						 
						
							2019-01-30 10:58:52 +00:00  
				
					
						
							
							
								 
						
							
							
								928c50b59a 
								
							
								 
							
						 
						
							
							
								
								Also jitter the invalid cache period  
							
							
							
						 
						
							2019-01-30 10:58:52 +00:00  
				
					
						
							
							
								 
						
							
							
								bc5f6e1797 
								
									
								
							
								 
							
						 
						
							
							
								
								Add a caching layer to .well-known responses ( #4516 )  
							
							
							
						 
						
							2019-01-30 10:55:25 +00:00  
				
					
						
							
							
								 
						
							
							
								cc2d650ef7 
								
									
								
							
								 
							
						 
						
							
							
								
								Relax requirement for a content-type on .well-known ( #4511 )  
							
							
							
						 
						
							2019-01-29 16:49:17 +00:00  
				
					
						
							
							
								 
						
							
							
								99e36d5e24 
								
									
								
							
								 
							
						 
						
							
							
								
								Implement MSC1708 (.well-known lookups for server routing) ( #4489 )  
							
							
							
						 
						
							2019-01-29 13:53:02 +00:00  
				
					
						
							
							
								 
						
							
							
								3bd0f1a4a3 
								
							
								 
							
						 
						
							
							
								
								docstrings for _RoutingResult  
							
							
							
						 
						
							2019-01-28 12:43:09 +00:00  
				
					
						
							
							
								 
						
							
							
								0fd5b3b53e 
								
							
								 
							
						 
						
							
							
								
								Handle IP literals explicitly  
							
							... 
							
							
							
							We don't want to be doing .well-known lookups on these guys. 
							
						 
						
							2019-01-28 10:34:30 +00:00  
				
					
						
							
							
								 
						
							
							
								51958df766 
								
							
								 
							
						 
						
							
							
								
								MatrixFederationAgent: factor out routing logic  
							
							... 
							
							
							
							This is going to get too big and unmanageable. 
							
						 
						
							2019-01-28 10:34:30 +00:00  
				
					
						
							
							
								 
						
							
							
								d840019192 
								
									
								
							
								 
							
						 
						
							
							
								
								Fix idna and ipv6 literal handling in MatrixFederationAgent ( #4487 )  
							
							... 
							
							
							
							Turns out that the library does a better job of parsing URIs than our
reinvented wheel. Who knew.
There are two things going on here. The first is that, unlike
parse_server_name, URI.fromBytes will strip off square brackets from IPv6
literals, which means that it is valid input to ClientTLSOptionsFactory and
HostnameEndpoint.
The second is that we stay in `bytes` throughout (except for the argument to
ClientTLSOptionsFactory), which avoids the weirdness of (sometimes) ending up
with idna-encoded values being held in `unicode` variables. TBH it probably
would have been ok but it made the tests fragile. 
							
						 
						
							2019-01-28 09:56:59 +00:00  
				
					
						
							
							
								 
						
							
							
								8520bc3109 
								
									
								
							
								 
							
						 
						
							
							
								
								Fix Host header sent by MatrixFederationAgent ( #4468 )  
							
							... 
							
							
							
							Move the Host header logic down here so that (a) it is used if we reuse the
agent elsewhere, and (b) we can mess about with it with .well-known. 
							
						 
						
							2019-01-25 12:38:16 +00:00  
				
					
						
							
							
								 
						
							
							
								afd69a0920 
								
							
								 
							
						 
						
							
							
								
								Look up the right SRV record  
							
							
							
						 
						
							2019-01-24 13:31:43 +00:00  
				
					
						
							
							
								 
						
							
							
								7021784d46 
								
							
								 
							
						 
						
							
							
								
								put resolve_service in an object  
							
							... 
							
							
							
							this makes it easier to stub things out for tests. 
							
						 
						
							2019-01-22 20:35:12 +00:00  
				
					
						
							
							
								 
						
							
							
								53a327b4d5 
								
							
								 
							
						 
						
							
							
								
								Require that service_name be a byte string  
							
							... 
							
							
							
							it is only ever a bytes now, so let's enforce that. 
							
						 
						
							2019-01-22 20:35:12 +00:00  
				
					
						
							
							
								 
						
							
							
								fe212bbe4a 
								
							
								 
							
						 
						
							
							
								
								Kill off matrix_federation_endpoint  
							
							... 
							
							
							
							this thing is now redundant. 
							
						 
						
							2019-01-22 20:34:35 +00:00  
				
					
						
							
							
								 
						
							
							
								44be7513bf 
								
							
								 
							
						 
						
							
							
								
								MatrixFederationAgent  
							
							... 
							
							
							
							Pull the magic that is currently in matrix_federation_endpoint and friends into
an agent-like thing 
							
						 
						
							2019-01-22 20:34:35 +00:00  
				
					
						
							
							
								 
						
							
							
								33a55289cb 
								
									
								
							
								 
							
						 
						
							
							
								
								Refactor and bugfix for resove_service ( #4427 )  
							
							
							
						 
						
							2019-01-22 10:59:27 +00:00