4
0
mirror of https://github.com/cwinfo/yggdrasil-go.git synced 2025-07-26 11:44:15 +00:00
Commit Graph

160 Commits

Author SHA1 Message Date
Neil Alexander
b1283e15f6 Link state tracking tweaks and improved shutdown 2024-08-11 10:42:25 +01:00
Neil Alexander
9950d1225d Improve link and handshake errors 2024-08-01 21:53:48 +01:00
Vasyl Gello
5ea16e63a1 Implement websocket (ws:// and wss://) links (#1152)
ws:// can be listened and dialed
wss:// is a convenience link for ws:// that supports dialing to ws://
peer.

---------

Signed-off-by: Vasyl Gello <vasek.gello@gmail.com>
Co-authored-by: Neil Alexander <neilalexander@users.noreply.github.com>
2024-07-23 22:58:11 +01:00
Neil Alexander
04c0acf71b Various clean-ups 2024-07-20 12:31:58 +01:00
Neil Alexander
8ecc402d7c Allow multiple connections to the same link-local address
Note that this may mean that currently we end up with two links to each multicast-discovered peer, one incoming and one outgoing
2024-07-20 11:31:08 +01:00
Neil
f788a18bef Measure RTT, report in getPeers (#1143)
Co-authored-by: Neil Alexander <neilalexander@users.noreply.github.com>
2024-05-30 22:46:06 +01:00
Paul Donald
f56f9c124c Minor Fixes (#1107)
* Minor comment fixes.

* Optimize PeerEntry for memory efficiency

* Improve NodeConfig for memory alignment
2024-05-27 21:57:28 +01:00
Arceliar
6cbe56adfe fix incorrect pool use 2024-05-25 06:15:36 -05:00
Neil
180d7bf499 Adjust default backoff max to just over 1 hour, add ?maxbackoff= peer option (#1124)
Co-authored-by: Neil Alexander <neilalexander@users.noreply.github.com>
2024-01-15 23:09:07 +00:00
Neil Alexander
1e9a59edf9 Update behaviour in QUIC listener handler 2024-01-05 11:45:20 +00:00
Neil Alexander
3dfa6d0cc9 Validate public key lengths on debug_ API endpoints (fixes #1113) 2023-12-03 17:55:12 +00:00
Neil Alexander
6b6cd0bed5 Fix PPROFLISTEN 2023-11-28 13:24:54 +00:00
Neil Alexander
fef553ed18 Tweak logging 2023-11-26 16:28:48 +00:00
Neil Alexander
39c4b24395 Don't use 0-RTT for QUIC 2023-11-26 16:19:00 +00:00
Neil Alexander
a0b3897278 Cap link backoff at roughly 4.5 hours 2023-11-21 23:54:27 +00:00
Neil Alexander
7aca869170 Tweak backoff success handling 2023-11-21 10:35:17 +00:00
Neil
0346af46da Don't panic when connect returns nil (fixes #1086) (#1089)
* Don't panic when connect returns `nil` (fixes #1086)

It isn't clear to me why this would happen but let's guard the condition anyway.

* Log inconsistent error state

---------

Co-authored-by: Neil Alexander <neilalexander@users.noreply.github.com>
2023-11-04 18:42:42 +00:00
Neil
93a5adfd18 Add sockstls:// (#1090)
Closes #1087.

Co-authored-by: Neil Alexander <neilalexander@users.noreply.github.com>
2023-11-04 17:57:15 +00:00
Neil
ddb75700a0 Report errors during handshake stage (#1091)
Co-authored-by: Neil Alexander <neilalexander@users.noreply.github.com>
2023-11-04 17:57:04 +00:00
Neil Alexander
e41b838d8f Don't panic at startup when duplicate peers are configured
Fixes #1077
2023-10-28 21:34:15 +01:00
Neil Alexander
094f80f39c Fix RetryPeersNow, move startup logging, don't set TUN address if not available 2023-10-22 15:51:30 +01:00
Neil Alexander
955aa4af79 Remove unnecessary pprof log line 2023-10-22 10:29:19 +01:00
Neil Alexander
73c6c25bd9 Restore removePeer method 2023-10-22 10:27:41 +01:00
Neil Alexander
80e56eafcd Allow PPROFLISTEN on all builds 2023-10-21 21:36:28 +01:00
Neil Alexander
bcd80b043f Don't tightloop when a listener can no longer accept connections 2023-10-17 21:41:21 +01:00
Neil Alexander
74ca02edfd Don't require TLS client certificate 2023-10-15 23:06:10 +01:00
Neil Alexander
efb4b4635d Don't send a TLS ALPN name 2023-10-14 20:26:30 +01:00
Neil Alexander
117e4b88f8 Fix panic on invalid handshake length 2023-10-12 19:12:17 +01:00
Neil Alexander
45b773eade Remove TLS root validation
This is just too complicated compared to the per-peer/per-listener/per-interface password
approach.
2023-10-11 18:25:35 +01:00
Neil Alexander
bd7e699130 Add unit test for password auth 2023-10-09 22:28:20 +01:00
Neil Alexander
268ffbfd14 Add authenticated handshake, support for passwords 2023-10-09 17:17:12 +01:00
Neil Alexander
490c11c29e Fix more codefactor suggestions 2023-09-03 13:49:21 +01:00
Neil Alexander
991ea8b876 Fix codefactor suggestion 2023-09-03 13:32:15 +01:00
Neil Alexander
fa3d943ba9 Don't set BBR for TCP peerings 2023-09-03 13:30:41 +01:00
Neil Alexander
5b203ad8c5 Use Go 1.21 in CI, update minimum version to Go 1.20, lint fixes, update quic-go 2023-08-12 18:12:58 +01:00
Neil Alexander
63b214f6b7 Fix negotiating priority on connection 2023-07-15 22:34:29 +01:00
Arceliar
7f94463332 Merge pull request #1037 from yggdrasil-network/neil/quic
QUIC interface support
2023-06-19 06:27:09 -05:00
Neil Alexander
423fc248d2 Remove debug lines 2023-06-18 20:54:16 +01:00
Neil Alexander
516fcce6b3 Keepalives are needed to stop the connection inactivity timeout 2023-06-18 20:54:16 +01:00
Neil Alexander
d8dc6b2670 QUIC interface support 2023-06-18 20:54:14 +01:00
Neil Alexander
109f59c7dc Tweak link handshake 2023-06-18 20:28:14 +01:00
Arceliar
c1ae9ea0d4 Switch back to using an actor to manage link state, and slighty randomize the delay between multicast announcements. This seems to fix the issue with duplicate connections (and breaks a livelock in the multicast code where both nodes keep closing the listen side of their connection, but that's kind of a hack, we need a better solution) 2023-06-18 03:40:40 -05:00
Neil Alexander
2eda59d9e4 Improve link setup locking and guards 2023-05-23 22:39:10 +01:00
Neil Alexander
06ca8941c7 Fix race condition between incoming and outgoing connection setup 2023-05-22 23:10:44 +01:00
Arceliar
e94985c583 try to cheer up the linter again 2023-05-21 12:49:49 -05:00
Arceliar
5a6f27e732 cheer up the linter 2023-05-21 12:43:03 -05:00
Arceliar
8b5add5301 reduce allocations (also pulls in updated ironwood to do the same) 2023-05-21 12:38:16 -05:00
Neil Alexander
cb8333f9ff Tweak lock behaviour 2023-05-21 00:02:04 +01:00
Neil Alexander
333561f4e1 Tweak link state locking, add comments, listener priority, other fixes 2023-05-20 23:44:31 +01:00
Neil Alexander
aff3201084 Fix incoming connection handlers 2023-05-20 22:22:15 +01:00