Devin Carr
6174c4588b
TUN-8489: Add default noop logger for capnprpc
2024-07-02 22:05:28 +00:00
Devin Carr
30197e7dfa
TUN-8422: Add metrics for capnp method calls
...
Adds new suite of metrics to capture the following for capnp rpcs operations:
- Method calls
- Method call failures
- Method call latencies
Each of the operations is labeled by the handler that serves the method and
the method of operation invoked. Additionally, each of these are split
between if the operation was called by a client or served.
2024-05-28 14:14:25 -07:00
Devin Carr
654a326098
TUN-8424: Refactor capnp registration server
...
Move RegistrationServer and RegistrationClient into tunnelrpc module
to properly abstract out the capnp aspects internal to the module only.
2024-05-24 11:40:10 -07:00
Devin Carr
43446bc692
TUN-8423: Deprecate older legacy tunnel capnp interfaces
...
Since legacy tunnels have been removed for a while now, we can remove
many of the capnp rpc interfaces that are no longer leveraged by the
legacy tunnel registration and authentication mechanisms.
2024-05-23 11:17:49 -07:00
Devin Carr
2db00211f5
TUN-8419: Add capnp safe transport
...
To help support temporary errors that can occur in the capnp rpc
calls, a wrapper is introduced to inspect the error conditions and
allow for retrying within a short window.
2024-05-19 20:34:32 -07:00
Devin Carr
eb2e4349e8
TUN-8415: Refactor capnp rpc into a single module
...
Combines the tunnelrpc and quic/schema capnp files into the same module.
To help reduce future issues with capnp id generation, capnpids are
provided in the capnp files from the existing capnp struct ids generated
in the go files.
Reduces the overall interface of the Capnp methods to the rest of
the code by providing an interface that will handle the quic protocol
selection.
Introduces a new `rpc-timeout` config that will allow all of the
SessionManager and ConfigurationManager RPC requests to have a timeout.
The timeout for these values is set to 5 seconds as non of these operations
for the managers should take a long time to complete.
Removed the RPC-specific logger as it never provided good debugging value
as the RPC method names were not visible in the logs.
2024-05-17 11:22:07 -07:00
Lars Lehtonen
a4a84bb27e
tunnelrpc/pogs: fix dropped test errors ( #1106 )
2023-12-14 16:29:16 +00:00
Devin Carr
4de1bc4bba
TUN-7378: Remove RPC debug logs
2023-04-19 18:35:51 +00:00
Devin Carr
515ad7cbee
TUN-6917: Bump go to 1.19.3
2022-11-07 09:19:19 -08:00
Devin Carr
f5f3e6a453
TUN-6689: Utilize new RegisterUDPSession to begin tracing
2022-09-13 14:56:08 +00:00
Devin Carr
e380333520
TUN-6688: Update RegisterUdpSession capnproto to include trace context
2022-09-08 21:50:58 +00:00
João Oliveirinha
99d4e48656
TUN-6016: Push local managed tunnels configuration to the edge
2022-05-06 15:43:24 +00:00
João Oliveirinha
d68ad89159
TUN-6142: Add tunnel details support to RPC
...
This commit adds the tunnel details to RPC register connection response
so we can have access to some of the details associacted to the tunnel
that only the edge knows.
Currently this is limited to knowing if the tunnel is remotely managed
or not. In the future we could extend this with more information.
2022-04-27 18:47:27 +01:00
João Oliveirinha
d22cb4a6ca
TUN-6015: Add RPC method for pushing local config
2022-04-21 19:12:09 +00:00
cthuang
e56c4532ce
TUN-5697: Listen for UpdateConfiguration RPC in quic transport
2022-02-18 09:12:39 +00:00
cthuang
d07d24e5a2
TUN-5695: Define RPC method to update configuration
2022-02-03 15:05:46 +00:00
cthuang
ebae7a7024
TUN-5494: Send a RPC with terminate reason to edge if the session is closed locally
2021-12-21 09:52:39 +00:00
cthuang
73a265f2fc
TUN-5488: Close session after it's idle for a period defined by registerUdpSession RPC
2021-12-09 11:55:34 +00:00
cthuang
b73c588254
TUN-5422: Define RPC to unregister session
2021-12-06 16:37:09 +00:00
cthuang
fc2333c934
TUN-5300: Define RPC to register UDP sessions
2021-12-06 16:37:09 +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
Areg Harutyunyan
870f5fa907
TUN-3470: Replace in-house logger calls with zerolog
2020-12-23 14:15:17 -06: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
Adam Chalmers
9952ce0069
TUN-3221: ConnectionOptions tracks numPreviousAttempts.
2020-07-31 20:22:33 +00: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
cthuang
3886021ba5
TUN-3107: UnregisterConnection shouldn't wrap nil error as RPC error
2020-06-18 21:17:43 +08:00
Igor Postelnik
8f75feac94
TUN-3085: Pass connection authentication information using TunnelAuth struct
2020-06-16 16:35:46 +00:00
Igor Postelnik
448a7798f7
TUN-3015: Add a new cap'n'proto RPC interface for connection registration as well as matching client and server implementations. The old interface extends the new one for backward compatibility.
2020-06-16 16:35:46 +00:00
cthuang
3a086e9cc2
TUN-3020: Remove declarative tunnel related RPC code
2020-05-30 06:15:25 +08:00
cthuang
fb82b2ced5
TUN-3019: Remove declarative tunnel entry code
2020-05-30 05:54:17 +08:00
Dalton
046be63253
AUTH-2596 added new logger package and replaced logrus
2020-05-27 17:07:19 -05:00
Igor Postelnik
fbe2989f61
TUN-2955: Fix connection and goroutine leaks when tunnel conection is terminated on error. Only unregister tunnels that had connected successfully. Close edge connection used to unregister the tunnel. Use buffered channels for error channels where receiver may quit early on context cancellation.
2020-05-06 03:13:24 +00:00
Adam Chalmers
1b2a96f96b
TUN-2755: ReconnectTunnel RPC now transmits ConnectionDigest
2020-03-06 14:48:16 -06:00
Adam Chalmers
d50fee4fa0
TUN-2754: Add ConnDigest to cloudflared and its RPCs
2020-03-05 15:25:15 -06:00
Areg Harutyunyan
26f5f80811
TUN-2776: Add header serialization feature in cloudflared
2020-02-28 17:36:29 +00:00
Areg Harutyunyan
afc2cd38e1
TUN-2765: Add list of features to tunnelrpc
2020-02-25 23:45:48 +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
Adam Chalmers
379cb16efe
TUN-2591: ReconnectTunnel now sends EventDigest
2019-11-25 18:11:50 +00:00
Ashcon Partovi
43babbc2f9
Fix "happy eyeballs" not being disabled since Golang 1.12 upgrade
...
* The Dialer.DualStack setting is now ignored and deprecated; RFC 6555 Fast Fallback ("Happy Eyeballs") is now enabled by default. To disable, set Dialer.FallbackDelay to a negative value.
2019-11-25 17:54:20 +00:00
Adam Chalmers
f51712bef9
TUN-2582: EventDigest field in tunnelrpc
2019-11-22 12:04:14 -06:00
Chung-Ting Huang
b0d31a0ef3
TUN-2573: Refactor TunnelRegistration into PermanentRegistrationError, RetryableRegistrationError and SuccessfulTunnelRegistration
2019-11-22 17:30:41 +00:00
Adam Chalmers
23e12cf5a3
TUN-2575: Constructors + simpler conversions for AuthOutcome
2019-11-22 02:08:57 +00:00
Adam Chalmers
7173da9359
TUN-2567: AuthOutcome can be turned back into AuthResponse
2019-11-19 04:34:00 +00:00
Nick Vollmar
0676923d24
TUN-2551: TunnelRPC definitions for ReconnectTunnel flow
2019-11-18 14:26:58 -06:00
Adam Chalmers
ca7fbf43da
TUN-2547: TunnelRPC definitions for Authenticate flow
2019-11-18 16:39:01 +00:00
Chung-Ting Huang
5bcb2da0fe
TUN-2309: Split ConnectResult into ConnectError and ConnectSuccess, each implementing its own capnp serialization logic
2019-09-19 13:47:41 -05:00
Adam Chalmers
4f23da2a6d
TUN-2315: Replace Scope with IntentLabel
2019-09-18 15:11:46 -05:00
Chung-Ting Huang
fe032843f3
TUN-2307: Capnp is the only serialization format used in tunnelpogs
2019-09-17 16:29:50 +00:00