Nils Andreas Svee
a925e60f36
refactor(measurement): introduce Controller for dynamic ICMP probe configuration
2026-10-08 14:15:14 +07:00
Nils Andreas Svee
c7b283d761
refactor(measurement): enhance ICMP engine's async integration and robustness
...
Ensure IcmpEngine initializes within a Tokio runtime, improve timestamp validation, and refine probe management.
2026-10-08 14:15:14 +07:00
Nils Andreas Svee
89c7d75947
refactor(measurement): migrate ICMP engine to Tokio async runtime
2026-10-08 14:15:14 +07:00
Nils Andreas Svee
afedfbeb65
feat(measurement): implement ICMP measurement engine
2026-10-08 14:15:13 +07:00
Nils Andreas Svee
f51ff19f04
feat(measurement): add core data models
2026-10-08 10:48:14 +07:00
Nils Andreas Svee
60fdea4dff
refactor(time): implement ClockSample from SystemTime
2026-10-08 10:48:14 +07:00
Nils Andreas Svee
3016f4b887
feat(settings): add network settings for measurement sockets
2026-10-08 10:48:03 +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
Nils Andreas Svee
fca0967563
refactor(time): consolidate ClockId usage via the public time::Clock trait
...
Rust CI / cargo fmt (push) Successful in 15s
Rust CI / cargo clippy (push) Failing after 35s
Rust CI / cargo check (x86_64-unknown-linux-gnu) (push) Failing after 32s
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 41s
Rust CI / cargo test (x86_64-unknown-linux-musl) (push) Failing after 7s
Rust CI / cargo doc (push) Successful in 37s
Supply chain / actionlint (push) Successful in 8s
Supply chain / cargo-deny bans licenses sources (push) Failing after 1m47s
Supply chain / cargo-deny advisories (push) Failing after 1m49s
Remove direct `rustix::time::ClockId` imports by centralizing its dependency within the `time` module.
2026-10-04 23:46:54 +07: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
817cc304e6
refactor(time): Introduce typed clock sources for compile-time safety
...
This change replaces runtime `ClockId` parameters with distinct types to ensure correct clock usage at compile time.
2026-09-30 12:05:42 +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
3fbc96b15f
chore(deps): update github/codeql-action digest to 2892aa5
Rust CI / cargo fmt (pull_request) Successful in 10s
Rust CI / cargo clippy (pull_request) Failing after 29s
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 38s
Rust CI / cargo test (x86_64-unknown-linux-musl) (pull_request) Failing after 9s
Rust CI / cargo doc (pull_request) Successful in 37s
Supply chain / actionlint (pull_request) Successful in 9s
Supply chain / cargo-deny advisories (pull_request) Failing after 1m47s
Supply chain / cargo-deny bans licenses sources (pull_request) Failing after 1m42s
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 7s
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 8s
Rust CI / cargo doc (push) Successful in 44s
Supply chain / cargo-deny bans licenses sources (push) Failing after 1m48s
Supply chain / cargo-deny advisories (push) Failing after 1m51s
2026-09-25 17:01:54 +00:00
Nils Andreas Svee
c199d63c93
ci: split Gitea and GitHub workflows
Rust CI / cargo fmt (push) Successful in 11s
Rust CI / cargo clippy (push) Failing after 34s
Rust CI / cargo check (x86_64-unknown-linux-gnu) (push) Failing after 34s
Rust CI / cargo test (x86_64-unknown-linux-gnu) (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-musl) (push) Failing after 8s
Rust CI / cargo doc (push) Successful in 36s
Supply chain / actionlint (push) Successful in 11s
Supply chain / cargo-deny bans licenses sources (push) Failing after 1m54s
Supply chain / cargo-deny advisories (push) Failing after 2m1s
2026-09-26 00:01:03 +07: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
bb94b42d24
chore(deps): update google/osv-scanner-action action to v2.6.0
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
83e02c6e1c
chore(deps): update actions-rust-lang/setup-rust-toolchain action to v2
2026-09-25 17:26:02 +07:00
Nils Andreas Svee
6d4849899e
fix(settings): reject zero-floor minimum rates
Build / build (push) Failing after 4s
DevSkim / DevSkim (push) Failing after 1m22s
rust-clippy analyze / Run rust-clippy analyzing (push) Failing after 1m35s
2026-09-25 17:20:08 +07:00
Nils Andreas Svee
7254aa5cf9
fix(uci): propagate malformed optional sources
2026-09-25 17:20:08 +07:00
Nils Andreas Svee
5b0854920d
fix(settings): reject IPv6 reflectors
2026-09-25 17:20:07 +07:00
Nils Andreas Svee
4c9fe15201
fix(log): honor configured maximum level
2026-09-25 17:20:07 +07:00
Nils Andreas Svee
5872f40d3e
fix(icmp): handle RFC 792 timestamp rollover
2026-09-25 17:20:06 +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
a0535357c7
chore(deps): update google/osv-scanner-action action to v2.5.1
Build / build (pull_request) Successful in 1m8s
DevSkim / DevSkim (pull_request) Failing after 1m26s
rust-clippy analyze / Run rust-clippy analyzing (pull_request) Failing after 2m8s
Build / build (push) Successful in 1m7s
DevSkim / DevSkim (push) Failing after 1m22s
rust-clippy analyze / Run rust-clippy analyzing (push) Failing after 1m59s
2026-08-29 14:27:59 +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
Lochnair
083d464067
Merge pull request 'chore(deps): update netlink dependencies to v0.3.4' ( #76 ) from renovate/netlink-dependencies into master
...
Build / build (push) Successful in 1m5s
DevSkim / DevSkim (push) Failing after 1m21s
rust-clippy analyze / Run rust-clippy analyzing (push) Failing after 2m1s
Reviewed-on: #76
2026-08-29 14:11:36 +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
Lochnair
a6067910ad
chore: make renovate combine netlink deps
Build / build (push) Successful in 1m4s
DevSkim / DevSkim (push) Failing after 1m18s
rust-clippy analyze / Run rust-clippy analyzing (push) Failing after 1m57s
2026-08-28 09:15:20 +00:00
Lochnair
ffd7b0beb7
fix: remove unused import
DevSkim / DevSkim (push) Failing after 4s
Build / build (push) Successful in 57s
rust-clippy analyze / Run rust-clippy analyzing (push) Failing after 2m10s
2026-08-23 17:23:10 +00:00
Lochnair
377fb3be2d
chore(ci): install latest rust
DevSkim / DevSkim (push) Failing after 4s
rust-clippy analyze / Run rust-clippy analyzing (push) Failing after 1m42s
Build / build (push) Failing after 50s
2026-08-23 17:12:17 +00:00
Lochnair
d765bef002
chore(ci): add workflow_dispatch to build workflow
Build / build (push) Failing after 2s
DevSkim / DevSkim (push) Failing after 4s
rust-clippy analyze / Run rust-clippy analyzing (push) Failing after 5s
2026-08-23 16:50:26 +00:00
renovate[bot]
86b13f948e
chore(deps): update rust crate thiserror to v2.0.20
2026-08-14 16:44:07 +00:00
Nils Andreas Svee
4abf4bfcb8
refactor(ratecontroller): own random generator
2026-08-13 22:16:43 +07:00
Nils Andreas Svee
1a49c9adce
refactor(platform): move platform.rs to platform/mod.rs
...
Restructure the platform module into a directory to allow for future sub-module expansion.
2026-08-13 21:10:53 +07:00
Nils Andreas Svee
8c831e4287
refactor(ratecontroller): reorder methods to improve code organization
2026-08-13 14:20:15 +07:00
Nils Andreas Svee
6a90446b56
fix(ratecontroller): use egress interface for traffic stats
...
Read both RX and TX byte counters from the configured upload/egress
interface. Remove the obsolete per-direction stats selection and related
plumbing now that download load uses RX and upload load uses TX from the
same interface.
2026-08-13 14:19:53 +07: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
be6546b443
Merge pull request #68 from Lochnair/feature/config
...
feat(config): migrate configuration loading to config-rs
2026-08-07 16:10:13 +07:00
Nils Andreas Svee
605ec6ef81
refactor(main): simplify interface stats direction logic
...
Remove the ifb/veth interface prefix detection from
interface_stats_directions. The function now unconditionally returns
RX for download and TX for upload, as the previous heuristic was
unreliable and the simplified behavior matches actual usage.
2026-08-07 16:05:00 +07:00
Nils Andreas Svee
7e0f434251
refactor: replace legacy Config with Settings
...
Remove legacy src/config.rs and migrate all application consumers to
the nested Settings model. Baseliner, metrics, pingers, ratecontroller,
reflector selector, and main now use Settings. Derived min rates become
methods on NetworkSettings rather than stored legacy fields.
MeasurementType and ObservabilityProtocol move into the settings module.
2026-08-07 16:04:59 +07:00
Nils Andreas Svee
3c688089a1
feat(settings): add validation and flexible boolean parsing
...
Add settings validation with Warning and Error severity levels.
Warnings print to stderr without preventing startup; errors are
aggregated and prevent startup. Percentage validation accepts 1..=100
rather than silently clamping. Add UCI-compatible flexible boolean
parsing through Serde, accepting 1/true/yes/y/on/enabled for true and
0/false/no/n/off/disabled for false, while native booleans continue to
deserialize correctly.
2026-08-07 16:04:59 +07:00