132 Commits

Author SHA1 Message Date
Klemens Nanni
83ec58afc7
Use unveil(2) on OpenBSD (#1194)
After #1175 removed ioctl(2) fallback code shelling out to ifconfig(8),
there is no code left (compiled on OpenBSD) that would fork(2) or
execve(2).

Drop the ability to run any executable file to double down on this, thus
reducing the attack surface of this this experimental, internet facing
daemon running as root.

pledge(2) is doable, but needs more polish.
unveil(2), however, is as simple as it gets.

On other systems, this code is a NOOP, but can still help to implement
similar safety belts.
2024-12-12 18:37:02 +00:00
Neil Alexander
b436052b2d
Update to Arceliar/ironwood@9deb08d 2024-12-10 19:02:13 +00:00
Neil Alexander
bdb2d399c5
Update dependencies 2024-11-23 14:55:14 +00:00
Neil Alexander
ff9e90c5aa
Update link cost calculation and next-hop selection (update to Arceliar/ironwood@75a6e82) 2024-11-22 09:31:38 +00:00
Neil Alexander
0b9469100c
Update dependencies 2024-10-17 13:23:11 +01:00
Neil Alexander
81e345c1ae
Update to Arceliar/ironwood@f6fb9da97a 2024-10-16 09:46:36 +01:00
Neil Alexander
a038a6a8ef
Update to Arceliar/ironwood@4ea1ec6d68 2024-10-13 21:33:47 +01:00
Neil Alexander
01e73792fe
Update to Arceliar/ironwood@0ac2ff3eef 2024-10-13 20:06:07 +01:00
Arceliar
43a1a3de64 update ironwood dependency 2024-09-28 18:52:04 -05:00
Neil Alexander
361b9fd6fc
Update WebSocket dependency to new import path 2024-09-22 16:54:58 +01:00
Neil Alexander
5461bb380e
Update dependencies 2024-09-22 16:51:04 +01:00
Neil
c4b29b735c
Link costing based on average RTT (#1171)
This PR updates Ironwood to include the new RTT-based link costing and
updates `yggdrasilctl` to report the cost in `getPeers`.

Co-authored-by: Neil Alexander <neilalexander@users.noreply.github.com>
2024-09-21 22:05:23 +00:00
Sergey Bobrenok
947b6ad7aa
Restore local peer discovery mechanism on Android 11+ (#1158)
This solution is bases on https://github.com/wlynxg/anet project.
`github.com/wlynxg/anet` is a partial alternative implementation of the
`golang.org/x/net` module. The goal of `anet` module is to provide
workarounds of the issues https://github.com/golang/go/issues/40569 and
https://github.com/golang/go/issues/68082 on Android 11+.

Tested on AOSP 13.

Resolves: #1149
2024-08-16 18:28:57 +01:00
Vasyl Gello
5ea16e63a1
Implement websocket (ws:// and wss://) links (#1152)
ws:// can be listened and dialed
wss:// is a convenience link for ws:// that supports dialing to ws://
peer.

---------

Signed-off-by: Vasyl Gello <vasek.gello@gmail.com>
Co-authored-by: Neil Alexander <neilalexander@users.noreply.github.com>
2024-07-23 22:58:11 +01:00
Neil Alexander
da7ebde828
Update dependencies 2024-07-20 15:37:31 +01:00
Neil
02d92ff81c
TUN vectorised reads/writes (#1145)
This PR updates the Wireguard dependency and updates to use new
vectorised reads/writes, which should reduce the number of syscalls and
improve performance.

This will only make a difference on Linux as this is the only platform
for which the Wireguard TUN library supports vectorised reads/writes.
For other platforms, single reads and writes will be performed as usual.

---------

Co-authored-by: Neil Alexander <neilalexander@users.noreply.github.com>
2024-07-20 15:24:30 +01:00
Neil
f788a18bef
Measure RTT, report in getPeers (#1143)
Co-authored-by: Neil Alexander <neilalexander@users.noreply.github.com>
2024-05-30 22:46:06 +01:00
Neil Alexander
5d9c5b3c9b
Minimum Go 1.21, update quic-go, update some CI actions 2024-05-27 22:03:41 +01:00
Arceliar
6f3a0a71d4 update ironwood and other dependencies 2024-05-25 06:16:11 -05:00
Arceliar
2d644eabc3 update ironwood (updates bloom dependency) 2024-03-21 21:33:07 -05:00
Neil Alexander
9f4c89acad
Update dependencies 2024-01-15 23:00:58 +00:00
Neil Alexander
5da4c1131e
Update ironwood to ddd1fa6 2024-01-15 19:07:17 +00:00
Arceliar
741f825b8e update ironwood dependency, should fix bloom filter encoding crash 2023-11-27 07:18:16 -06:00
Arceliar
0d676c6a3b update ironwood dependency 2023-11-26 04:56:44 -06:00
Arceliar
6677d70648 update ironwood, fixed data race from buffered pathfinder traffic 2023-11-09 22:06:19 -06:00
Arceliar
41e045fe5b update ironwood dependency 2023-11-03 21:55:42 -05:00
Arceliar
d17ac39789 update ironwood dependency, add a debug API call for lookups 2023-10-28 05:26:43 -05:00
Neil Alexander
ea6ccf552f
Update dependencies, test cross-builds for FreeBSD and OpenBSD in CI 2023-10-27 23:16:13 +01:00
Neil Alexander
4f656685ef
Revert Wireguard TUN upgrade (needs work for vectorised reads) 2023-10-11 23:52:39 +01:00
Neil Alexander
ed8ba584e2
Update dependencies 2023-10-11 23:42:37 +01:00
Neil Alexander
5b203ad8c5
Use Go 1.21 in CI, update minimum version to Go 1.20, lint fixes, update quic-go 2023-08-12 18:12:58 +01:00
Arceliar
fe14981dda update ironwood 2023-08-05 04:01:15 -05:00
Neil Alexander
d8dc6b2670
QUIC interface support 2023-06-18 20:54:14 +01:00
Arceliar
e94985c583 try to cheer up the linter again 2023-05-21 12:49:49 -05:00
Arceliar
8b5add5301 reduce allocations (also pulls in updated ironwood to do the same) 2023-05-21 12:38:16 -05:00
Neil Alexander
7afa23be4c
Link refactoring, admin socket changes 2023-05-19 19:09:05 +01:00
Arceliar
c7ee7d9681 update ironwood dependency (it should build now...) 2023-05-14 21:24:08 -05:00
Arceliar
101189a9dc update ironwood dependency 2023-05-14 21:13:53 -05:00
Arceliar
669e61af9a update to bugfixed ironwood, fix broken core test, add getPaths handler to admin socket 2023-05-13 16:15:04 -05:00
Arceliar
5e95246c26 update to ironwood v0.0.0-20230513191034-495699d87ae4 with API changes 2023-05-13 14:44:38 -05:00
Neil Alexander
1345960d5f
Update to Arceliar/ironwood@14d951a 2023-05-07 17:29:46 +01:00
Arceliar
e99c870d51 update admin functions and fix core tests 2023-03-26 16:49:40 -05:00
Arceliar
5b6d9d52f3 update ironwood replace, update ipv6rwc to work (may need updates later if interface changes) 2023-03-26 16:12:45 -05:00
Neil Alexander
5a243d5b95
Update ironwood replace 2023-03-19 21:44:34 +00:00
Neil Alexander
a148f4cfec
More updates for Ygg v0.5 2023-03-19 10:33:07 +00:00
Neil Alexander
83c1a810b5
New handshake, use softcrdt upstream 2023-03-18 12:14:32 +00:00
dependabot[bot]
886281af7c
Bump golang.org/x/net from 0.0.0-20221014081412-f15817d10f9b to 0.7.0
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.0.0-20221014081412-f15817d10f9b to 0.7.0.
- [Release notes](https://github.com/golang/net/releases)
- [Commits](https://github.com/golang/net/commits/v0.7.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-25 02:28:24 +00:00
Neil Alexander
596f16aa6c
Reduce allocations in encrypted package (update to Arceliar/ironwood@ec61cea) 2022-11-15 12:46:08 +00:00
Neil Alexander
ae24f5de38 Less aggressive key ratcheting (update to Arceliar/ironwood@bf5f12a) 2022-11-12 16:55:23 +00:00
Neil Alexander
cba667f28d Fix race conditions (update to Arceliar/ironwood@2c0740b) 2022-11-12 16:47:20 +00:00