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

1337 Commits

Author SHA1 Message Date
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
4859accbb0 Fix panic in address.GetKey() (fixes #860) 2021-11-02 18:03:16 +00:00
99227b60ce Update CI to use Go 1.17, produce Apple Silicon builds (closes #844) 2021-09-28 11:02:15 +01:00
f92d812f3c Merge pull request #822 from yggdrasil-network/sni
TLS Server Name Indication
2021-09-24 05:14:28 -05:00
6af9b61b15 Merge pull request #842 from Arceliar/mutex
Fix incorrect mutex use in ipv6rwc
2021-09-24 04:43:44 -05:00
f2d1eff8f6 Merge pull request #835 from kotovalexarian/test-and-refactor-proto-handler
Really tiny refactoring of "src/core"
2021-09-24 04:43:06 -05:00
e5d638ff4b better way to empty ipv6rwc buffer 2021-09-23 04:39:12 -05:00
86e5306eec fix race from mutex that wasn't held long enough 2021-09-23 04:35:31 -05:00
529a33034b gofmt to add new build comments 2021-09-23 04:34:58 -05:00
52345a2de4 Check tun.config is not equal to nil before usage (#830)
We have to check tun.config is not nil before first use, not after.
2021-09-21 21:19:25 +01:00
571186ca77 Rename protohandler attributes 2021-09-03 01:45:30 +05:00
3c89781057 Align and reorder code for lesser diff 2021-09-01 07:58:11 +05:00
a5f2ba80a2 Organize code in "src/core/proto.go" 2021-09-01 07:50:03 +05:00
538ee13669 Add type core.AddHandlerFunc 2021-09-01 06:16:57 +05:00
3613614b41 Revert "Add IPReadWriteCloser interface"
This reverts commit ebe366ef3b.
2021-08-07 12:56:36 -05:00
ebe366ef3b Add IPReadWriteCloser interface 2021-08-07 10:17:21 +01:00