Igor Postelnik
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
Igor Postelnik
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
Igor Postelnik
8c5498fad1
TUN-3715: Only read config file once, right before invoking the command
2021-03-16 17:22:13 -05:00
Igor Postelnik
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
Adam Chalmers
0d22106416
TUN-3848: Use transport logger for h2mux
2021-02-03 17:31:16 -06:00
Igor Postelnik
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
Areg Harutyunyan
55bf904689
TUN-3471: Add structured log context to logs
2021-01-05 20:21:16 +00:00
Areg Harutyunyan
870f5fa907
TUN-3470: Replace in-house logger calls with zerolog
2020-12-23 14:15:17 -06:00
cthuang
a490443630
TUN-3458: Upgrade to http2 when available, fallback to h2mux when we reach max retries
2020-11-11 15:11:42 +00:00
cthuang
9ac40dcf04
TUN-3462: Refactor cloudflared to separate origin from connection
2020-11-11 15:11:42 +00:00
cthuang
2c9b7361b7
TUN-3427: Define a struct that only implements RegistrationServer in tunnelpogs
2020-10-01 09:08:32 +01:00
cthuang
8eeb452cce
TUN-3268: Each connection has its own event digest to reconnect
2020-08-20 16:44:22 +01:00
Igor Postelnik
2a3d486126
TUN-3007: Implement named tunnel connection registration and unregistration.
...
Removed flag for using quick reconnect, this logic is now always enabled.
2020-07-01 04:19:30 +00:00
Adam Chalmers
4d3ebaf984
TUN-3106: Pass NamedTunnel config to StartServer
2020-06-17 23:20:37 +00:00
Dalton
046be63253
AUTH-2596 added new logger package and replaced logrus
2020-05-27 17:07:19 -05:00
Igor Postelnik
dd0881f32b
TUN-2940: Added delay parameter to stdin reconnect command.
2020-05-01 15:58:19 +00:00
Igor Postelnik
976eb24883
TUN-2921: Rework address selection logic to avoid corner cases
2020-04-27 14:47:47 -05:00
Areg Harutyunyan
ae374c0463
TUN-2846: Trigger debug reconnects from stdin commands, not SIGUSR1
2020-03-27 17:04:21 +00:00
Adam Chalmers
6dcf3a4cbc
TUN-2819: cloudflared should close its connections when a signal is sent
2020-03-19 21:02:15 +00:00
Adam Chalmers
5376df5439
TUN-2788: cloudflared should store one ConnDigest per HA connection
2020-03-11 18:19:22 -05:00
Adam Chalmers
db9b6541d0
TUN-2797: Fix panic in SetConnDigest by making mutexes values.
2020-03-10 12:21:02 -05:00
Adam Chalmers
d50fee4fa0
TUN-2754: Add ConnDigest to cloudflared and its RPCs
2020-03-05 15:25:15 -06:00
Rueian
464bb53049
perf(cloudflared): reuse memory from buffer pool to get better throughput ( #161 )
...
* perf(cloudflared): reuse memory from buffer pool to get better throughput
https://github.com/cloudflare/cloudflared/issues/160
2020-02-24 17:06:19 +00:00
Adam Chalmers
a60c0273f5
TUN-2714: New edge discovery. Connections try to reconnect to the same edge IP.
2020-02-14 19:49:54 +00:00
Adam Chalmers
e729dfc51e
TUN-2699: Metrics for Authenticate RPCs
2020-01-28 14:33:41 -06:00
Nick Vollmar
7367827a11
TUN-2646: Make --edge flag work again for local development
2019-12-23 23:11:00 -06:00
Nick Vollmar
7e31b77646
TUN-2637: Manage edge IPs in a region-aware manner
2019-12-19 21:58:23 +00:00
Nick Vollmar
6aa48d2eb2
TUN-2554: cloudflared calls ReconnectTunnel
2019-12-13 18:48:48 +00:00
Nick Vollmar
5e7ca14412
TUN-2555: origin/supervisor.go calls Authenticate
2019-12-06 11:26:54 -06:00
Nick Vollmar
bbf31377c2
TUN-2607: add RPC stream helpers
2019-12-03 15:38:16 -06:00
Nick Vollmar
8f4fd70783
TUN-2606: add DialEdge helpers
2019-12-03 14:52:33 -06:00
Chung-Ting Huang
80a15547e3
TUN-1961: Create EdgeConnectionManager to maintain outbound connections to the edge
2019-06-18 16:37:38 -05:00
Chung-Ting Huang
c18702f297
TUN-1626: Create new supervisor to establish connection with origintunneld
2019-04-04 15:39:22 -05:00
Nick Vollmar
d22e214000
TUN-1522: If we can't get SRV from default resolver, get them from 1.1.1.1 DoT
2019-03-11 12:08:04 -04:00
Adam Chalmers
073c5bfdaa
TUN-1562: Refactor connectedSignal to be safe to close multiple times
2019-03-05 15:51:35 -06:00
Adam Chalmers
77f12c7c34
TUN-1456: Only make one UUID
2019-02-01 14:11:12 -06:00
Nick Vollmar
62b1ab8c98
TUN-1350: Enhance error messages with cloudflarestatus.com link, if relevant
2019-01-18 13:37:05 -06:00
Areg Harutyunyan
d06fc520c7
TUN-528: Move cloudflared into a separate repo
2018-07-19 15:02:24 -05:00