1cb84c6486 
								
									
								
							
								 
							
						 
						
							
							
								
								Support for routing outbound HTTP requests via a proxy ( #6239 )  
							
							... 
							
							
							
							The `http_proxy` and `HTTPS_PROXY` env vars can be set to a `host[:port]` value which should point to a proxy.
The address of the proxy should be excluded from IP blacklists such as the `url_preview_ip_range_blacklist`.
The proxy will then be used for
 * push
 * url previews
 * phone-home stats
 * recaptcha validation
 * CAS auth validation
It will *not* be used for:
 * Application Services
 * Identity servers
 * Outbound federation
 * In worker configurations, connections from workers to masters
Fixes  #4198 . 
							
						 
						
							2019-11-01 14:07:44 +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  
				
					
						
							
							
								 
						
							
							
								f3451118a6 
								
									
								
							
								 
							
						 
						
							
							
								
								Edit SimpleHttpClient to reference that header keys can be passed as str or bytes ( #6077 )  
							
							
							
						 
						
							2019-09-27 17:59:18 +01:00  
				
					
						
							
							
								 
						
							
							
								f7c873a643 
								
									
								
							
								 
							
						 
						
							
							
								
								Trace how long it takes for the send trasaction to complete, including retrys ( #5986 )  
							
							
							
						 
						
							2019-09-05 17:44:55 +01:00  
				
					
						
							
							
								 
						
							
							
								36f34e6f3d 
								
									
								
							
								 
							
						 
						
							
							
								
								Remove unused methods from c/s api v1 in register.py ( #5963 )  
							
							... 
							
							
							
							These methods were part of the v1 C/S API. Remove them as they are no longer used by any code paths. 
							
						 
						
							2019-09-02 18:29:21 +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  
				
					
						
							
							
								 
						
							
							
								95d38afe96 
								
							
								 
							
						 
						
							
							
								
								Don't log exception when failing to fetch remote content.  
							
							... 
							
							
							
							In particular, let's not log stack traces when we stop processing
becuase the response body was too large. 
							
						 
						
							2019-06-07 12:39:10 +01:00  
				
					
						
							
							
								 
						
							
							
								5a4b328f52 
								
							
								 
							
						 
						
							
							
								
								Add ability to blacklist ip ranges for federation traffic ( #5043 )  
							
							
							
						 
						
							2019-05-13 19:05:06 +01:00  
				
					
						
							
							
								 
						
							
							
								2f48c4e1ae 
								
									
								
							
								 
							
						 
						
							
							
								
								URL preview blacklisting fixes ( #5155 )  
							
							... 
							
							
							
							Prevents a SynapseError being raised inside of a IResolutionReceiver and instead opts to just return 0 results. This thus means that we have to lump a failed lookup and a blacklisted lookup together with the same error message, but the substitute should be generic enough to cover both cases. 
							
						 
						
							2019-05-10 10:32:44 -07:00  
				
					
						
							
							
								 
						
							
							
								c88bc53903 
								
									
								
							
								 
							
						 
						
							
							
								
								Fix TaskStopped exceptions when outbound requests time out ( #4690 )  
							
							
							
						 
						
							2019-02-20 11:35:52 +00:00  
				
					
						
							
							
								 
						
							
							
								f4697b5ec1 
								
									
								
							
								 
							
						 
						
							
							
								
								Fix UnboundLocalError in post_urlencoded_get_json ( #4460 )  
							
							... 
							
							
							
							This could cause exceptions if the id server returned 4xx responses. 
							
						 
						
							2019-01-24 13:38:29 +00:00  
				
					
						
							
							
								 
						
							
							
								ea6abf6724 
								
									
								
							
								 
							
						 
						
							
							
								
								Fix IP URL previews on Python 3 ( #4215 )  
							
							
							
						 
						
							2018-12-22 01:56:13 +11:00  
				
					
						
							
							
								 
						
							
							
								a334e1cace 
								
							
								 
							
						 
						
							
							
								
								Update to use new timeout function everywhere.  
							
							... 
							
							
							
							The existing deferred timeout helper function (and the one into twisted)
suffer from a bug when a deferred's canceller throws an exception, #3842 .
The new helper function doesn't suffer from this problem. 
							
						 
						
							2018-09-19 10:39:40 +01:00  
				
					
						
							
							
								 
						
							
							
								bc9af88a2d 
								
							
								 
							
						 
						
							
							
								
								fix  
							
							
							
						 
						
							2018-09-15 00:26:00 +10:00  
				
					
						
							
							
								 
						
							
							
								7c27c4d51c 
								
									
								
							
								 
							
						 
						
							
							
								
								merge ( #3576 )  
							
							
							
						 
						
							2018-09-14 03:11:11 +10:00  
				
					
						
							
							
								 
						
							
							
								2d2828dcbc 
								
									
								
							
								 
							
						 
						
							
							
								
								Port http/ to Python 3 ( #3771 )  
							
							
							
						 
						
							2018-09-06 00:10:47 +10:00  
				
					
						
							
							
								 
						
							
							
								b37c472419 
								
									
								
							
								 
							
						 
						
							
							
								
								Rename async to async_helpers because `async` is a keyword on Python 3.7 ( #3678 )  
							
							
							
						 
						
							2018-08-10 23:50:21 +10:00  
				
					
						
							
							
								 
						
							
							
								01e93f48ed 
								
							
								 
							
						 
						
							
							
								
								Kill off MatrixCodeMessageException  
							
							... 
							
							
							
							This code brings the SimpleHttpClient into line with the
MatrixFederationHttpClient by having it raise HttpResponseExceptions when a
request fails (rather than trying to parse for matrix errors and maybe raising
MatrixCodeMessageException).
Then, whenever we were checking for MatrixCodeMessageException and turning them
into SynapseErrors, we now need to check for HttpResponseExceptions and call
to_synapse_error. 
							
						 
						
							2018-08-01 16:02:46 +01:00  
				
					
						
							
							
								 
						
							
							
								a97c845271 
								
									
								
							
								 
							
						 
						
							
							
								
								Move v1-only APIs into their own module & isolate deprecated ones ( #3460 )  
							
							
							
						 
						
							2018-07-19 20:03:33 +10:00  
				
					
						
							
							
								 
						
							
							
								49af402019 
								
							
								 
							
						 
						
							
							
								
								run isort  
							
							
							
						 
						
							2018-07-09 16:09:20 +10:00  
				
					
						
							
							
								 
						
							
							
								6350bf925e 
								
									
								
							
								 
							
						 
						
							
							
								
								Attempt to be more performant on PyPy ( #3462 )  
							
							
							
						 
						
							2018-06-28 14:49:57 +01:00  
				
					
						
							
							
								 
						
							
							
								77ac14b960 
								
									
								
							
								 
							
						 
						
							
							
								
								Pass around the reactor explicitly ( #3385 )  
							
							
							
						 
						
							2018-06-22 09:37:10 +01:00  
				
					
						
							
							
								 
						
							
							
								330432031b 
								
									
								
							
								 
							
						 
						
							
							
								
								redact_uri in two missed log paths  
							
							
							
						 
						
							2018-06-06 10:25:48 +01:00  
				
					
						
							
							
								 
						
							
							
								e6cbf47773 
								
									
								
							
								 
							
						 
						
							
							
								
								factor out uri redaction into a method on http  
							
							
							
						 
						
							2018-06-05 18:31:40 +01:00  
				
					
						
							
							
								 
						
							
							
								09503126df 
								
									
								
							
								 
							
						 
						
							
							
								
								Strip `access_token` from outgoing requests using existing regex  
							
							
							
						 
						
							2018-06-02 23:25:13 +01:00  
				
					
						
							
							
								 
						
							
							
								53cc2cde1f 
								
							
								 
							
						 
						
							
							
								
								cleanup  
							
							
							
						 
						
							2018-05-22 17:32:57 -05:00  
				
					
						
							
							
								 
						
							
							
								df9f72d9e5 
								
							
								 
							
						 
						
							
							
								
								replacing portions  
							
							
							
						 
						
							2018-05-21 19:47:37 -05:00  
				
					
						
							
							
								 
						
							
							
								4f2f5171b7 
								
							
								 
							
						 
						
							
							
								
								replace stringIO imports  
							
							
							
						 
						
							2018-04-28 13:46:23 +02:00  
				
					
						
							
							
								 
						
							
							
								9d2c1b8429 
								
							
								 
							
						 
						
							
							
								
								Backport deferred.addTimeout  
							
							... 
							
							
							
							Twisted 16.0 doesn't have addTimeout, so let's backport it. 
							
						 
						
							2018-04-27 12:52:30 +01:00  
				
					
						
							
							
								 
						
							
							
								1ea904b9f0 
								
							
								 
							
						 
						
							
							
								
								Use deferred.addTimeout instead of time_bound_deferred  
							
							... 
							
							
							
							This doesn't feel like a wheel we need to reinvent. 
							
						 
						
							2018-04-23 00:53:18 +01:00  
				
					
						
							
							
								 
						
							
							
								02ba118f81 
								
							
								 
							
						 
						
							
							
								
								Increase http conn pool size  
							
							
							
						 
						
							2018-01-29 14:30:15 +00:00  
				
					
						
							
							
								 
						
							
							
								2c8526cac7 
								
							
								 
							
						 
						
							
							
								
								Use a connection pool for the SimpleHttpClient  
							
							... 
							
							
							
							In particular I hope this will help the pusher, which makes many requests to
sygnal, and is currently negotiating SSL for each one. 
							
						 
						
							2018-01-20 00:55:44 +00:00  
				
					
						
							
							
								 
						
							
							
								8b56977b6f 
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #2586  from matrix-org/rav/frontend_proxy_auth_header  
							
							... 
							
							
							
							Front-end proxy: pass through auth header 
							
						 
						
							2017-10-27 11:01:50 +01:00  
				
					
						
							
							
								 
						
							
							
								173567a7f2 
								
							
								 
							
						 
						
							
							
								
								Docstring for post_urlencoded_get_json  
							
							
							
						 
						
							2017-10-27 10:59:50 +01:00  
				
					
						
							
							
								 
						
							
							
								0d8e3ad48b 
								
							
								 
							
						 
						
							
							
								
								Fix logcontext leaks in httpclient  
							
							... 
							
							
							
							`preserve_context_over_fn` is borked 
							
						 
						
							2017-10-26 18:17:10 +01:00  
				
					
						
							
							
								 
						
							
							
								12ef02dc3d 
								
							
								 
							
						 
						
							
							
								
								SimpleHTTPClient: add support for headers  
							
							... 
							
							
							
							Sometimes we need to pass headers into these methods 
							
						 
						
							2017-10-26 17:59:50 +01:00  
				
					
						
							
							
								 
						
							
							
								d0debb2116 
								
							
								 
							
						 
						
							
							
								
								Remember how twisted works  
							
							
							
						 
						
							2017-05-05 11:00:21 +01:00  
				
					
						
							
							
								 
						
							
							
								c2ddd773bc 
								
							
								 
							
						 
						
							
							
								
								Include the clock  
							
							
							
						 
						
							2017-05-05 10:52:46 +01:00  
				
					
						
							
							
								 
						
							
							
								7dd3bf5e24 
								
							
								 
							
						 
						
							
							
								
								Rewrite SimpleHttpClient.request to include timeouts  
							
							... 
							
							
							
							Fixes  #2191  
						
							2017-05-05 10:49:19 +01:00  
				
					
						
							
							
								 
						
							
							
								482a2ad122 
								
							
								 
							
						 
						
							
							
								
								No need for the exception variable  
							
							
							
						 
						
							2017-05-03 11:02:59 +01:00  
				
					
						
							
							
								 
						
							
							
								c0380402bc 
								
							
								 
							
						 
						
							
							
								
								List caught expection types  
							
							
							
						 
						
							2017-05-03 10:56:22 +01:00  
				
					
						
							
							
								 
						
							
							
								5fd12dce01 
								
							
								 
							
						 
						
							
							
								
								Remove debugging  
							
							
							
						 
						
							2017-04-26 12:36:26 +01:00  
				
					
						
							
							
								 
						
							
							
								c366276056 
								
							
								 
							
						 
						
							
							
								
								Fix get_json  
							
							
							
						 
						
							2017-04-26 10:07:01 +01:00  
				
					
						
							
							
								 
						
							
							
								1a9255c12e 
								
							
								 
							
						 
						
							
							
								
								Use CodeMessageException subclass instead  
							
							... 
							
							
							
							Parse json errors from get_json client methods and throw special
errors. 
							
						 
						
							2017-04-25 19:30:55 +01:00  
				
					
						
							
							
								 
						
							
							
								a46982cee9 
								
							
								 
							
						 
						
							
							
								
								Need the HTTP status code  
							
							
							
						 
						
							2017-04-21 16:20:12 +01:00  
				
					
						
							
							
								 
						
							
							
								70caf49914 
								
							
								 
							
						 
						
							
							
								
								Do the same for get_json  
							
							
							
						 
						
							2017-04-21 16:09:03 +01:00  
				
					
						
							
							
								 
						
							
							
								a1595cec78 
								
							
								 
							
						 
						
							
							
								
								Don't error for 3xx responses  
							
							
							
						 
						
							2017-04-21 11:51:17 +01:00  
				
					
						
							
							
								 
						
							
							
								a90a0f5c8a 
								
							
								 
							
						 
						
							
							
								
								Propagate errors sensibly from proxied IS requests  
							
							... 
							
							
							
							When we're proxying Matrix endpoints, parse out Matrix error
responses and turn them into SynapseErrors so they can be
propagated sensibly upstream. 
							
						 
						
							2017-04-21 11:32:48 +01:00