2365 Commits

Author SHA1 Message Date
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
c7ffbc05a5 Update GitHub Actions 2022-04-17 17:53:55 +01:00
Neil Alexander
93c94e38f9
GitHub Actions 2022-04-17 17:24:34 +01:00
Neil Alexander
6c4778bb67
Merge pull request #907 from yggdrasil-network/neilalexander/pmtud 2022-04-03 17:45:33 +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
559e31c502
Merge pull request #896 from yggdrasil-network/develop
Version 0.4.3
v0.4.3
2022-02-06 15:24:01 +00:00
Neil Alexander
31717a8578
Version 0.4.3 changelog (#895)
* Version 0.4.3 changelog

* Update CHANGELOG.md
2022-02-06 15:16:54 +00:00
Neil Alexander
315e222173 Update to Arceliar/ironwood@8951369625 2022-02-01 21:53:55 +00: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
R4SAS
620b901473
Revert downgrading of wireguard and update wintun in windows installer (#865)
* Revert "Revert Wireguard update"

This reverts commit 03a5cce5bb739d5f3ad5d9877c38817cf88eccd5.

Signed-off-by: R4SAS <r4sas@i2pmail.org>

* [win] update installer build script

Signed-off-by: R4SAS <r4sas@i2pmail.org>

* [appveyor] use golang 1.17.3 for building

Signed-off-by: R4SAS <r4sas@i2pmail.org>

* [appveyor] use golang 1.17.5 for building

Signed-off-by: R4SAS <r4sas@i2pmail.org>

* test script

Signed-off-by: R4SAS <r4sas@i2pmail.org>

* test msi and semver scripts

Signed-off-by: R4SAS <r4sas@i2pmail.org>

Co-authored-by: Neil Alexander <neilalexander@users.noreply.github.com>
2022-01-30 21:57:10 +00:00
Neil Alexander
09ea351682
Update build 2022-01-30 19:59:17 +00:00
Neil Alexander
6d92edd405
Move src/mobile into main repository (#864)
* Move `src/mobile` into main repository

* Update go.mod/go.sum

* Move to `contrib`, separate mobile build script
2022-01-30 19:48:32 +00:00
Neil Alexander
a4bdf3de32
Remove CAP_NET_RAW from systemd service unit, as it's not clear why it is there in the first place 2022-01-15 22:17:49 +00:00
Neil Alexander
408d381591 Set hostArchitectures in macOS .pkg installer 2021-12-06 11:19:58 +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
e4e58831bf Version 0.4.2 v0.4.2 2021-11-03 22:16:53 +00:00
Neil Alexander
03a5cce5bb Revert Wireguard update
This reverts commit 5c19f3f88c6b664456721a933c4e37c85214504d.
2021-11-03 20:03:27 +00:00
Neil Alexander
1f64319712 Version 0.4.1 v0.4.1 2021-11-03 17:53:35 +00:00
Neil Alexander
4f3117d81d Use network-online.target instead of network.target for systemd service unit 2021-11-03 17:40:06 +00:00
Neil Alexander
5c19f3f88c Update dependencies 2021-11-03 10:33:00 +00:00
Arceliar
feb02c485a
Merge pull request #861 from yggdrasil-network/fix860
Fix panic in `address.GetKey()`
2021-11-02 17:30:50 -05: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
Neil Alexander
9a1d1df85e
Use newer Xcode image for macOS builds in CircleCI 2021-09-23 12:11:03 +01: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
Paul Dee
1c7deb72db
Align struct elements to byte boundaries: reduce memory footprint. (#834) 2021-09-21 21:19:40 +01: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
Alex Kotov
cbb6dc1b7d
Split yggdrasilctl code into separate functions (refactoring) (#815)
* Move yggdrasilctl responses to separate functions

* Move yggdrasilctl request switch to separate function

* Add empty lines

* Create struct CmdLine for yggdrasilctl

* Move yggdrasilctl command line parsing to separate func

* Turn struct CmdLine into CmdLineEnv

* Rename func parseCmdLine to parseFlagsAndArgs

* Move yggdrasilctl endpoint setting logic into separate func

* Function to create yggdrasilctl CmdLineEnv

* Reorder code

* Move struct fields into lines

* Turn yggdrasilctl CmdLineEnv funcs to methods

* Move yggdrasilctl connection code to separate func

* Rename functions

* Move yggdrasilctl command line env to separate mod

* Move yggdrasilctl command line env to main mod

* Run goimports

Co-authored-by: Neil Alexander <neilalexander@users.noreply.github.com>
2021-08-02 22:47:38 +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
b333c7d7f3
Merge pull request #813 from cofob/patch-1
Allow yggdrasil bind to ports <1024
2021-07-22 12:18:11 +01:00
cofob
6a0ddc20ef
Allow yggdrasil bind to ports <1024 2021-07-21 17:57:59 +07:00
Neil Alexander
52309d094c
Merge pull request #800 from yggdrasil-network/iprwc
Refactor PacketConn/ReadWriteCloser interfaces
2021-07-15 09:39:03 +01:00
Arceliar
747a2538d7
Merge pull request #801 from tdemin/develop
Preallocate memory when deriving address from key
2021-07-08 17:47:43 -05: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