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
7afa23be4c
Link refactoring, admin socket changes
2023-05-19 19:09:05 +01:00
Neil Alexander
7efd66932f
Redial failed connections if possible ( #983 )
2022-11-12 11:30:03 +00:00
Neil Alexander
f08dec822a
Priority support ( #964 )
...
* Allow setting link priorities
* Fix a bug
* Allow setting priority on listeners and multicast interfaces
* Update `yggdrasilctl`
* Update to Arceliar/ironwood#5
2022-10-26 09:24:24 +01:00
Neil Alexander
65e350153e
Don't start multicast module if all Beacon
and Listen
are disabled
2022-10-22 18:05:14 +01:00
Neil Alexander
0a1a155e66
Use SO_REUSEADDR
instead of SO_REUSEPORT
on Linux
2022-10-22 14:56:29 +01:00
Neil Alexander
b67c313f44
Admin socket and yggdrasilctl
improvements
...
This refactors the request parsing, as well as improving the output for some request types. It also tweaks `yggdrasilctl` output, which should help with #947 .
2022-09-24 12:22:38 +01:00
Neil Alexander
5ef61faeff
Link refactor ( #941 )
...
* Link refactoring
* More refactoring
* More tweaking
* Cleaner shutdowns, UNIX socket support, more tweaks
* Actorise links, remove mutex
* SOCKS support
2022-09-17 20:07:00 +01:00
Neil Alexander
a7d06e048a
Refactor TUN setup (isolated config)
2022-09-03 12:20:57 +01:00
Neil Alexander
493208fb37
Refactor multicast setup (isolated config, etc)
2022-09-03 11:42:05 +01:00
Neil Alexander
41d890bb64
Run goimports
2022-04-17 18:02:25 +01:00
Neil Alexander
90f9be38c5
Fix lint errors
2022-04-17 17:56:54 +01:00
Neil Alexander
99227b60ce
Update CI to use Go 1.17, produce Apple Silicon builds ( closes #844 )
2021-09-28 11:02:15 +01:00
Arceliar
529a33034b
gofmt to add new build comments
2021-09-23 04:34:58 -05:00
Arceliar
de853fed10
multicast configuration changes
2021-06-27 17:24:46 -05:00
Arceliar
2874ce1327
change multicast config format
2021-06-27 03:15:41 -05:00
Arceliar
d1dfe38683
remove string from multicast announcement format
2021-06-25 21:27:29 -05:00
Arceliar
b7f57c0617
use TLS for multicast peers, fix TLS listener type in log output
2021-06-19 10:42:38 -05:00
Arceliar
cb81be94ec
skip multicast packets sent from our own key
2021-06-13 12:31:52 -05:00
Neil Alexander
acdc3dd3c0
Replace ?ed25519= with ?key= in peering URIs
2021-06-11 21:12:27 +01:00
Arceliar
f7607557c1
fix nBytes check in multicast code
2021-06-06 04:48:00 -05:00
Neil Alexander
ea15eeee7e
Ensure PublicKey option is unused, map old config options
2021-06-05 21:32:04 +01:00
Arceliar
414c100125
add public keys to multicast, public key pinning to multicast peering
2021-06-05 05:07:04 -05:00
Neil Alexander
8932ab0519
Fix lint errors
2021-06-02 14:40:09 +01:00
Neil Alexander
166336a418
Remove config.NodeState (hot reconfig is no longer supported)
2021-06-02 14:19:32 +01:00
Arceliar
8a60c605f6
remove metric stuff, there's already enough new stuff to test, maybe revisit this in a future release
2021-05-24 18:53:54 -05:00
Arceliar
5f2bcaa71f
add Listen to api and listenURL to tcp
2021-05-23 21:47:12 -05:00
Arceliar
fd5cda6329
read metric from urls for listen and peers
2021-05-23 20:58:34 -05:00
Arceliar
018f35d9a2
rename src/yggdrasil to src/core
2021-05-23 14:42:26 -05:00
Neil Alexander
2d01386d6e
Refactor admin socket, export request/response structs, remove types package
2021-05-16 19:51:09 +01:00
Neil Alexander
57ea61b338
Remove reconfiguration on SIGHUP - it didn't work reliably anyway
2021-05-10 22:47:28 +01:00
Arceliar
1d1c6efa1f
attempt to keep TCP listener alive if there's a temporary error (e.g. too many open files), just pause and retry later
2020-10-18 11:01:18 -05:00
Arceliar
33e3679458
multicast, use the prebuilt interface map when checking active listeners ( #707 )
2020-09-27 13:16:51 +01:00
Arceliar
7778a47a8f
fix darwin compile problem
2020-05-24 15:46:18 -05:00
Arceliar
98816f34b2
don't spam calls to net.Interfaces and net.Interface.Addrs (hopefully)
2020-05-24 15:24:39 -05:00
Arceliar
1e471e3712
back to master's version of multicast, lets try rewriting it again
2020-05-24 14:43:38 -05:00
Arceliar
c2d6e9e8f1
close listener when a multicast interface is removed
2020-05-24 14:09:06 -05:00
Arceliar
7779d86c5b
maybe fix multicast deadlock on darwin
2020-05-09 05:56:36 -05:00
Arceliar
95f4ec52a4
save only the link-local addresses for multicast
2020-05-03 05:06:59 -05:00
Arceliar
de79401bb2
only call (net.Interface).Addrs() once per minute per interface
2020-05-03 02:50:04 -05:00
Arceliar
02e1cb180d
possibly reduce multicast cpu usage even more
2020-05-02 17:23:20 -05:00
Neil Alexander
127b7e311c
Clean up a bit
2020-05-02 22:37:12 +01:00
Neil Alexander
0c7cf65d27
Move some logging back to debug
2020-05-02 22:33:25 +01:00
Neil Alexander
a115d18595
Refactor the multicast code a bit
2020-05-02 22:26:41 +01:00
Anatolii Kurotych
4159ccb893
Fix return value in Multicast.Stop()
2019-11-30 16:05:44 +02:00
Arceliar
cfc1e6b83d
fix a crash when shutting down if no multicast interfaces are configured
2019-10-25 18:40:09 -05:00
Neil Alexander
de3bdfa524
No longer use atomic for isOpen in multicast
2019-10-24 23:31:47 +01:00
Neil Alexander
5ca81f916e
Fix deadlocks
2019-10-24 09:54:57 +01:00
Neil Alexander
f784f33c2d
Backport fix for #581 from #583
2019-10-24 09:25:31 +01:00
Arceliar
8003ea0f3e
use a separate multicast beacon interval per multicast interface
2019-09-20 17:42:42 -05:00