1430 Commits

Author SHA1 Message Date
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
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
Neil Alexander
e41b838d8f
Don't panic at startup when duplicate peers are configured
Fixes #1077
2023-10-28 21:34:15 +01:00
Neil
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
Arceliar
82c54f87ea clean up some debug API output 2023-10-28 06:36:01 -05:00
Arceliar
d17ac39789 update ironwood dependency, add a debug API call for lookups 2023-10-28 05:26:43 -05: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
4b48fd0b5f
Fix Windows TUN build 2023-10-12 00:08:16 +01:00
Neil Alexander
2a21241738
Multicast passwords 2023-10-11 19:28:28 +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
8f3ab1d83c
Merge branch 'develop' into future 2023-09-03 13:08:40 +01:00
Neil Alexander
12a3a8c73b
Fix build tags for setupFD 2023-09-03 13:08:13 +01:00
Neil
6ab0639b82
Merge branch 'develop' into future 2023-09-03 12:58:55 +01:00
Neil Alexander
fbc5f62add
Fix missing setupFD stubs 2023-08-17 14:08:03 +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
Arceliar
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
Neil Alexander
57d9a2399f
Revise multicast format to include protocol version, discriminator for TLS roots 2023-06-18 20:54:49 +01: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
Neil Alexander
002b984c04
Fix private key setup when certificate not specified 2023-06-18 18:10:27 +01:00
Neil Alexander
5e684550a8
Take interface in tun.New 2023-06-18 15:45:04 +01:00
Neil Alexander
b0f8d8af13
Define interface for RWCs 2023-06-18 15:36: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
db9b57c052
Update contrib/mobile for the latest iOS build 2023-06-06 22:11:49 +01: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