Oleksandr Natalenko
7e1f151048
Merge 50f6327722
into 3c2e14801d
2021-04-17 12:49:56 +00:00
Oleksandr Natalenko
50f6327722
tcp_linux: make tcp congestion control algorithm selectable
...
Signed-off-by: Oleksandr Natalenko <oleksandr@natalenko.name>
2021-04-17 14:49:29 +02:00
Neil Alexander
3c2e14801d
Merge pull request #772 from cwinfo/develop-something
...
Update Dockerfile
2021-03-24 13:41:53 +00:00
Christer Warén
9b67eb7ef2
Update Dockerfile
...
Removing personal information
2021-03-24 15:39:55 +02:00
Neil Alexander
983dfdb553
Merge pull request #770 from yggdrasil-network/develop
...
Version 0.3.16
2021-03-18 22:20:56 +00:00
Arceliar
ac375917c9
Update changelog for v0.3.16 release ( #769 )
...
* draft of changelog
* more changelog
2021-03-18 18:58:20 +00:00
Neil Alexander
f0a5cd542c
Build MSIs for Windows using CircleCI ( #766 )
...
* Try to build MSIs from CircleCI using wixl/msitools
* Upload msis
* Change condition
* Update Platform
* Update Platform
* Don't build ARM, it's apparently not well supported
* Don't build ARM, it's apparently not well supported
* Remove appveyor config
* Update comments
* newline
2021-03-07 14:03:34 +00:00
Neil Alexander
7174cfce40
Move up to Go 1.16, upgrade dependencies ( #765 )
2021-03-07 08:45:47 +00:00
Neil Alexander
0ab2685489
Fix wireguard dependency
2021-02-18 09:36:45 +00:00
Arceliar
6eb74a40e1
Merge pull request #751 from Arceliar/bugfix
...
Fix goroutine leak in link.go
2020-12-19 11:04:13 -06:00
Arceliar
a8810c7ee9
if the link handler exits early due to an existing connection, then have it return a channel to that connection which closes when the connection is closed, so we can choose to block on that to avoid spamming connection attempts with dial
2020-12-13 16:29:03 -06:00
Arceliar
1daf3e7bd7
remove link.go block on oldIntf if we already have a connection to the same node, this spams connections, so it's not a good long-term fix if that's where the goroutine leak is
2020-12-13 16:16:14 -06:00
rany
5b326d8bb8
Update generate.sh ( #736 )
...
The AppArmor profile in contrib forbids `/usr/bin/yggdrasil` from reading the file in `/var/backups/yggdrasil.conf...`. This works around that restriction by having the shell do the reading of `/var/backups/yggdrasil.conf...` file while providing the same exact functionality without making the AppArmor profile less restrictive.
Another change is the safe perms for the `/etc/yggdrasil.conf` (so that config will have 0640 permissions). This is important because if we kept the default of 644 then any user (privileged or unprivileged) will have the ability to read the yggdrasil private key. We use a restrictive umask of 0027 to make this possible.
2020-12-06 20:52:54 +00:00
rany
709ea6976c
apparmor: allow yggdrasil to resolve hostnames ( #739 )
...
The apparmor profile in it's current state won't allow resolving hostnames. We need `<abstractions/nameservice>` because we simply can't just allow `/etc/resolv.conf`. This is because systemd-resolved, resolvconf, and others rely on symbolic links to `/etc/resolv.conf` which would make this extremely complicated. `<abstractions/nameservice>` deals with this complexity to allow every single one of those packages (systemd-resolved, resolvconf, ... ).
```
network inet stream,
network inet dgram,
network inet6 dgram,
network inet6 stream,
network netlink raw,
```
was removed because it's already included in `<abstractions/nameservice>`. Some permissions that are no longer needed in newer yggdrasil versions were also removed.
`owner /sys/kernel/mm/transparent_hugepage/hpage_pmd_size r,` was changed to `/sys/kernel/mm/transparent_hugepage/hpage_pmd_size r,` because there is no guarantee that yggdrasil will always be run as root. (`owner` makes sure that the process's user and the file have the same owner, in that case, root. This might not always be the case so `owner` was removed)
2020-12-06 20:52:10 +00:00
Neil Alexander
b9f35c5530
Return ICMPv6 Destination Unreachable for unknown destinations ( #748 )
...
* Return ICMPv6 Destination Unreachable for unknown destinations
* Update go.mod/go.sum for yggdrasil-extras
* go mod tidy
2020-12-06 19:47:25 +00:00
Neil Alexander
cb3d8647de
Merge pull request #744 from octeep/master
...
Fix DefaultIfName for OpenBSD
2020-12-06 13:48:09 +00:00
Arceliar
df1239b054
attempting to debug/fix a possible goroutine leak
2020-11-25 02:44:13 -06:00
Neil Alexander
ea58a0f181
Clean go.mod/go.sum
2020-11-15 13:32:28 +00:00
octeep
04e890fcc3
Change DefaultIfName from "/dev/tun0" to "tun0"
...
Specifying the full path to the interface in OpenBSD would result in:
panic: Interface name must be tun[0-9]*
Therefore, DefaultIfName should be changed to tun0 in order to make yggdrasil work out of the box.
2020-11-13 06:38:27 +00:00
Arceliar
f1e9837a98
Merge pull request #738 from Arceliar/bugfix
...
Listener bugfix
2020-11-07 05:51:04 -06: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
Neil Alexander
9eb4981ac1
Merge pull request #734 from yggdrasil-network/develop-future
...
Future → Develop
2020-10-11 16:45:24 +01:00
Neil Alexander
e90d40a49e
Don't require lint in pipeline
2020-10-11 16:41:40 +01:00
Arceliar
b6c894bc01
Merge branch 'future' of https://github.com/yggdrasil-network/yggdrasil-go into develop-future
2020-10-11 07:35:28 -05:00
Arceliar
afebc1f93d
Merge pull request #712 from Arceliar/bugfix
...
[future] possibly fix missing switch peer issue
2020-10-11 07:34:19 -05:00
Neil Alexander
fdb296047b
Merge branch 'future' into develop-future
2020-09-27 20:28:26 +01:00
Neil Alexander
d3672545a3
Version 0.3.15 ( #731 )
2020-09-27 15:50:58 +01:00
Neil Alexander
ba7be10a2f
Update changelog
2020-09-27 15:05:14 +01:00
Ryan Westlund
d6d2d9c19a
Accept some golint suggestions ( #690 )
...
* Fixed some linter issues
* Simplified isBetter method
* Accept some linter suggestions
* Fix typo
Co-authored-by: klesomik <klesomiks@gmail.com>
Co-authored-by: Neil Alexander <neilalexander@users.noreply.github.com>
2020-09-27 14:42:46 +01:00
Neil Alexander
1492738c9e
golangci-lint in CI ( #733 )
...
* golangci-lint in CI
* Put CI in own job
* Run verify job
* Use go get
* Fix typo
* Name lint instead of verify
* Read the config
* Use debug tag
* Tweaks
2020-09-27 14:28:25 +01:00
Neil Alexander
48bf0ce210
Revert "Fix build"
...
This reverts commit e09ca6a089
.
2020-09-27 13:28:13 +01:00
Neil Alexander
e09ca6a089
Fix build
2020-09-27 13:26:37 +01:00
asymmetric
7588a55e84
README: mention Nix package ( #689 )
2020-09-27 13:24:19 +01:00
Ryan Westlund
fcb6f5ca36
Set default conf file on FreeBSD to /usr/local/etc/yggdrasil.conf ( #717 )
2020-09-27 13:22:49 +01:00
Arceliar
33e3679458
multicast, use the prebuilt interface map when checking active listeners ( #707 )
2020-09-27 13:16:51 +01:00
Neil Alexander
d9fd68f18c
Fix build
2020-07-06 14:21:28 +01:00
Neil Alexander
a4a346c498
Merge branch 'develop' into future
2020-07-06 14:16:38 +01:00
George
48f008a8e2
Implement Core.RemovePeer method ( #699 ) ( #709 )
...
Co-authored-by: George <zhoreeq@users.noreply.github.com>
2020-07-06 14:14:34 +01:00
Arceliar
3fded209df
try to fix some possible races with how peers are added/removed and how they're blocked in the switch when they enter a bad state
2020-06-06 12:30:54 -05:00
Arceliar
aec82d7a39
Merge pull request #702 from Arceliar/switch
...
Precompute more for the switch lookup table
2020-05-30 18:39:43 -05:00
Arceliar
a1856258a9
Merge pull request #704 from Arceliar/queues
...
Faster queue logic
2020-05-30 18:39:33 -05:00
Arceliar
35e7542889
Merge pull request #706 from Arceliar/buffers
...
More buffer fine-tuning
2020-05-30 18:39:24 -05:00
Arceliar
c83b070c69
remove old switch lookup functions
2020-05-30 13:12:49 -05:00
Arceliar
0f28862e99
remove unused sequence number from switch
2020-05-30 10:48:59 -05:00
Arceliar
5e170e22e1
more switch fixes
2020-05-30 10:47:54 -05:00
Arceliar
3dc2242712
fix handling of keepAliveTimer and blocked state in link.go
2020-05-30 10:32:15 -05:00
Arceliar
8775075c18
debugging
2020-05-27 19:35:19 -05:00
Arceliar
905c28f7b2
fix some issues with the rewritten switch lookup tables
2020-05-27 19:31:17 -05:00
Arceliar
1df305d31c
simplify how blocking is detected and packets are dequeued
2020-05-27 18:53:14 -05:00
Arceliar
09f9f4e8e4
use heap.Fix instead of heap.Remove + heap.Push when updating queues, this is theoretically faster
2020-05-25 20:09:57 -05:00