4
0
mirror of https://github.com/cwinfo/yggdrasil-go.git synced 2025-06-17 19:56:06 +00:00
Commit Graph

1448 Commits

Author SHA1 Message Date
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
02d92ff81c TUN vectorised reads/writes (#1145)
This PR updates the Wireguard dependency and updates to use new
vectorised reads/writes, which should reduce the number of syscalls and
improve performance.

This will only make a difference on Linux as this is the only platform
for which the Wireguard TUN library supports vectorised reads/writes.
For other platforms, single reads and writes will be performed as usual.

---------

Co-authored-by: Neil Alexander <neilalexander@users.noreply.github.com>
2024-07-20 15:24:30 +01:00
04c0acf71b Various clean-ups 2024-07-20 12:31:58 +01:00
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
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
fcefb20993 Fix interval check when sending multicast beacons 2024-05-28 10:03:48 +01:00
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
6cbe56adfe fix incorrect pool use 2024-05-25 06:15:36 -05:00
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
768278a8e6 Improve getPeers sorting 2024-01-11 22:37:05 +00:00
1e9a59edf9 Update behaviour in QUIC listener handler 2024-01-05 11:45:20 +00:00
3dfa6d0cc9 Validate public key lengths on debug_ API endpoints (fixes #1113) 2023-12-03 17:55:12 +00:00
6b6cd0bed5 Fix PPROFLISTEN 2023-11-28 13:24:54 +00:00
fef553ed18 Tweak logging 2023-11-26 16:28:48 +00:00
f6f669617f Fix -normaliseconf when using PrivateKeyPath 2023-11-26 16:20:52 +00:00
39c4b24395 Don't use 0-RTT for QUIC 2023-11-26 16:19:00 +00:00
a0b3897278 Cap link backoff at roughly 4.5 hours 2023-11-21 23:54:27 +00:00
7aca869170 Tweak backoff success handling 2023-11-21 10:35:17 +00:00
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
93a5adfd18 Add sockstls:// (#1090)
Closes #1087.

Co-authored-by: Neil Alexander <neilalexander@users.noreply.github.com>
2023-11-04 17:57:15 +00:00
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
ae997a5acb Improve TUN setup logging (#1093) (#1095)
Co-authored-by: Neil Alexander <neilalexander@users.noreply.github.com>
2023-11-04 17:56:52 +00:00
e41b838d8f Don't panic at startup when duplicate peers are configured
Fixes #1077
2023-10-28 21:34:15 +01:00
0b578a637a Debian package updates (#1073)
* Update Debian package

* Don't put `AdminListen` in config by default, fix path in Debian package

* Fix path in unit file

* Preserve original service files for other packages

---------

Co-authored-by: Neil Alexander <neilalexander@users.noreply.github.com>
2023-10-28 14:58:52 +01:00
82c54f87ea clean up some debug API output 2023-10-28 06:36:01 -05:00
d17ac39789 update ironwood dependency, add a debug API call for lookups 2023-10-28 05:26:43 -05:00
094f80f39c Fix RetryPeersNow, move startup logging, don't set TUN address if not available 2023-10-22 15:51:30 +01:00
955aa4af79 Remove unnecessary pprof log line 2023-10-22 10:29:19 +01:00
73c6c25bd9 Restore removePeer method 2023-10-22 10:27:41 +01:00
80e56eafcd Allow PPROFLISTEN on all builds 2023-10-21 21:36:28 +01:00
bcd80b043f Don't tightloop when a listener can no longer accept connections 2023-10-17 21:41:21 +01:00
74ca02edfd Don't require TLS client certificate 2023-10-15 23:06:10 +01:00
efb4b4635d Don't send a TLS ALPN name 2023-10-14 20:26:30 +01:00
117e4b88f8 Fix panic on invalid handshake length 2023-10-12 19:12:17 +01:00
4b48fd0b5f Fix Windows TUN build 2023-10-12 00:08:16 +01:00
2a21241738 Multicast passwords 2023-10-11 19:28:28 +01:00
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
bd7e699130 Add unit test for password auth 2023-10-09 22:28:20 +01:00
268ffbfd14 Add authenticated handshake, support for passwords 2023-10-09 17:17:12 +01:00
490c11c29e Fix more codefactor suggestions 2023-09-03 13:49:21 +01:00
991ea8b876 Fix codefactor suggestion 2023-09-03 13:32:15 +01:00
fa3d943ba9 Don't set BBR for TCP peerings 2023-09-03 13:30:41 +01:00
8f3ab1d83c Merge branch 'develop' into future 2023-09-03 13:08:40 +01:00
12a3a8c73b Fix build tags for setupFD 2023-09-03 13:08:13 +01:00
6ab0639b82 Merge branch 'develop' into future 2023-09-03 12:58:55 +01:00
fbc5f62add Fix missing setupFD stubs 2023-08-17 14:08:03 +01:00
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
63b214f6b7 Fix negotiating priority on connection 2023-07-15 22:34:29 +01:00
7f94463332 Merge pull request #1037 from yggdrasil-network/neil/quic
QUIC interface support
2023-06-19 06:27:09 -05:00
bcbabff80f Merge pull request #1038 from yggdrasil-network/neil/multicast
Revise multicast format to include protocol version, discriminator for TLS roots
2023-06-19 06:26:58 -05:00