Neil Alexander
88a0a3e8fb
Fix data races in handleProto
(observed by @majestrate)
2022-07-07 17:03:29 +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
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
Neil Alexander
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
Alex Kotov
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
Neil Alexander
4859accbb0
Fix panic in address.GetKey()
( fixes #860 )
2021-11-02 18:03:16 +00: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
f92d812f3c
Merge pull request #822 from yggdrasil-network/sni
...
TLS Server Name Indication
2021-09-24 05:14:28 -05:00
Arceliar
6af9b61b15
Merge pull request #842 from Arceliar/mutex
...
Fix incorrect mutex use in ipv6rwc
2021-09-24 04:43:44 -05:00
Arceliar
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
Arceliar
e5d638ff4b
better way to empty ipv6rwc buffer
2021-09-23 04:39:12 -05:00
Arceliar
86e5306eec
fix race from mutex that wasn't held long enough
2021-09-23 04:35:31 -05:00
Arceliar
529a33034b
gofmt to add new build comments
2021-09-23 04:34:58 -05:00
Fyodor Ustinov
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
Alex Kotov
571186ca77
Rename protohandler attributes
2021-09-03 01:45:30 +05:00
Alex Kotov
3c89781057
Align and reorder code for lesser diff
2021-09-01 07:58:11 +05:00
Alex Kotov
a5f2ba80a2
Organize code in "src/core/proto.go"
2021-09-01 07:50:03 +05:00
Alex Kotov
538ee13669
Add type core.AddHandlerFunc
2021-09-01 06:16:57 +05:00
Arceliar
3613614b41
Revert "Add IPReadWriteCloser interface"
...
This reverts commit ebe366ef3bcb1b22a31225b06d140d013e463647.
2021-08-07 12:56:36 -05:00
Neil Alexander
ebe366ef3b
Add IPReadWriteCloser interface
2021-08-07 10:17:21 +01:00
Neil Alexander
d1cd671bec
Fix bug
2021-08-01 21:39:49 +01:00
Neil Alexander
bbdff033ce
Update SNI code
2021-08-01 21:36:51 +01:00
Neil Alexander
f094cf34bf
Set SNI by default if the peering URI contains a DNS name
2021-07-28 22:23:33 +01:00
Neil Alexander
d8df9755f2
Allow specifying TLS SNI with ?sni= in peering URI
2021-07-28 22:11:20 +01:00
Neil Alexander
52309d094c
Merge pull request #800 from yggdrasil-network/iprwc
...
Refactor PacketConn/ReadWriteCloser interfaces
2021-07-15 09:39:03 +01:00
Timur Demin
04ecdf6045
Preallocate memory when deriving address from key
...
This makes src/address.AddrForKey preallocate 32 bytes before starting
the address derivation. As benches in syg_go show, reallocating temp
takes 20% of the function runtime.
2021-07-08 16:04:43 +05:00
Arceliar
cd5383f7b7
fix core tests
2021-07-07 18:36:51 -05:00
Arceliar
3704ebf4cb
fix debug rpcs and cleanup core.Close/core.Stop
2021-07-06 19:45:12 -05:00
Neil Alexander
e224c02d6d
Revert "Add LocalAddr to complete net.PacketConn interface"
...
This reverts commit e4ce2c79a9a6430f7145798a9a3e93c544bd869c.
2021-07-05 22:35:46 +01:00
Neil Alexander
e4ce2c79a9
Add LocalAddr to complete net.PacketConn interface
2021-07-05 22:26:09 +01:00
Arceliar
f990a56046
have the core wrap and export the underlying PacketConn, move IPv6 ReadWriteCloser wrapper logic to a separate package
2021-07-05 13:14:12 -05:00
Neil Alexander
9b28f725e2
Fix core_test.go
2021-06-28 18:28:56 +01:00
Neil Alexander
3646a8674c
Yggdrasil v0.4.0rc4
2021-06-28 18:21:53 +01: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
2a7a53b6b6
move GenerateConfig to defaults, to adjust dependency ordering, needed for stuff later
2021-06-27 02:18:51 -05:00
Arceliar
2db46c1250
make socks connect to tls listeners, TODO make that configurable
2021-06-25 21:40:19 -05:00
Arceliar
d1dfe38683
remove string from multicast announcement format
2021-06-25 21:27:29 -05:00
Arceliar
3b38ed082f
make failed sends a debug log, instead of error
2021-06-25 21:15:40 -05:00
Neil Alexander
39361af789
Update config comments
2021-06-19 17:51:11 +01:00
Arceliar
b7f57c0617
use TLS for multicast peers, fix TLS listener type in log output
2021-06-19 10:42:38 -05:00
Arceliar
5564de94ba
when using tls, if no pinned key is set, pin the key from the cert. require that cert keys match a pinned key
2021-06-19 09:53:11 -05:00
Arceliar
1bf751a474
update ironwood, only store 1 packet in the pre-session buffer
2021-06-19 07:44:37 -05:00
Arceliar
b34c3230f8
fix core_test.go and a race in setting/using mtu
2021-06-13 13:40:20 -05:00
Arceliar
cb81be94ec
skip multicast packets sent from our own key
2021-06-13 12:31:52 -05:00
Arceliar
2726dc0076
don't return an error if the source address is wrong, since this happens very frequently for link-local traffic
2021-06-13 09:51:53 -05:00
Arceliar
c6a7a077a3
add remote URI to GetPeers (fallback to net.Conn.RemoteAddr().String() if the uri is unknown)
2021-06-13 09:25:08 -05:00
Arceliar
6c63b02385
Merge branch 'future' of https://github.com/yggdrasil-network/yggdrasil-go into future
2021-06-13 05:44:32 -05:00