ruview @ v1731
integrity
- size
- 61.6 MiB
- downloaded
- last checked
release notes
Automated release from CI pipeline
Changes: feat(beyond-sota): ADR-157 M1 — constant-time HMAC compare + MEASURED 5.57x native wlanapi scan (#1054)
- fix(hardware): constant-time HMAC sync-beacon tag compare (ADR-157 §B4)
AuthenticatedBeacon::verify compared the 8-byte HMAC-SHA256 tag with
self.hmac_tag == expected, which short-circuits on the first differing
byte and leaks, via verification latency, how many leading bytes a forged
tag matched — a byte-by-byte tag-recovery oracle (~256·N trials vs 256^N).
Replace with a hand-rolled branch-free constant_time_tag_eq: XOR-accumulate
every byte difference into a single u8 with no early exit, compare to zero
once. #[inline(never)] + core::hint::black_box(diff) resist the optimizer
reintroducing a short-circuit or a non-constant-time memcmp; length mismatch
returns false without inspecting contents. No new dependency — ADR-157 had
deferred this only to avoid the subtle crate; a fixed 8-byte compare needs
none.
Test (hard gate): tag_compare_is_constant_time_shape — equal / first-differ / last-differ / all-differ / length-mismatch + end-to-end verify() last-byte tamper. Proven to fail on a last-byte-skipping constant-time bug. A coarse timing smoke check (tag_compare_timing_invariance_smoke) is #[ignore]d to avoid CI flakiness. Grade MEASURED (constant-time construction).
ADR-157 §8 §B4 → RESOLVED. wifi-densepose-hardware: 164 passed / 0 failed.
Co-Authored-By: claude-flow ruv@ruv.net
- feat(wifiscan): MEASURE native wlanapi.dll vs netsh throughput (ADR-157 §5 #4)
ADR-157 §5 #4 recorded the native wlanapi.dll multi-BSSID fast path as "asserted but NOT implemented; live scanner is the ~2 Hz netsh shim". Audit finding: that status is stale — wlanapi_native::scan_native already implements the real WlanOpenHandle → WlanEnumInterfaces → WlanGetNetworkBssList → WlanFreeMemory/WlanCloseHandle FFI (handle cleanup on all exits, length-bounded buffer walks, #[cfg(windows)] with typed Unsupported off-Windows), and WlanApiScanner::scan_instrumented already wires it native-first with a netsh fallback. The missing piece was an honest MEASUREMENT.
Add benchmark_backend(backend, window): drives one specific backend over a fixed wall-clock window so netsh is timed independently (the existing benchmark() picks native-first and so never measures netsh on a box where native works). Returns None for an unavailable native path (honest negative, not a fabricated number).
MEASURED on this box (Intel Wi-Fi 7 BE201 320MHz, 2026-06-13), 10 s window: native 21.42 Hz vs netsh 3.84 Hz = 5.57× (mean 5.0 BSSIDs/scan each). native-only run: 18.0 Hz. 50/50 back-to-back native scans, no handle leak. A real positive result — NOT a fabricated 10×. Achieved 21.4 Hz is in the asserted >2 Hz regime, below the asserted 10–20 Hz upper bound.
Tests (live-WLAN, #[ignore] for CI, RUN here): measure_native_vs_netsh_throughput, native_scans_dont_leak_handles, measure_native_scan_rate. Non-ignored pin native_scan_runs_real_ffi_on_windows (pre-existing) stays green. wifi-densepose-wifiscan: 94 passed / 0 failed.
ADR-157 §5 #4 + §8 → MEASURED (was ACCEPTED-FUTURE / CLAIMED-unmeasured).
Co-Authored-By: claude-flow ruv@ruv.net
Docker Image:
ghcr.io/ruvnet/RuView:cf2a85db66c1fed105d0a8148c1684344b76cc59
download
curl -fL -o v1731.zip https://ratatoskr.space/pkg/ruview/v1731.zip
printf '%s %s\n' 'c1d444fc89b14b1eedf4ce1ac2e9833fdb3c964f8c2198e4dcea8df3d534e5fb' 'v1731.zip' | sha256sum -c -
$url = "https://ratatoskr.space/pkg/ruview/v1731.zip"
$out = "v1731.zip"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "c1d444fc89b14b1eedf4ce1ac2e9833fdb3c964f8c2198e4dcea8df3d534e5fb") { throw "sha256 mismatch" }
curl -fL -o v1731.tar.gz https://ratatoskr.space/pkg/ruview/v1731.tar.gz
printf '%s %s\n' 'f23fe5557d5b76b67042ea4bcbd7daa2c1d7e8e85f166f30e354c0d2acde93c4' 'v1731.tar.gz' | sha256sum -c -
$url = "https://ratatoskr.space/pkg/ruview/v1731.tar.gz"
$out = "v1731.tar.gz"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "f23fe5557d5b76b67042ea4bcbd7daa2c1d7e8e85f166f30e354c0d2acde93c4") { throw "sha256 mismatch" }
download via yggdrasil mesh
curl -fL -o v1731.zip http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1731.zip
printf '%s %s\n' 'c1d444fc89b14b1eedf4ce1ac2e9833fdb3c964f8c2198e4dcea8df3d534e5fb' 'v1731.zip' | sha256sum -c -
$url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1731.zip"
$out = "v1731.zip"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "c1d444fc89b14b1eedf4ce1ac2e9833fdb3c964f8c2198e4dcea8df3d534e5fb") { throw "sha256 mismatch" }
curl -fL -o v1731.tar.gz http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1731.tar.gz
printf '%s %s\n' 'f23fe5557d5b76b67042ea4bcbd7daa2c1d7e8e85f166f30e354c0d2acde93c4' 'v1731.tar.gz' | sha256sum -c -
$url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1731.tar.gz"
$out = "v1731.tar.gz"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "f23fe5557d5b76b67042ea4bcbd7daa2c1d7e8e85f166f30e354c0d2acde93c4") { throw "sha256 mismatch" }
| artifact | format | size | hashes |
|---|---|---|---|
| v1731.zip | zip | 61.6 MiB |
blake3-24 5f90d35284c394aa0943a952f9ced1623ea366bdac5d2dfa
sha256 c1d444fc89b14b1eedf4ce1ac2e9833fdb3c964f8c2198e4dcea8df3d534e5fb
sha1 8681c5330f7b565a72a898e1737972a90b601bd5
|
| v1731.tar.gz | tar.gz | 59.8 MiB |
blake3-24 eadaa24f7a3073cb4cec34c427c54bd7199101c3c7011bca
sha256 f23fe5557d5b76b67042ea4bcbd7daa2c1d7e8e85f166f30e354c0d2acde93c4
sha1 8da2c88fedd1bcf4f07e06d7e5bae93995afd05a
|
install
http_archive(
name = "ruview",
urls = ["https://ratatoskr.space/pkg/ruview/v1731.tar.gz"],
integrity = "sha256-8j/lVX1bdrZwQupLy9faosHX6OhfFm8w41TA0qzek8Q=",
strip_prefix = "ruview-v1731",
)
.url = "https://ratatoskr.space/pkg/ruview/v1731.tar.gz",
install via yggdrasil mesh
http_archive(
name = "ruview",
urls = ["http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1731.tar.gz"],
integrity = "sha256-8j/lVX1bdrZwQupLy9faosHX6OhfFm8w41TA0qzek8Q=",
strip_prefix = "ruview-v1731",
)
.url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/ruview/v1731.tar.gz",