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

1352 Commits

Author SHA1 Message Date
6fed2a75d7 Make TLS certs never expire (#977)
According to RFC5280 we can make TLS certs never expire by setting their `NotAfter` date to a value that is basically the end of time.

Fixes #976.
2022-11-08 22:11:22 +00:00
590d83aa9c Fix #975 by not exporting uint8 2022-11-01 17:42:52 +00:00
cfa293d189 Fix bug in admin socket where requests fail unless "arguments":{} is specified in the JSON 2022-10-26 22:29:19 +01:00
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
9a9452dcc8 Fix panic in GetPeers that may happen mid-link setup 2022-10-25 18:58:52 +01:00
65e350153e Don't start multicast module if all Beacon and Listen are disabled 2022-10-22 18:05:14 +01:00
35ea66d651 Varying connection check strictness based on scope 2022-10-22 17:45:09 +01:00
8fe1c41295 Don't reject multiple genuine links from the same host 2022-10-22 16:59:25 +01:00
d66b3ffb7a Always allow link-local peerings again 2022-10-22 16:23:25 +01:00
63c4cb5c21 Fix reporting name for TCP 2022-10-22 15:47:09 +01:00
0a1a155e66 Use SO_REUSEADDR instead of SO_REUSEPORT on Linux 2022-10-22 14:56:29 +01:00
c55611a478 Tweak logging for connections 2022-10-22 14:56:11 +01:00
22caddef63 Don't log duplicate connection attempt 2022-10-21 19:49:49 +01:00
81839ad50d Fix InterfacePeers 2022-10-21 19:49:15 +01:00
ee21c56e43 Fix setting nodeinfo (closes #954) 2022-10-15 15:42:52 +01:00
69632bacb5 Tidy up 2022-10-02 13:20:39 +01:00
428d2375da Don't allow configuring the same peer more than once 2022-10-02 12:39:18 +01:00
8cf76f841d Silence already connected to this node 2022-10-02 12:36:51 +01:00
7db934488e Reimplement AddPeer and RemovePeer for admin socket (#951)
* Reimplement AddPeer and RemovePeer for admin socket

Fix #950

* Disconnect the peer on `removePeer`

Co-authored-by: Neil Alexander <neilalexander@users.noreply.github.com>
2022-10-02 12:35:43 +01:00
c922eba2d8 Fix sending arguments to the admin socket in yggdrasilctl 2022-09-24 21:28:09 +01:00
d9fe6f72ac Lint tweaks 2022-09-24 17:05:44 +01:00
d24d3fa047 Use deadline for link handshake (#949)
This uses a 6 second deadline for timeouts instead of using `util.FuncTimeout` at 30 seconds for the read and then again for the write.

If the handshake doesn't complete within 6 seconds then it's going to probably collapse when we give the connection to Ironwood and it tries to do a keepalive anyway.
2022-09-24 16:51:31 +01:00
e165b1fa0c Add quote marks to InterfacePeers comment
Fixes #945.
2022-09-24 14:44:50 +01:00
01c44a087b Rename tuntap package to tun
We haven't had TAP support in ages.
2022-09-24 14:41:47 +01:00
217ac39e77 Allow setting default config path and AdminListen at compile time
By providing the following items to `LDFLAGS`:

* `-X github.com/yggdrasil-network/yggdrasil-go/src/defaults.defaultConfig=/path/to/config`
* '-X github.com/yggdrasil-network/yggdrasil-go/src/defaults.defaultAdminListen=unix://path/to/sock'

Closes #818.
2022-09-24 14:09:08 +01:00
0abfe78858 Silence error when reconnecting to already connected peer 2022-09-24 13:46:22 +01:00
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
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
dc9720e580 Extend getSessions admin call to include uptime/TX/RX 2022-09-03 16:55:57 +01:00
5477566fa9 Length not capacity 2022-09-03 12:38:42 +01:00
9cdfd59476 Tidy up a bit, make sure to copy the private key at startup 2022-09-03 12:34:29 +01:00
a7d06e048a Refactor TUN setup (isolated config) 2022-09-03 12:20:57 +01:00
b1f61fb0a8 Refactor admin socket setup (isolated config) 2022-09-03 11:54:46 +01:00
493208fb37 Refactor multicast setup (isolated config, etc) 2022-09-03 11:42:05 +01:00
dad0b10dfe Move Core._applyOption 2022-09-03 10:51:44 +01:00
c6fe81b5d2 Admin socket and yggdrasilctl refactoring (#939) 2022-09-03 10:50:43 +01:00
4f2abece81 Fix panic in tcp.init for incorrectly formatted listen addresses 2022-09-01 16:56:42 +01:00
486ffebedd Delete unused param (#935) 2022-08-29 20:40:19 +01:00
dd66e8a9c9 Merge branch 'develop' into neilalexander/refactor 2022-08-06 15:23:44 +01:00
16b8149052 No longer use ioutil which is deprecated 2022-08-06 15:21:21 +01:00
4c889703b1 Continue refactoring 2022-08-06 15:05:12 +01:00
5616b9fc84 Don't lose my work 2022-07-24 10:23:25 +01:00
8c454a146c Silence incorrect linter warning 2022-07-07 18:19:15 +01:00
88a0a3e8fb Fix data races in handleProto (observed by @majestrate) 2022-07-07 17:03:29 +01:00
41d890bb64 Run goimports 2022-04-17 18:02:25 +01:00
90f9be38c5 Fix lint errors 2022-04-17 17:56:54 +01:00
0c4c385885 Fix regression in Path MTU discovery
In the past we used to send back anything up to 900 bytes of the packet in the ICMPv6 Packet Too Big response, whereas now we seemingly only send back 40 bytes.

It turns out that sending back only the 40 bytes of IPv6 headers isn't enough for most operating systems to positively ID the flow to reduce the MTU. This PR updates it so that we can send up to 512 bytes instead (900 is probably excessive) — that should leave plenty of room for any number of IPv6 extension headers and the next protocol headers and some of the payload.

This seems to fix the problem in my testing.
2022-04-03 12:48:06 +01:00
2d2ad4692b Restore uptime, bytes_sent and bytes_recvd to getPeers (#888)
* Restore `uptime`, `bytes_sent` and `bytes_recvd` to the admin API for peers

* Wrap conn in Yggdrasil instead, so not necessary to do so in Ironwood

* Shuffle struct for alignment
2022-02-01 13:37:45 +00:00
Tom
9f5cc0eecb Make message clearer and downgrade (#812)
* Make message clearer and downgrade

* Differentiate between incoming and outgoing conn
2022-01-30 21:58:57 +00:00
87e936195e Add some tests (#828)
* Add tests

* Add tests

* Add tests

* Add tests

* Fix code style

* Remove unnecessary tests
2021-11-04 08:05:53 +00:00