fa8aa02270 
								
							 
						 
						
							
							
								
								TUN-4819: Tolerate protocol TXT record lookup failing  
							
							
							
						 
						
							2021-07-29 11:44:39 +00:00  
				
					
						
							
							
								 
						
							
								0924549efd 
								
							 
						 
						
							
							
								
								TUN-4811: Publish quick tunnels' hostname in /metrics under `userHostname` for backwards-compatibility  
							
							
							
						 
						
							2021-07-29 10:20:43 +01:00  
				
					
						
							
							
								 
						
							
								ed1389ef08 
								
							 
						 
						
							
							
								
								TUN-4814: Revert "TUN-4699: Make quick tunnels the default in cloudflared"  
							
							... 
							
							
							
							This reverts commit 18992efa0c 
							
						 
						
							2021-07-28 10:02:55 +01:00  
				
					
						
							
							
								 
						
							
								18992efa0c 
								
							 
						 
						
							
							
								
								TUN-4699: Make quick tunnels the default in cloudflared  
							
							
							
						 
						
							2021-07-26 15:57:36 +00:00  
				
					
						
							
							
								 
						
							
								8f3526289a 
								
							 
						 
						
							
							
								
								TUN-4701: Split Proxy into ProxyHTTP and ProxyTCP  
							
							... 
							
							
							
							http.Request now is only used by ProxyHTTP and not required if the
proxying is TCP. The dest conversion is handled by the transport layer. 
							
						 
						
							2021-07-19 13:43:59 +00:00  
				
					
						
							
							
								 
						
							
								3eb9efd9f0 
								
							 
						 
						
							
							
								
								TUN-4521: Modify cloudflared to use zoneless-tunnels-worker for free tunnels  
							
							
							
						 
						
							2021-06-29 09:39:18 +01:00  
				
					
						
							
							
								 
						
							
								b06fe0fc5f 
								
							 
						 
						
							
							
								
								TUN-4571: Fix proxying to unix sockets when using HTTP2 transport to Cloudflare Edge  
							
							
							
						 
						
							2021-06-21 11:43:14 +01:00  
				
					
						
							
							
								 
						
							
								951d13d76c 
								
							 
						 
						
							
							
								
								TUN-4456: Replaced instances of Tick() with Ticker() in h2mux paths  
							
							... 
							
							
							
							time.Tick() does not get garbage collected because the channel
underneath never gets deleted and the underlying Ticker can never be
recovered by the garbage collector. We replace this with NewTicker() to
avoid this. 
							
						 
						
							2021-05-25 18:07:06 +01:00  
				
					
						
							
							
								 
						
							
								8ca0d86c85 
								
							 
						 
						
							
							
								
								TUN-3863: Consolidate header handling logic in the connection package; move headers definitions from h2mux to packages that manage them; cleanup header conversions  
							
							... 
							
							
							
							All header transformation code from h2mux has been consolidated in the connection package since it's used by both h2mux and http2 logic.
Exported headers used by proxying between edge and cloudflared so then can be shared by tunnel service on the edge.
Moved access-related headers to corresponding packages that have the code that sets/uses these headers.
Removed tunnel hostname tracking from h2mux since it wasn't used by anything. We will continue to set the tunnel hostname header from the edge for backward compatibilty, but it's no longer used by cloudflared.
Move bastion-related logic into carrier package, untangled dependencies between carrier, origin, and websocket packages. 
							
						 
						
							2021-03-29 21:57:56 +00:00  
				
					
						
							
							
								 
						
							
								da4d0b2bae 
								
							 
						 
						
							
							
								
								TUN-4067: Reformat code for consistent import order, grouping, and fix formatting. Added goimports target to the Makefile to make this easier in the future.  
							
							
							
						 
						
							2021-03-24 10:53:29 -05:00  
				
					
						
							
							
								 
						
							
								89b738f8fa 
								
							 
						 
						
							
							
								
								TUN-4026: Fix regression where HTTP2 edge transport was no longer propagating control plane errors  
							
							
							
						 
						
							2021-03-04 18:45:39 +00:00  
				
					
						
							
							
								 
						
							
								e20c4f8752 
								
							 
						 
						
							
							
								
								TUN-3838: ResponseWriter no longer reads and origin error tests  
							
							
							
						 
						
							2021-02-23 14:19:47 +00:00  
				
					
						
							
							
								 
						
							
								ab4dda5427 
								
							 
						 
						
							
							
								
								TUN-3868: Refactor singleTCPService and bridgeService to tcpOverWSService and rawTCPService  
							
							
							
						 
						
							2021-02-23 14:19:47 +00:00  
				
					
						
							
							
								 
						
							
								2146f71b45 
								
							 
						 
						
							
							
								
								TUN-3753: Select http2 protocol when warp routing is enabled  
							
							
							
						 
						
							2021-02-23 14:19:47 +00:00  
				
					
						
							
							
								 
						
							
								3b93914612 
								
							 
						 
						
							
							
								
								TUN-3764: Actively flush data for TCP streams  
							
							
							
						 
						
							2021-02-23 14:19:47 +00:00  
				
					
						
							
							
								 
						
							
								368066a966 
								
							 
						 
						
							
							
								
								TUN-3615: added support to  proxy tcp streams  
							
							... 
							
							
							
							added ingress.DefaultStreamHandler and a basic test for tcp stream proxy
moved websocket.Stream to ingress
cloudflared no longer picks tcpstream host from header 
							
						 
						
							2021-02-23 14:19:47 +00:00  
				
					
						
							
							
								 
						
							
								e2262085e5 
								
							 
						 
						
							
							
								
								TUN-3617: Separate service from client, and implement different client for http vs. tcp origins  
							
							... 
							
							
							
							- extracted ResponseWriter from proxyConnection
 - added bastion tests over websocket
 - removed HTTPResp()
 - added some docstrings
 - Renamed some ingress clients as proxies
 - renamed instances of client to proxy in connection and origin
 - Stream no longer takes a context and logger.Service 
							
						 
						
							2021-02-23 14:19:44 +00:00  
				
					
						
							
							
								 
						
							
								cf562ef8c8 
								
							 
						 
						
							
							
								
								TUN-3635: Send event when unregistering tunnel for gracful shutdown so /ready endpoint reports down status befoe connections finish handling pending requests.  
							
							
							
						 
						
							2021-02-08 15:38:42 +00:00  
				
					
						
							
							
								 
						
							
								0b16a473da 
								
							 
						 
						
							
							
								
								TUN-3869: Improve reliability of graceful shutdown.  
							
							... 
							
							
							
							- Don't rely on edge to close connection on graceful shutdown in h2mux, start muxer shutdown from cloudflared.
- Don't retry failed connections after graceful shutdown has started.
- After graceful shutdown channel is closed we stop waiting for retry timer and don't try to restart tunnel loop.
- Use readonly channel for graceful shutdown in functions that only consume the signal 
							
						 
						
							2021-02-08 14:30:32 +00:00  
				
					
						
							
							
								 
						
							
								0d22106416 
								
							 
						 
						
							
							
								
								TUN-3848: Use transport logger for h2mux  
							
							
							
						 
						
							2021-02-03 17:31:16 -06:00  
				
					
						
							
							
								 
						
							
								a945518404 
								
							 
						 
						
							
							
								
								TUN-3811: Better error reporting on http2 connection termination. Registration errors from control loop are now propagated out of the connection server code. Unified error handling between h2mux and http2 connections so we log and retry errors the same way, regardless of underlying transport.  
							
							
							
						 
						
							2021-01-28 10:38:30 -06:00  
				
					
						
							
							
								 
						
							
								d503aeaf77 
								
							 
						 
						
							
							
								
								TUN-3118: Changed graceful shutdown to immediately unregister tunnel from the edge, keep the connection open until the edge drops it or grace period expires  
							
							
							
						 
						
							2021-01-22 11:14:36 -06:00  
				
					
						
							
							
								 
						
							
								db0562c7b8 
								
							 
						 
						
							
							
								
								Fixed connection error handling by removing duplicated errors, standardizing on non-pointer error types  
							
							
							
						 
						
							2021-01-22 10:58:06 -06:00  
				
					
						
							
							
								 
						
							
								2d0b86f2e4 
								
							 
						 
						
							
							
								
								TUN-3777: Fix /ready endpoint for classic tunnels  
							
							... 
							
							
							
							Classic tunnels flow was triggering an event for RegisteringTunnel for
every connection that was about to be established, and then a Connected
event for every connection established.
However, the RegistreringTunnel event had no connection ID, always
causing it to unset/disconnect the 0th connection making the /ready
endpoint report incorrect numbers for classic tunnels. 
							
						 
						
							2021-01-19 13:02:44 +00:00  
				
					
						
							
							
								 
						
							
								04b1e4f859 
								
							 
						 
						
							
							
								
								TUN-3738: Refactor observer to avoid potential of blocking on tunnel notifications  
							
							
							
						 
						
							2021-01-18 11:16:23 +00:00  
				
					
						
							
							
								 
						
							
								55bf904689 
								
							 
						 
						
							
							
								
								TUN-3471: Add structured log context to logs  
							
							
							
						 
						
							2021-01-05 20:21:16 +00:00  
				
					
						
							
							
								 
						
							
								870f5fa907 
								
							 
						 
						
							
							
								
								TUN-3470: Replace in-house logger calls with zerolog  
							
							
							
						 
						
							2020-12-23 14:15:17 -06:00  
				
					
						
							
							
								 
						
							
								38fb0b28b6 
								
							 
						 
						
							
							
								
								TUN-3593: /ready endpoint for k8s readiness. Move tunnel events out of UI package, into connection package.  
							
							
							
						 
						
							2020-12-02 15:22:59 -06:00  
				
					
						
							
							
								 
						
							
								69fd502db3 
								
							 
						 
						
							
							
								
								TUN-3581: Tunnels can be run by name using only --credentials-file, no  
							
							... 
							
							
							
							origin cert necessary. 
							
						 
						
							2020-11-25 09:54:28 -06:00  
				
					
						
							
							
								 
						
							
								a1a554a29d 
								
							 
						 
						
							
							
								
								TUN-3559: Share response meta header with other packages  
							
							
							
						 
						
							2020-11-18 16:51:03 +00:00  
				
					
						
							
							
								 
						
							
								fdb1f961b3 
								
							 
						 
						
							
							
								
								TUN-3557: Detect SSE if content-type starts with text/event-stream  
							
							
							
						 
						
							2020-11-18 15:59:41 +00:00  
				
					
						
							
							
								 
						
							
								ebc003d478 
								
							 
						 
						
							
							
								
								TUN-3514: Transport logger write to UI when UI is enabled  
							
							
							
						 
						
							2020-11-11 15:21:00 +00:00  
				
					
						
							
							
								 
						
							
								543169c893 
								
							 
						 
						
							
							
								
								TUN-3490: Make sure OriginClient implementation doesn't write after Proxy return  
							
							
							
						 
						
							2020-11-11 15:21:00 +00:00  
				
					
						
							
							
								 
						
							
								d5769519b2 
								
							 
						 
						
							
							
								
								TUN-3489: Add unit tests to cover proxy logic in connection package of cloudflared  
							
							
							
						 
						
							2020-11-11 15:21:00 +00:00  
				
					
						
							
							
								 
						
							
								5974fb4cfd 
								
							 
						 
						
							
							
								
								TUN-3500: Integrate replace h2mux by http2 work with multiple origin support  
							
							
							
						 
						
							2020-11-11 15:20:57 +00:00  
				
					
						
							
							
								 
						
							
								eef5b78eac 
								
							 
						 
						
							
							
								
								TUN-3480: Support SSE with http2 connection, and add SSE handler to hello-world server  
							
							
							
						 
						
							2020-11-11 15:12:17 +00:00  
				
					
						
							
							
								 
						
							
								6b86f81c4a 
								
							 
						 
						
							
							
								
								TUN-3403: Unit test for origin/proxy to test serving HTTP and Websocket  
							
							
							
						 
						
							2020-11-11 15:12:15 +00:00  
				
					
						
							
							
								 
						
							
								a490443630 
								
							 
						 
						
							
							
								
								TUN-3458: Upgrade to http2 when available, fallback to h2mux when we reach max retries  
							
							
							
						 
						
							2020-11-11 15:11:42 +00:00  
				
					
						
							
							
								 
						
							
								b5cdf3b2c7 
								
							 
						 
						
							
							
								
								TUN-3456: New protocol option auto to automatically select between http2 and h2mux  
							
							
							
						 
						
							2020-11-11 15:11:42 +00:00  
				
					
						
							
							
								 
						
							
								6886e5f90a 
								
							 
						 
						
							
							
								
								TUN-3467: Serialize cf-cloudflared-response-meta during package initialization using jsoniter  
							
							
							
						 
						
							2020-11-11 15:11:42 +00:00  
				
					
						
							
							
								 
						
							
								9ac40dcf04 
								
							 
						 
						
							
							
								
								TUN-3462: Refactor cloudflared to separate origin from connection  
							
							
							
						 
						
							2020-11-11 15:11:42 +00:00  
				
					
						
							
							
								 
						
							
								8d7b2575ba 
								
							 
						 
						
							
							
								
								TUN-3400: Use Go HTTP2 library as transport to connect with the edge  
							
							
							
						 
						
							2020-11-11 15:11:42 +00:00  
				
					
						
							
							
								 
						
							
								2c9b7361b7 
								
							 
						 
						
							
							
								
								TUN-3427: Define a struct that only implements RegistrationServer in tunnelpogs  
							
							
							
						 
						
							2020-10-01 09:08:32 +01:00  
				
					
						
							
							
								 
						
							
								fb82b2ced5 
								
							 
						 
						
							
							
								
								TUN-3019: Remove declarative tunnel entry code  
							
							
							
						 
						
							2020-05-30 05:54:17 +08:00  
				
					
						
							
							
								 
						
							
								046be63253 
								
							 
						 
						
							
							
								
								AUTH-2596 added new logger package and replaced logrus  
							
							
							
						 
						
							2020-05-27 17:07:19 -05:00  
				
					
						
							
							
								 
						
							
								acea15161c 
								
							 
						 
						
							
							
								
								TUN-2854: Quick Reconnects should be an optional supported feature  
							
							
							
						 
						
							2020-03-31 08:59:00 -05:00  
				
					
						
							
							
								 
						
							
								5bd4028ea7 
								
							 
						 
						
							
							
								
								TUN-2761: Use the new header management functions in cloudflared  
							
							
							
						 
						
							2020-03-08 03:38:54 +00:00  
				
					
						
							
							
								 
						
							
								26f5f80811 
								
							 
						 
						
							
							
								
								TUN-2776: Add header serialization feature in cloudflared  
							
							
							
						 
						
							2020-02-28 17:36:29 +00:00  
				
					
						
							
							
								 
						
							
								a60c0273f5 
								
							 
						 
						
							
							
								
								TUN-2714: New edge discovery. Connections try to reconnect to the same edge IP.  
							
							
							
						 
						
							2020-02-14 19:49:54 +00:00  
				
					
						
							
							
								 
						
							
								7367827a11 
								
							 
						 
						
							
							
								
								TUN-2646: Make --edge flag work again for local development  
							
							
							
						 
						
							2019-12-23 23:11:00 -06:00