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

1953 Commits

Author SHA1 Message Date
983dfdb553 Merge pull request #770 from yggdrasil-network/develop
Version 0.3.16
2021-03-18 22:20:56 +00:00
ac375917c9 Update changelog for v0.3.16 release (#769)
* draft of changelog

* more changelog
2021-03-18 18:58:20 +00:00
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
7174cfce40 Move up to Go 1.16, upgrade dependencies (#765) 2021-03-07 08:45:47 +00:00
0ab2685489 Fix wireguard dependency 2021-02-18 09:36:45 +00:00
6eb74a40e1 Merge pull request #751 from Arceliar/bugfix
Fix goroutine leak in link.go
2020-12-19 11:04:13 -06:00
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
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
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
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
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
cb3d8647de Merge pull request #744 from octeep/master
Fix DefaultIfName for OpenBSD
2020-12-06 13:48:09 +00:00
df1239b054 attempting to debug/fix a possible goroutine leak 2020-11-25 02:44:13 -06:00
ea58a0f181 Clean go.mod/go.sum 2020-11-15 13:32:28 +00:00
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
f1e9837a98 Merge pull request #738 from Arceliar/bugfix
Listener bugfix
2020-11-07 05:51:04 -06:00
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
9eb4981ac1 Merge pull request #734 from yggdrasil-network/develop-future
Future → Develop
2020-10-11 16:45:24 +01:00
e90d40a49e Don't require lint in pipeline 2020-10-11 16:41:40 +01:00
b6c894bc01 Merge branch 'future' of https://github.com/yggdrasil-network/yggdrasil-go into develop-future 2020-10-11 07:35:28 -05:00
afebc1f93d Merge pull request #712 from Arceliar/bugfix
[future] possibly fix missing switch peer issue
2020-10-11 07:34:19 -05:00
fdb296047b Merge branch 'future' into develop-future 2020-09-27 20:28:26 +01:00
d3672545a3 Version 0.3.15 (#731) 2020-09-27 15:50:58 +01:00
ba7be10a2f Update changelog 2020-09-27 15:05:14 +01:00
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
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
48bf0ce210 Revert "Fix build"
This reverts commit e09ca6a089.
2020-09-27 13:28:13 +01:00
e09ca6a089 Fix build 2020-09-27 13:26:37 +01:00
7588a55e84 README: mention Nix package (#689) 2020-09-27 13:24:19 +01:00
fcb6f5ca36 Set default conf file on FreeBSD to /usr/local/etc/yggdrasil.conf (#717) 2020-09-27 13:22:49 +01:00
33e3679458 multicast, use the prebuilt interface map when checking active listeners (#707) 2020-09-27 13:16:51 +01:00
d9fd68f18c Fix build 2020-07-06 14:21:28 +01:00
a4a346c498 Merge branch 'develop' into future 2020-07-06 14:16:38 +01:00
48f008a8e2 Implement Core.RemovePeer method (#699) (#709)
Co-authored-by: George <zhoreeq@users.noreply.github.com>
2020-07-06 14:14:34 +01:00
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
aec82d7a39 Merge pull request #702 from Arceliar/switch
Precompute more for the switch lookup table
2020-05-30 18:39:43 -05:00
a1856258a9 Merge pull request #704 from Arceliar/queues
Faster queue logic
2020-05-30 18:39:33 -05:00
35e7542889 Merge pull request #706 from Arceliar/buffers
More buffer fine-tuning
2020-05-30 18:39:24 -05:00
c83b070c69 remove old switch lookup functions 2020-05-30 13:12:49 -05:00
0f28862e99 remove unused sequence number from switch 2020-05-30 10:48:59 -05:00
5e170e22e1 more switch fixes 2020-05-30 10:47:54 -05:00
3dc2242712 fix handling of keepAliveTimer and blocked state in link.go 2020-05-30 10:32:15 -05:00
8775075c18 debugging 2020-05-27 19:35:19 -05:00
905c28f7b2 fix some issues with the rewritten switch lookup tables 2020-05-27 19:31:17 -05:00
1df305d31c simplify how blocking is detected and packets are dequeued 2020-05-27 18:53:14 -05:00
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
674d8b58b6 get things compiling again 2020-05-25 19:27:17 -05:00
152e9057a0 Merge branch 'develop' of https://github.com/yggdrasil-network/yggdrasil-go into future 2020-05-25 19:25:05 -05:00
ed3bf5ef07 Merge pull request #705 from Arceliar/bugfix
Ygg-over-ygg bugfix
2020-05-25 19:24:34 -05:00
85eec5ba8e tcp ygg-over-ygg debug logging 2020-05-25 19:13:37 -05:00