Nils Andreas Svee
eaa20e79d2
feat(measurement): integrate IRTT and configurable reflector selection
...
Add protocol-aware reflector definitions, TOML/UCI lists, validation and environment overrides. Resolve and select endpoint-aware measurement streams, honor configured ICMP timing and socket routing, and retain partial-set reselection behavior from the standalone fixes.
Drive the managed IRTT task throughout its lifecycle, retry terminal targets without restarting healthy sessions, normalize blank HMAC keys and use effective RTT for latency fallback. Fold the reviewed configuration, resolution and measurement corrections into their implementation.
2026-10-14 12:50:29 +07:00
renovate Bot
8aa971920c
chore(deps): update rust crate tokio to v1.53.3
Rust CI / cargo fmt (push) Successful in 15s
Build binaries / Build (arm-musleabi) (push) Successful in 1m41s
Build binaries / Build (aarch64-musl) (push) Successful in 1m42s
Rust CI / cargo clippy (push) Failing after 21s
Rust CI / cargo check (x86_64-unknown-linux-musl) (push) Failing after 8s
Rust CI / cargo check (x86_64-unknown-linux-gnu) (push) Failing after 20s
Supply chain / cargo-deny advisories (push) Failing after 2s
Rust CI / cargo test (x86_64-unknown-linux-musl) (push) Failing after 5s
Supply chain / cargo-deny bans licenses sources (push) Failing after 3s
Supply chain / actionlint (push) Failing after 2s
Rust CI / cargo test (x86_64-unknown-linux-gnu) (push) Failing after 27s
Rust CI / cargo doc (push) Failing after 22s
Build binaries / Build (armv7-musleabi) (push) Failing after 30m43s
Build binaries / Build (arm-musleabihf) (push) Failing after 30m44s
Build binaries / Build (armv7-musleabihf) (push) Successful in 1m47s
Build binaries / Build (i686-musl) (push) Successful in 1m48s
Build binaries / Build (mips64-muslabi64) (push) Successful in 2m2s
Build binaries / Build (mips-musl) (push) Successful in 2m5s
Build binaries / Build (mips64el-muslabi64) (push) Successful in 2m13s
Build binaries / Build (mipsel-musl) (push) Successful in 2m13s
Build binaries / Build (riscv64gc-musl) (push) Successful in 1m48s
Build binaries / Build (x86_64-musl) (push) Successful in 1m44s
2026-10-14 12:49:23 +07:00
Nils Andreas Svee
8c923f373d
chore(deps): update rust dependencies
Rust CI / cargo fmt (push) Successful in 16s
Rust CI / cargo clippy (push) Failing after 27s
Rust CI / cargo check (x86_64-unknown-linux-gnu) (push) Failing after 23s
Rust CI / cargo check (x86_64-unknown-linux-musl) (push) Failing after 11s
Rust CI / cargo test (x86_64-unknown-linux-gnu) (push) Failing after 28s
Rust CI / cargo test (x86_64-unknown-linux-musl) (push) Failing after 7s
Supply chain / cargo-deny advisories (push) Failing after 2s
Supply chain / cargo-deny bans licenses sources (push) Failing after 2s
Supply chain / actionlint (push) Failing after 2s
Rust CI / cargo doc (push) Failing after 20s
Build binaries / Build (arm-musleabi) (push) Successful in 1m46s
Build binaries / Build (aarch64-musl) (push) Successful in 1m47s
Build binaries / Build (armv7-musleabi) (push) Successful in 1m44s
Build binaries / Build (arm-musleabihf) (push) Successful in 1m45s
Build binaries / Build (armv7-musleabihf) (push) Successful in 1m39s
Build binaries / Build (i686-musl) (push) Successful in 1m39s
Build binaries / Build (mips-musl) (push) Successful in 2m12s
Build binaries / Build (mips64-muslabi64) (push) Successful in 2m12s
Build binaries / Build (mipsel-musl) (push) Successful in 2m7s
Build binaries / Build (mips64el-muslabi64) (push) Successful in 2m9s
Build binaries / Build (x86_64-musl) (push) Successful in 1m38s
Build binaries / Build (riscv64gc-musl) (push) Successful in 1m44s
2026-10-13 00:41:49 +07:00
renovate Bot
8267089733
chore(deps): update rust crate syn to v3.0.9
2026-10-13 00:41:13 +07:00
renovate Bot
b94742c62a
fix(deps): update rust-uci digest to 6835397
2026-10-13 00:41:13 +07:00
Nils Andreas Svee
89c7d75947
refactor(measurement): migrate ICMP engine to Tokio async runtime
2026-10-08 14:15:14 +07:00
renovate Bot
52a5ab2dfe
chore(deps): update rust crate trybuild to v1.0.122
Rust CI / cargo fmt (pull_request) Successful in 14s
Rust CI / cargo clippy (pull_request) Failing after 36s
Rust CI / cargo check (x86_64-unknown-linux-gnu) (pull_request) Failing after 35s
Rust CI / cargo test (x86_64-unknown-linux-gnu) (pull_request) Failing after 44s
Rust CI / cargo check (x86_64-unknown-linux-musl) (pull_request) Failing after 9s
Rust CI / cargo test (x86_64-unknown-linux-musl) (pull_request) Failing after 10s
Rust CI / cargo doc (pull_request) Successful in 34s
Supply chain / cargo-deny advisories (pull_request) Failing after 1m41s
Supply chain / actionlint (pull_request) Successful in 10s
Supply chain / cargo-deny bans licenses sources (pull_request) Failing after 1m34s
Rust CI / cargo fmt (push) Successful in 11s
Rust CI / cargo clippy (push) Failing after 36s
Rust CI / cargo check (x86_64-unknown-linux-gnu) (push) Failing after 35s
Rust CI / cargo test (x86_64-unknown-linux-gnu) (push) Failing after 43s
Rust CI / cargo check (x86_64-unknown-linux-musl) (push) Failing after 7s
Rust CI / cargo test (x86_64-unknown-linux-musl) (push) Failing after 8s
Rust CI / cargo doc (push) Successful in 33s
Supply chain / cargo-deny advisories (push) Failing after 1m43s
Supply chain / actionlint (push) Successful in 8s
Supply chain / cargo-deny bans licenses sources (push) Failing after 1m35s
2026-10-07 23:07:38 +00:00
renovate Bot
b7b66fc1f4
chore(deps): update rust crate libc to v0.2.190
Rust CI / cargo fmt (pull_request) Successful in 16s
Rust CI / cargo clippy (pull_request) Failing after 38s
Rust CI / cargo check (x86_64-unknown-linux-gnu) (pull_request) Failing after 38s
Rust CI / cargo check (x86_64-unknown-linux-musl) (pull_request) Failing after 9s
Rust CI / cargo test (x86_64-unknown-linux-gnu) (pull_request) Failing after 44s
Rust CI / cargo test (x86_64-unknown-linux-musl) (pull_request) Failing after 9s
Supply chain / actionlint (pull_request) Successful in 8s
Rust CI / cargo doc (pull_request) Successful in 42s
Supply chain / cargo-deny advisories (pull_request) Failing after 1m57s
Supply chain / cargo-deny bans licenses sources (pull_request) Failing after 1m54s
Rust CI / cargo fmt (push) Successful in 16s
Rust CI / cargo check (x86_64-unknown-linux-gnu) (push) Failing after 38s
Rust CI / cargo clippy (push) Failing after 41s
Rust CI / cargo check (x86_64-unknown-linux-musl) (push) Failing after 9s
Rust CI / cargo test (x86_64-unknown-linux-gnu) (push) Failing after 43s
Rust CI / cargo test (x86_64-unknown-linux-musl) (push) Failing after 9s
Supply chain / actionlint (push) Successful in 9s
Rust CI / cargo doc (push) Successful in 39s
Supply chain / cargo-deny bans licenses sources (push) Failing after 1m49s
Supply chain / cargo-deny advisories (push) Failing after 1m51s
2026-10-02 20:09:10 +00:00
renovate Bot
305a182001
chore(deps): update rust crate config to v0.15.27
Rust CI / cargo fmt (pull_request) Successful in 11s
Rust CI / cargo clippy (pull_request) Failing after 26s
Rust CI / cargo check (x86_64-unknown-linux-gnu) (pull_request) Failing after 27s
Rust CI / cargo check (x86_64-unknown-linux-musl) (pull_request) Failing after 8s
Rust CI / cargo test (x86_64-unknown-linux-gnu) (pull_request) Failing after 33s
Rust CI / cargo test (x86_64-unknown-linux-musl) (pull_request) Failing after 7s
Supply chain / actionlint (pull_request) Successful in 17s
Rust CI / cargo doc (pull_request) Successful in 40s
Supply chain / cargo-deny advisories (pull_request) Failing after 1m49s
Supply chain / cargo-deny bans licenses sources (pull_request) Failing after 1m49s
Rust CI / cargo fmt (push) Successful in 18s
Rust CI / cargo check (x86_64-unknown-linux-gnu) (push) Failing after 38s
Rust CI / cargo clippy (push) Failing after 38s
Rust CI / cargo check (x86_64-unknown-linux-musl) (push) Failing after 8s
Rust CI / cargo test (x86_64-unknown-linux-gnu) (push) Failing after 42s
Rust CI / cargo test (x86_64-unknown-linux-musl) (push) Failing after 8s
Supply chain / actionlint (push) Successful in 8s
Rust CI / cargo doc (push) Successful in 40s
Supply chain / cargo-deny bans licenses sources (push) Failing after 1m52s
Supply chain / cargo-deny advisories (push) Failing after 1m54s
2026-09-30 08:33:02 +00:00
Nils Andreas Svee
64e002c0d0
chore(deps): update rust crate icmp-socket2 to v0.6.4
Rust CI / cargo fmt (push) Successful in 17s
Rust CI / cargo check (x86_64-unknown-linux-gnu) (push) Failing after 40s
Rust CI / cargo clippy (push) Failing after 40s
Rust CI / cargo test (x86_64-unknown-linux-gnu) (push) Failing after 45s
Rust CI / cargo check (x86_64-unknown-linux-musl) (push) Failing after 7s
Rust CI / cargo test (x86_64-unknown-linux-musl) (push) Failing after 8s
Rust CI / cargo doc (push) Successful in 33s
Supply chain / actionlint (push) Successful in 11s
Supply chain / cargo-deny advisories (push) Failing after 1m51s
Supply chain / cargo-deny bans licenses sources (push) Failing after 1m44s
2026-09-30 15:32:22 +07:00
Nils Andreas Svee
e27bab1944
chore(deps): update rust crate icmp-socket2 to v0.6.2
Rust CI / cargo fmt (push) Successful in 17s
Rust CI / cargo clippy (push) Failing after 40s
Rust CI / cargo check (x86_64-unknown-linux-gnu) (push) Failing after 40s
Rust CI / cargo check (x86_64-unknown-linux-musl) (push) Failing after 9s
Rust CI / cargo test (x86_64-unknown-linux-gnu) (push) Failing after 47s
Rust CI / cargo test (x86_64-unknown-linux-musl) (push) Failing after 8s
Supply chain / actionlint (push) Successful in 9s
Rust CI / cargo doc (push) Successful in 43s
Supply chain / cargo-deny advisories (push) Failing after 1m48s
Supply chain / cargo-deny bans licenses sources (push) Failing after 1m50s
2026-09-28 19:52:26 +07:00
renovate[bot]
fbb971b47d
chore(deps): update rust crate icmp-socket2 to v0.6.1
Rust CI / cargo fmt (push) Successful in 16s
Rust CI / cargo clippy (push) Failing after 38s
Rust CI / cargo check (x86_64-unknown-linux-gnu) (push) Failing after 37s
Rust CI / cargo check (x86_64-unknown-linux-musl) (push) Failing after 8s
Rust CI / cargo test (x86_64-unknown-linux-gnu) (push) Failing after 46s
Rust CI / cargo test (x86_64-unknown-linux-musl) (push) Failing after 10s
Supply chain / actionlint (push) Successful in 6s
Rust CI / cargo doc (push) Successful in 40s
Supply chain / cargo-deny bans licenses sources (push) Failing after 1m45s
Supply chain / cargo-deny advisories (push) Failing after 1m49s
2026-09-28 07:49:49 +00:00
renovate Bot
2afa1bba35
chore(deps): update rust crate thiserror to v2.0.21
Build / build (push) Failing after 3s
DevSkim / DevSkim (push) Failing after 1m21s
rust-clippy analyze / Run rust-clippy analyzing (push) Failing after 1m41s
2026-09-25 17:26:03 +07:00
renovate Bot
d03effd600
chore(deps): update rust crate config to v0.15.26
2026-09-25 17:26:03 +07:00
renovate Bot
6103d2dae4
chore(deps): update rust crate syn to v3.0.6
2026-09-25 17:26:03 +07:00
renovate Bot
efe9eff036
chore(deps): update rust crate rustix to v1.1.5
2026-09-25 17:26:03 +07:00
renovate Bot
de8d7e3aeb
chore(deps): update netlink dependencies to v0.3.5
2026-09-25 17:26:02 +07:00
renovate Bot
746636b59a
chore(deps): update rust crate trybuild to v1.0.121
2026-09-25 17:26:02 +07:00
renovate Bot
8fb051d48f
chore(deps): update rust crate log to v0.4.34
Build / build (pull_request) Successful in 1m7s
DevSkim / DevSkim (pull_request) Failing after 1m25s
Build / build (push) Successful in 1m5s
rust-clippy analyze / Run rust-clippy analyzing (pull_request) Failing after 2m2s
DevSkim / DevSkim (push) Failing after 1m18s
rust-clippy analyze / Run rust-clippy analyzing (push) Failing after 2m7s
2026-08-29 14:29:43 +00:00
renovate Bot
91d773c77e
chore(deps): update rust crate syn to v3.0.4
Build / build (pull_request) Successful in 1m6s
DevSkim / DevSkim (pull_request) Failing after 1m26s
rust-clippy analyze / Run rust-clippy analyzing (pull_request) Failing after 2m3s
Build / build (push) Successful in 1m6s
DevSkim / DevSkim (push) Failing after 1m22s
rust-clippy analyze / Run rust-clippy analyzing (push) Failing after 1m55s
2026-08-29 14:12:05 +00:00
renovate Bot
f0eae4b2ce
chore(deps): update netlink dependencies to v0.3.4
Build / build (pull_request) Successful in 1m4s
DevSkim / DevSkim (pull_request) Failing after 1m32s
rust-clippy analyze / Run rust-clippy analyzing (pull_request) Failing after 2m5s
2026-08-29 14:10:14 +00:00
renovate[bot]
86b13f948e
chore(deps): update rust crate thiserror to v2.0.20
2026-08-14 16:44:07 +00:00
renovate[bot]
1ad47eaeb0
chore(deps): update rust crate syn to v3.0.3
2026-08-07 09:19:39 +00:00
renovate[bot]
a27b95e9ca
fix(deps): update rust crate syn to v3
2026-08-07 09:11:56 +00:00
Nils Andreas Svee
a6478c9bd4
feat(uci): derive UCI schema from settings
...
Add uci-derive proc-macro crate with UciConfig and UciSection derive
macros that generate UCI schema metadata from Settings structs. The
schema maps UCI section types and option names to config-rs field
paths. UciSource::from_schema() creates a source from the derived
schema, mapping known UCI options to their Settings fields while
preserving unknown options under raw UCI-derived paths.
2026-08-07 16:04:59 +07:00
Nils Andreas Svee
f51d90bff6
feat(settings): parse reflector lists with CSV
...
Add CSV-based reflector list parsing with Serde reflector records.
The load_reflectors method reads a CSV file with reflector_ip,
ip_version, and description columns, validating IP version
consistency for each entry.
2026-08-07 16:04:59 +07:00
Nils Andreas Svee
af07915441
build(uci): enable vendored UCI builds and Unix development support
...
Switch rust-uci dependency to the Lochnair fork with vendored UCI
feature for self-contained builds without system libuci. Add
uci-vendored feature flag (enabled by default) that pulls in the
vendored C library. UCI support on non-Linux Unix is intended for
development and testing.
2026-08-07 16:04:59 +07:00
Nils Andreas Svee
39add2b2e0
feat(uci): add generalized UCI configuration source
...
Introduce the UciSource abstraction as a config-rs Source that reads
UCI packages and maps them into the configuration tree. Supports
package selection, required/optional behavior, and custom config/save
directories. Move rust-uci dependency to cfg(unix) to enable UCI
support on all Unix systems for development and testing, while
Linux/OpenWrt remains the production-supported platform.
2026-08-07 16:04:59 +07:00
Nils Andreas Svee
c0a50c68f9
feat(config): add config-rs settings support
...
Introduce config-rs and Serde support with a nested Settings model.
Add config and serde dependencies with toml feature for file-based
configuration loading. The Settings struct provides typed configuration
with sensible defaults for network, output, observability, and advanced
settings sections. Environment variable override via SQMA__ prefix is
supported. The legacy Config remains in use; migration follows later.
2026-08-07 16:04:58 +07:00
renovate[bot]
bc86a2cd53
fix(deps): update rust crate icmp-socket2 to 0.6.0
2026-07-29 10:04:32 +00:00
renovate[bot]
c6338b596e
chore(deps): update rust crate libc to v0.2.189
2026-07-24 00:05:41 +07:00
Nils Andreas Svee
dc4ce1159f
chore(deps): update rust crate dependencies
2026-07-24 00:05:41 +07:00
Nils Andreas Svee
288d1afdb9
chore(deps): switch netlink dependencies from git to crates.io
2026-07-24 00:05:41 +07:00
renovate[bot]
bf0027a0b3
chore(deps): update rust crate thiserror to v2.0.19
2026-07-24 00:05:40 +07:00
renovate[bot]
49b700d4b2
chore(deps): update rust crate libc to v0.2.187
2026-07-24 00:05:40 +07:00
renovate[bot]
f6fa7b8814
fix(deps): update netlink-socket2 digest to 928e9ca
2026-07-24 00:05:40 +07:00
renovate[bot]
cd160e67fe
fix(deps): update netlink-bindings digest to 928e9ca
2026-07-24 00:05:40 +07:00
renovate[bot]
bab8278bdd
chore(deps): update rust crate fastrand to v2.5.0
2026-07-24 00:05:40 +07:00
renovate[bot]
c9cecb6945
chore(deps): update rust crate anyhow to v1.0.104
2026-07-24 00:05:40 +07:00
Nils Andreas Svee
b07dc99bf5
fix(deps): update rust crate icmp-socket2 to 0.5.1
2026-07-17 13:07:30 +07:00
Nils Andreas Svee
694cad1fac
chore(deps): update wasm and web-related dependencies
2026-07-03 00:50:00 +07:00
Nils Andreas Svee
908fbfdf04
refactor(deps): cleanup netlink-bindings and shlex dependencies
2026-07-03 00:50:00 +07:00
Nils Andreas Svee
2dacde8a3f
chore(deps): update cargo dependencies
2026-07-03 00:50:00 +07:00
renovate[bot]
371b3efcdc
chore(deps): update rust crate anyhow to v1.0.103
2026-07-03 00:47:45 +07:00
renovate[bot]
81d6ebe3a8
chore(deps): update rust crate log to v0.4.33
2026-07-03 00:47:45 +07:00
renovate[bot]
ae3cd96313
fix(deps): update netlink-socket2 digest to 0b609e9
2026-07-03 00:47:45 +07:00
renovate[bot]
3d1c14d312
fix(deps): update netlink-bindings digest to 0b609e9
2026-07-03 00:46:39 +07:00
renovate[bot]
7955046426
fix(deps): update rust-uci digest to 3e7b615
2026-07-03 00:46:39 +07:00
renovate[bot]
f3f033cf0f
chore(deps): update rust crate libc to v0.2.186
2026-07-03 00:46:39 +07:00
Nils Andreas Svee
58d536bb22
refactor(pinger): replace hashlru with standard HashMap and manual TTL cleanup
...
Remove the hashlru dependency to reduce bloat, replacing it with a Mutex-wrapped HashMap and manual entry expiration logic.
2026-04-23 00:33:07 +07:00