Commit Graph

1673 Commits

Author SHA1 Message Date
dependabot[bot] 058ba714a4 Bump the myceliumd group in /myceliumd with 9 updates
Bumps the myceliumd group in /myceliumd with 9 updates:

| Package | From | To |
| --- | --- | --- |
| [clap](https://github.com/clap-rs/clap) | `4.5.50` | `4.5.54` |
| [tracing](https://github.com/tokio-rs/tracing) | `0.1.41` | `0.1.44` |
| [tracing-subscriber](https://github.com/tokio-rs/tracing) | `0.3.20` | `0.3.22` |
| [serde_json](https://github.com/serde-rs/json) | `1.0.145` | `1.0.149` |
| [tokio](https://github.com/tokio-rs/tokio) | `1.48.0` | `1.49.0` |
| [reqwest](https://github.com/seanmonstar/reqwest) | `0.12.24` | `0.13.1` |
| [byte-unit](https://github.com/magiclen/byte-unit) | `5.1.6` | `5.2.0` |
| [config](https://github.com/rust-cli/config-rs) | `0.15.18` | `0.15.19` |
| [toml](https://github.com/toml-rs/toml) | `0.9.8` | `0.9.11+spec-1.1.0` |


Updates `clap` from 4.5.50 to 4.5.54
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.5.50...clap_complete-v4.5.54)

Updates `tracing` from 0.1.41 to 0.1.44
- [Release notes](https://github.com/tokio-rs/tracing/releases)
- [Commits](https://github.com/tokio-rs/tracing/compare/tracing-0.1.41...tracing-0.1.44)

Updates `tracing-subscriber` from 0.3.20 to 0.3.22
- [Release notes](https://github.com/tokio-rs/tracing/releases)
- [Commits](https://github.com/tokio-rs/tracing/compare/tracing-subscriber-0.3.20...tracing-subscriber-0.3.22)

Updates `serde_json` from 1.0.145 to 1.0.149
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.145...v1.0.149)

Updates `tokio` from 1.48.0 to 1.49.0
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.48.0...tokio-1.49.0)

Updates `reqwest` from 0.12.24 to 0.13.1
- [Release notes](https://github.com/seanmonstar/reqwest/releases)
- [Changelog](https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/seanmonstar/reqwest/compare/v0.12.24...v0.13.1)

Updates `byte-unit` from 5.1.6 to 5.2.0
- [Commits](https://github.com/magiclen/byte-unit/compare/v5.1.6...v5.2.0)

Updates `config` from 0.15.18 to 0.15.19
- [Changelog](https://github.com/rust-cli/config-rs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rust-cli/config-rs/compare/v0.15.18...v0.15.19)

Updates `toml` from 0.9.8 to 0.9.11+spec-1.1.0
- [Commits](https://github.com/toml-rs/toml/compare/toml-v0.9.8...toml-v0.9.11)

---
updated-dependencies:
- dependency-name: clap
  dependency-version: 4.5.54
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: myceliumd
- dependency-name: tracing
  dependency-version: 0.1.44
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: myceliumd
- dependency-name: tracing-subscriber
  dependency-version: 0.3.22
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: myceliumd
- dependency-name: serde_json
  dependency-version: 1.0.149
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: myceliumd
- dependency-name: tokio
  dependency-version: 1.49.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: myceliumd
- dependency-name: reqwest
  dependency-version: 0.13.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: myceliumd
- dependency-name: byte-unit
  dependency-version: 5.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: myceliumd
- dependency-name: config
  dependency-version: 0.15.19
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: myceliumd
- dependency-name: toml
  dependency-version: 0.9.11+spec-1.1.0
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: myceliumd
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-28 12:27:14 +01:00
dependabot[bot] 8d67e8979d Bump the mycelium group with 22 updates
Bumps the mycelium group with 22 updates:

| Package | From | To |
| --- | --- | --- |
| [cdn-meta](https://github.com/threefoldtech/mycelium-cdn-registry) | ``2fac047`` | ``b5848e6`` |
| [tokio](https://github.com/tokio-rs/tokio) | `1.48.0` | `1.49.0` |
| [tokio-util](https://github.com/tokio-rs/tokio) | `0.7.16` | `0.7.18` |
| [bytes](https://github.com/tokio-rs/bytes) | `1.10.1` | `1.11.0` |
| [tracing](https://github.com/tokio-rs/tracing) | `0.1.41` | `0.1.44` |
| [tracing-subscriber](https://github.com/tokio-rs/tracing) | `0.3.20` | `0.3.22` |
| [tokio-stream](https://github.com/tokio-rs/tokio) | `0.1.17` | `0.1.18` |
| [left-right](https://github.com/jonhoo/left-right) | `0.11.6` | `0.11.7` |
| [blake3](https://github.com/BLAKE3-team/BLAKE3) | `1.8.2` | `1.8.3` |
| [rustls](https://github.com/rustls/rustls) | `0.23.34` | `0.23.36` |
| [rcgen](https://github.com/rustls/rcgen) | `0.14.5` | `0.14.7` |
| [netdev](https://github.com/shellrow/netdev) | `0.38.2` | `0.40.0` |
| [openssl](https://github.com/rust-openssl/rust-openssl) | `0.10.74` | `0.10.75` |
| [arc-swap](https://github.com/vorner/arc-swap) | `1.7.1` | `1.8.0` |
| [axum](https://github.com/tokio-rs/axum) | `0.8.6` | `0.8.8` |
| [axum-extra](https://github.com/tokio-rs/axum) | `0.10.3` | `0.12.5` |
| [redis](https://github.com/redis-rs/redis-rs) | `0.32.7` | `1.0.2` |
| [rtnetlink](https://github.com/rust-netlink/rtnetlink) | `0.18.1` | `0.20.0` |
| [nix](https://github.com/nix-rust/nix) | `0.29.0` | `0.30.1` |
| [libc](https://github.com/rust-lang/libc) | `0.2.177` | `0.2.180` |
| [serde_json](https://github.com/serde-rs/json) | `1.0.145` | `1.0.149` |
| [byte-unit](https://github.com/magiclen/byte-unit) | `5.1.6` | `5.2.0` |


Updates `cdn-meta` from `2fac047` to `b5848e6`
- [Release notes](https://github.com/threefoldtech/mycelium-cdn-registry/releases)
- [Commits](https://github.com/threefoldtech/mycelium-cdn-registry/compare/2fac04710b60502a5165f1b1d90671730346e977...b5848e6e9e6a9a1c122ea5744b819256071b2c70)

Updates `tokio` from 1.48.0 to 1.49.0
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.48.0...tokio-1.49.0)

Updates `tokio-util` from 0.7.16 to 0.7.18
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-util-0.7.16...tokio-util-0.7.18)

Updates `bytes` from 1.10.1 to 1.11.0
- [Release notes](https://github.com/tokio-rs/bytes/releases)
- [Changelog](https://github.com/tokio-rs/bytes/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tokio-rs/bytes/compare/v1.10.1...v1.11.0)

Updates `tracing` from 0.1.41 to 0.1.44
- [Release notes](https://github.com/tokio-rs/tracing/releases)
- [Commits](https://github.com/tokio-rs/tracing/compare/tracing-0.1.41...tracing-0.1.44)

Updates `tracing-subscriber` from 0.3.20 to 0.3.22
- [Release notes](https://github.com/tokio-rs/tracing/releases)
- [Commits](https://github.com/tokio-rs/tracing/compare/tracing-subscriber-0.3.20...tracing-subscriber-0.3.22)

Updates `tokio-stream` from 0.1.17 to 0.1.18
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-stream-0.1.17...tokio-stream-0.1.18)

Updates `left-right` from 0.11.6 to 0.11.7
- [Commits](https://github.com/jonhoo/left-right/compare/v0.11.6...v0.11.7)

Updates `blake3` from 1.8.2 to 1.8.3
- [Release notes](https://github.com/BLAKE3-team/BLAKE3/releases)
- [Commits](https://github.com/BLAKE3-team/BLAKE3/compare/1.8.2...1.8.3)

Updates `rustls` from 0.23.34 to 0.23.36
- [Release notes](https://github.com/rustls/rustls/releases)
- [Changelog](https://github.com/rustls/rustls/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rustls/rustls/compare/v/0.23.34...v/0.23.36)

Updates `rcgen` from 0.14.5 to 0.14.7
- [Release notes](https://github.com/rustls/rcgen/releases)
- [Commits](https://github.com/rustls/rcgen/compare/v0.14.5...v0.14.7)

Updates `netdev` from 0.38.2 to 0.40.0
- [Release notes](https://github.com/shellrow/netdev/releases)
- [Commits](https://github.com/shellrow/netdev/compare/v0.38.2...v0.40.0)

Updates `openssl` from 0.10.74 to 0.10.75
- [Release notes](https://github.com/rust-openssl/rust-openssl/releases)
- [Commits](https://github.com/rust-openssl/rust-openssl/compare/openssl-v0.10.74...openssl-v0.10.75)

Updates `arc-swap` from 1.7.1 to 1.8.0
- [Changelog](https://github.com/vorner/arc-swap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vorner/arc-swap/compare/v1.7.1...v1.8.0)

Updates `axum` from 0.8.6 to 0.8.8
- [Release notes](https://github.com/tokio-rs/axum/releases)
- [Changelog](https://github.com/tokio-rs/axum/blob/main/CHANGELOG.md)
- [Commits](https://github.com/tokio-rs/axum/compare/axum-v0.8.6...axum-v0.8.8)

Updates `axum-extra` from 0.10.3 to 0.12.5
- [Release notes](https://github.com/tokio-rs/axum/releases)
- [Changelog](https://github.com/tokio-rs/axum/blob/main/CHANGELOG.md)
- [Commits](https://github.com/tokio-rs/axum/compare/axum-extra-v0.10.3...axum-extra-v0.12.5)

Updates `redis` from 0.32.7 to 1.0.2
- [Release notes](https://github.com/redis-rs/redis-rs/releases)
- [Commits](https://github.com/redis-rs/redis-rs/compare/redis-0.32.7...redis-1.0.2)

Updates `rtnetlink` from 0.18.1 to 0.20.0
- [Release notes](https://github.com/rust-netlink/rtnetlink/releases)
- [Changelog](https://github.com/rust-netlink/rtnetlink/blob/main/CHANGELOG)
- [Commits](https://github.com/rust-netlink/rtnetlink/compare/v0.18.1...v0.20.0)

Updates `nix` from 0.29.0 to 0.30.1
- [Changelog](https://github.com/nix-rust/nix/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nix-rust/nix/compare/v0.29.0...v0.30.1)

Updates `libc` from 0.2.177 to 0.2.180
- [Release notes](https://github.com/rust-lang/libc/releases)
- [Changelog](https://github.com/rust-lang/libc/blob/0.2.180/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/libc/compare/0.2.177...0.2.180)

Updates `serde_json` from 1.0.145 to 1.0.149
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.145...v1.0.149)

Updates `byte-unit` from 5.1.6 to 5.2.0
- [Commits](https://github.com/magiclen/byte-unit/compare/v5.1.6...v5.2.0)

---
updated-dependencies:
- dependency-name: cdn-meta
  dependency-version: b5848e6e9e6a9a1c122ea5744b819256071b2c70
  dependency-type: direct:production
  dependency-group: mycelium
- dependency-name: tokio
  dependency-version: 1.49.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: mycelium
- dependency-name: tokio-util
  dependency-version: 0.7.18
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: mycelium
- dependency-name: bytes
  dependency-version: 1.11.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: mycelium
- dependency-name: tracing
  dependency-version: 0.1.44
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: mycelium
- dependency-name: tracing-subscriber
  dependency-version: 0.3.22
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: mycelium
- dependency-name: tokio-stream
  dependency-version: 0.1.18
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: mycelium
- dependency-name: left-right
  dependency-version: 0.11.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: mycelium
- dependency-name: blake3
  dependency-version: 1.8.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: mycelium
- dependency-name: rustls
  dependency-version: 0.23.36
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: mycelium
- dependency-name: rcgen
  dependency-version: 0.14.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: mycelium
- dependency-name: netdev
  dependency-version: 0.40.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: mycelium
- dependency-name: openssl
  dependency-version: 0.10.75
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: mycelium
- dependency-name: arc-swap
  dependency-version: 1.8.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: mycelium
- dependency-name: axum
  dependency-version: 0.8.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: mycelium
- dependency-name: axum-extra
  dependency-version: 0.12.5
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: mycelium
- dependency-name: redis
  dependency-version: 1.0.2
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: mycelium
- dependency-name: rtnetlink
  dependency-version: 0.20.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: mycelium
- dependency-name: nix
  dependency-version: 0.30.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: mycelium
- dependency-name: libc
  dependency-version: 0.2.180
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: mycelium
- dependency-name: serde_json
  dependency-version: 1.0.149
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: mycelium
- dependency-name: byte-unit
  dependency-version: 5.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: mycelium
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-28 12:26:48 +01:00
Lee Smet 979e79a8d5 Update mobile crate with latest peer discovery changes
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2026-01-22 17:00:24 +01:00
Lee Smet 2306ca666d Close #742: Allow limitting of peer discovery to specific interfaces
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2026-01-22 15:00:52 +01:00
Lee Smet 20a3038d03 Close #444: Add requirement for wintun.dll on windows
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2026-01-20 14:32:13 +01:00
Lee Smet 4f4d363cfb Update CHANGELOG.md with latest changes
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2026-01-20 13:55:28 +01:00
Lee Smet c845ef0a19 Add conditional complation for unused methods
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2026-01-20 13:55:28 +01:00
Lee Smet 177e8864f2 Adjust packet queues max sizes
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2026-01-20 13:55:28 +01:00
Lee Smet 10cb22adbd Also queue unencrypted ingress packets
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2026-01-20 13:55:28 +01:00
Lee Smet 391f457f97 Add packet queue to store packets during route lookup
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2026-01-20 13:55:28 +01:00
Lee Smet 2a44afd931 Bump version to v0.7.1
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
v0.7.1
2026-01-05 16:41:24 +01:00
Eugene Lamskoy 8ff17e49d9 Add ArchLinux AUR package information to README
Added information about ArchLinux AUR package for Mycelium.

Signed-off-by: Eugene Lamskoy <lamskoy@users.noreply.github.com>
2026-01-05 15:45:21 +01:00
AhmedHanafy725 f56a212155 Revert "Only enable the quic port if there are quic peers"
This reverts commit b27acd48ae.
2025-12-30 10:47:34 +02:00
AhmedHanafy725 a864aa81df Fix installing crypto provider when it's already installed 2025-12-25 11:43:27 +02:00
AhmedHanafy725 4637657599 Add api server to the mycelium mobile package 2025-12-24 15:20:09 +02:00
AhmedHanafy725 b27acd48ae Only enable the quic port if there are quic peers 2025-12-24 15:09:12 +02:00
AhmedHanafy725 61151de2ec Update mobile/src/lib.rs
Add the default quic listen port to the mobile package
2025-12-23 14:54:22 +00:00
Lee Smet e8653f66a0 Remove herodb from myceliumd
Was added as part of an experiment we aren't continuing

Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-12-09 13:12:48 +01:00
Lee Smet d7d92cee97 Bump version to v0.7.0
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
v0.7.0
2025-12-08 17:10:56 +01:00
Tristan B. Velloza Kildaire f55e5a6f8c Docker image + automatic GitHub image registry hosting + compose.yml (#707)
* Dockerfile

- Added

* Dockerfile

- Added build depedencies and upgrade system

* Create docker.yml

Signed-off-by: Tristan B. Velloza Kildaire <deavmi@redxen.eu>

* Dockerfile

- build the daemon and set entry point for running

* Dockerfile

- FIxed ptha

* d

* compose

- added initial docker compose file

* test

* Dockerfile

- Removed

* Added env file
Added more commands

* try copy now

* disable for now

* d

* d

* d

* d

* d

* d

* d

* DOckerfile

- try this

* Dockerfile

- Copy needs absolute path,

* d

* d

* d

* ss

* ockerfile

- Use seperate stage

* compose

- Add access to driver control file for making `tun` files (in whatever ns we are in)
- Added capability to allow just that

* Dockerfile

- Disable stage for nwo

* Revert "Dockerfile"

This reverts commit 2bb4ac697f.

* Dockerfile

- Cleaned up

* Added logging level selection

* Compose

- More can now be set

* Specify key file

* data dir

* d

* Compose

- Fixed

* d

* d

* d

* d

* j

* df

* d

* d

* d

* USe this rather

* d

* d

* Compose

- Cleaned up

* d

* d

* d

* d

* sd

* d

* d

* d

* j

* d

* finished

* clean edup

* d

* d

* okay that wont' work

* Dockerfile

- Use `--release` to remove debufg symvols

* Dockerfile

- Fixed path due to relese mode

* g

* i

* Log silenelty

---------

Signed-off-by: Tristan B. Velloza Kildaire <deavmi@redxen.eu>
2025-12-08 16:49:46 +01:00
Lee Smet 50e4dbe037 Restore linux tun interface MTU
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-12-08 14:59:18 +01:00
Lee Smet 8aa20d366b Update CHANGELOG.md
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-12-08 14:59:18 +01:00
Lee Smet 4d5368b9e5 Add flushing for peer connections as separate select branch
This restores the old behavior which was introduced to fix an issue
where a peer task could get stuck in a flush call (which was not a
select branch), thus preventing the task from ever exitting, causing a
buildup of tasks (which could keep open OS resources like file
descriptors, causing an eventual resource exhaustion). To do this,
introduce a Connection{Read,Write}Half, and add a `split` method to the
Connection trait. This mimics the behavior of the old code which wrapped
a connection in a framed and then split that entirely.

Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-12-08 14:59:18 +01:00
Lee Smet e7b226bc80 Track send and received bytes for Quic datagrams
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-12-08 14:59:18 +01:00
Lee Smet 6c483289be Restore crypto buffer packet size to 1400
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-12-08 14:59:18 +01:00
Lee Smet b49460ec69 Implement updated Connection trait for new TlsStream ssl wrapper
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-12-08 14:59:18 +01:00
Lee Smet 56fd6868ee Fix private network peer construction
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-12-08 14:59:18 +01:00
Lee Smet 499ddf8f10 Quinn transport config tuning
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-12-08 14:59:18 +01:00
Lee Smet 13672bbcbf Revert "Use BBR congestion controller for quic"
This reverts commit f68b8823bb.

BBR congestion controller implementation in quinn is currently not
maintained
2025-12-08 14:59:18 +01:00
Lee Smet 2a2163d286 Use BBR congestion controller for quic
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-12-08 14:59:18 +01:00
Lee Smet 5cb934d475 Avoid needless error map closure
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-12-08 14:59:18 +01:00
Lee Smet fecca6d450 Remove unused imports
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-12-08 14:59:18 +01:00
Lee Smet 1d1d4f6b63 Make sure GSO is enabled if possible
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-12-08 14:59:18 +01:00
Lee Smet 0f804f5072 Always flush connection to a peer after queuing a packet
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-12-08 14:59:18 +01:00
Lee Smet d83185947f Initial QUIC datagram frames
Still WIP

Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-12-08 14:59:18 +01:00
Lee Smet 0652324ba6 Rework connection trait
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-12-08 14:59:18 +01:00
Lee Smet 818184dbc0 Inject quin connection in quic transport
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-12-08 14:59:18 +01:00
Lee Smet ca36e00d2e Rework key lookup to use finite loops instead of recursion
The recursion relied on the fact that the query state times out
relatively quickly. It seems there is at least 1 race condition where
that assumption is false, leading to potentially a stack overflow, or
blocking the system. It's not entirely clear why this happens since
these methods only read the routing table, though it might be that the
caller holds the write handle for the routing table, which prevents the
query timeout expiry in turn causing infinite recursion. Since the query
state only lasts 5 seconds currently, we loop 50 times at most with a
100ms interval. This is for sure not ideal, but for now it solves the
issue. This further emphasises the need to return to synchronous route
discovery, preferably while implementing IS-IS (#656).

Somehow fixes #677

Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-10-31 13:53:08 +01:00
Lee Smet 1388935e35 Fix debug typo in API
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-10-31 12:26:02 +01:00
Lee Smet 702cb085e3 Update binary lockfiles
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-10-24 15:35:01 +02:00
dependabot[bot] 51c005f271 Bump the mycelium group with 5 updates
Bumps the mycelium group with 5 updates:

| Package | From | To |
| --- | --- | --- |
| [tokio](https://github.com/tokio-rs/tokio) | `1.47.1` | `1.48.0` |
| [left-right](https://github.com/jonhoo/left-right) | `0.11.5` | `0.11.6` |
| [rustls](https://github.com/rustls/rustls) | `0.23.32` | `0.23.33` |
| [openssl](https://github.com/rust-openssl/rust-openssl) | `0.10.73` | `0.10.74` |
| [nix](https://github.com/nix-rust/nix) | `0.29.0` | `0.30.1` |


Updates `tokio` from 1.47.1 to 1.48.0
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.47.1...tokio-1.48.0)

Updates `left-right` from 0.11.5 to 0.11.6
- [Commits](https://github.com/jonhoo/left-right/compare/v0.11.5...v0.11.6)

Updates `rustls` from 0.23.32 to 0.23.33
- [Release notes](https://github.com/rustls/rustls/releases)
- [Changelog](https://github.com/rustls/rustls/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rustls/rustls/compare/v/0.23.32...v/0.23.33)

Updates `openssl` from 0.10.73 to 0.10.74
- [Release notes](https://github.com/rust-openssl/rust-openssl/releases)
- [Commits](https://github.com/rust-openssl/rust-openssl/compare/openssl-v0.10.73...openssl-v0.10.74)

Updates `nix` from 0.29.0 to 0.30.1
- [Changelog](https://github.com/nix-rust/nix/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nix-rust/nix/compare/v0.29.0...v0.30.1)

---
updated-dependencies:
- dependency-name: tokio
  dependency-version: 1.48.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: mycelium
- dependency-name: left-right
  dependency-version: 0.11.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: mycelium
- dependency-name: rustls
  dependency-version: 0.23.33
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: mycelium
- dependency-name: openssl
  dependency-version: 0.10.74
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: mycelium
- dependency-name: nix
  dependency-version: 0.30.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: mycelium
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-24 15:12:22 +02:00
dependabot[bot] 182a64c73d Bump the myceliumd group in /myceliumd with 2 updates
Bumps the myceliumd group in /myceliumd with 2 updates: [clap](https://github.com/clap-rs/clap) and [tokio](https://github.com/tokio-rs/tokio).


Updates `clap` from 4.5.49 to 4.5.50
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.5.49...clap_complete-v4.5.50)

Updates `tokio` from 1.47.1 to 1.48.0
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.47.1...tokio-1.48.0)

---
updated-dependencies:
- dependency-name: clap
  dependency-version: 4.5.50
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: myceliumd
- dependency-name: tokio
  dependency-version: 1.48.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: myceliumd
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-24 15:11:52 +02:00
dependabot[bot] 25d57c575f Bump the myceliumd-private group in /myceliumd-private with 2 updates
Bumps the myceliumd-private group in /myceliumd-private with 2 updates: [clap](https://github.com/clap-rs/clap) and [tokio](https://github.com/tokio-rs/tokio).


Updates `clap` from 4.5.49 to 4.5.50
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.5.49...clap_complete-v4.5.50)

Updates `tokio` from 1.47.1 to 1.48.0
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.47.1...tokio-1.48.0)

---
updated-dependencies:
- dependency-name: clap
  dependency-version: 4.5.50
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: myceliumd-private
- dependency-name: tokio
  dependency-version: 1.48.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: myceliumd-private
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-24 15:11:28 +02:00
Lee Smet a04be1bd44 Add optional forwarding DNS implementation
This prepares for an eventual DNS implementation where certain TLD's are
redirected to an alternative backend

Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-10-24 10:54:39 +02:00
Lee Smet a1ca01341f Update binary lockfiles
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-10-15 10:41:55 +02:00
dependabot[bot] ee8d5e597b Bump the mycelium group across 1 directory with 7 updates
Bumps the mycelium group with 7 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [netdev](https://github.com/shellrow/netdev) | `0.37.3` | `0.38.2` |
| [axum](https://github.com/tokio-rs/axum) | `0.8.5` | `0.8.6` |
| [axum-extra](https://github.com/tokio-rs/axum) | `0.10.2` | `0.10.3` |
| [reqwest](https://github.com/seanmonstar/reqwest) | `0.12.23` | `0.12.24` |
| [redis](https://github.com/redis-rs/redis-rs) | `0.32.6` | `0.32.7` |
| [nix](https://github.com/nix-rust/nix) | `0.29.0` | `0.30.1` |
| [libc](https://github.com/rust-lang/libc) | `0.2.176` | `0.2.177` |



Updates `netdev` from 0.37.3 to 0.38.2
- [Release notes](https://github.com/shellrow/netdev/releases)
- [Commits](https://github.com/shellrow/netdev/compare/v0.37.3...v0.38.2)

Updates `axum` from 0.8.5 to 0.8.6
- [Release notes](https://github.com/tokio-rs/axum/releases)
- [Changelog](https://github.com/tokio-rs/axum/blob/main/CHANGELOG.md)
- [Commits](https://github.com/tokio-rs/axum/compare/axum-v0.8.5...axum-v0.8.6)

Updates `axum-extra` from 0.10.2 to 0.10.3
- [Release notes](https://github.com/tokio-rs/axum/releases)
- [Changelog](https://github.com/tokio-rs/axum/blob/main/CHANGELOG.md)
- [Commits](https://github.com/tokio-rs/axum/compare/axum-extra-v0.10.2...axum-extra-v0.10.3)

Updates `reqwest` from 0.12.23 to 0.12.24
- [Release notes](https://github.com/seanmonstar/reqwest/releases)
- [Changelog](https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/seanmonstar/reqwest/compare/v0.12.23...v0.12.24)

Updates `redis` from 0.32.6 to 0.32.7
- [Release notes](https://github.com/redis-rs/redis-rs/releases)
- [Commits](https://github.com/redis-rs/redis-rs/compare/redis-0.32.6...redis-0.32.7)

Updates `nix` from 0.29.0 to 0.30.1
- [Changelog](https://github.com/nix-rust/nix/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nix-rust/nix/compare/v0.29.0...v0.30.1)

Updates `libc` from 0.2.176 to 0.2.177
- [Release notes](https://github.com/rust-lang/libc/releases)
- [Changelog](https://github.com/rust-lang/libc/blob/0.2.177/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/libc/compare/0.2.176...0.2.177)

---
updated-dependencies:
- dependency-name: netdev
  dependency-version: 0.38.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: mycelium
- dependency-name: axum
  dependency-version: 0.8.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: mycelium
- dependency-name: axum-extra
  dependency-version: 0.10.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: mycelium
- dependency-name: reqwest
  dependency-version: 0.12.24
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: mycelium
- dependency-name: redis
  dependency-version: 0.32.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: mycelium
- dependency-name: nix
  dependency-version: 0.30.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: mycelium
- dependency-name: libc
  dependency-version: 0.2.177
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: mycelium
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-15 10:14:44 +02:00
dependabot[bot] b9802f3a99 Bump the myceliumd-private group across 1 directory with 4 updates
Bumps the myceliumd-private group with 4 updates in the /myceliumd-private directory: [clap](https://github.com/clap-rs/clap), [reqwest](https://github.com/seanmonstar/reqwest), [config](https://github.com/rust-cli/config-rs) and [toml](https://github.com/toml-rs/toml).


Updates `clap` from 4.5.48 to 4.5.49
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.5.48...clap_complete-v4.5.49)

Updates `reqwest` from 0.12.23 to 0.12.24
- [Release notes](https://github.com/seanmonstar/reqwest/releases)
- [Changelog](https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/seanmonstar/reqwest/compare/v0.12.23...v0.12.24)

Updates `config` from 0.15.17 to 0.15.18
- [Changelog](https://github.com/rust-cli/config-rs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rust-cli/config-rs/compare/v0.15.17...v0.15.18)

Updates `toml` from 0.9.7 to 0.9.8
- [Commits](https://github.com/toml-rs/toml/compare/toml-v0.9.7...toml-v0.9.8)

---
updated-dependencies:
- dependency-name: clap
  dependency-version: 4.5.49
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: myceliumd-private
- dependency-name: reqwest
  dependency-version: 0.12.24
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: myceliumd-private
- dependency-name: config
  dependency-version: 0.15.18
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: myceliumd-private
- dependency-name: toml
  dependency-version: 0.9.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: myceliumd-private
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-15 10:13:32 +02:00
dependabot[bot] cb06a8ec83 Bump the myceliumd group across 1 directory with 4 updates
Bumps the myceliumd group with 4 updates in the /myceliumd directory: [clap](https://github.com/clap-rs/clap), [reqwest](https://github.com/seanmonstar/reqwest), [config](https://github.com/rust-cli/config-rs) and [toml](https://github.com/toml-rs/toml).


Updates `clap` from 4.5.48 to 4.5.49
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.5.48...clap_complete-v4.5.49)

Updates `reqwest` from 0.12.23 to 0.12.24
- [Release notes](https://github.com/seanmonstar/reqwest/releases)
- [Changelog](https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/seanmonstar/reqwest/compare/v0.12.23...v0.12.24)

Updates `config` from 0.15.17 to 0.15.18
- [Changelog](https://github.com/rust-cli/config-rs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rust-cli/config-rs/compare/v0.15.17...v0.15.18)

Updates `toml` from 0.9.7 to 0.9.8
- [Commits](https://github.com/toml-rs/toml/compare/toml-v0.9.7...toml-v0.9.8)

---
updated-dependencies:
- dependency-name: clap
  dependency-version: 4.5.49
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: myceliumd
- dependency-name: reqwest
  dependency-version: 0.12.24
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: myceliumd
- dependency-name: config
  dependency-version: 0.15.18
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: myceliumd
- dependency-name: toml
  dependency-version: 0.9.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: myceliumd
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-15 10:13:08 +02:00
Lee Smet aa5ffaf39c Remove unused imports in api rpc layer
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-10-07 17:29:22 +02:00
Lee Smet c2ba181d5d Improve handling of local TUN packets on MacOS
On Mac, a packet originating on the system send to the TUN is not routed
via the loopback interface, therefore we need to send it on the TUN
inside the application for it to be properly handled by the system.

Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-10-07 17:21:36 +02:00