Skip to content

pir v0.1.5

Latest

Choose a tag to compare

@gmatht gmatht released this 21 Sep 18:51
· 3 commits to main since this release

Cross-platform release: Linux (glibc >= 2.17 and static musl), Windows, and macOS.

Builds now succeed for all four targets. Three real bugs blocked this before:

  • Windows did not compile. libcurl's CURLOPT_*TIMEOUT_MS is a C long - 64-bit on LP64 Unix but 32-bit on Windows (LLP64) - and provider.rs hardcoded as i64. Timeouts now go through libc::c_long with saturation. The non-unix wait_input stub had also fallen behind the unix signature.
  • macOS did not compile (24 errors). #[cfg(unix)] was being used to mean Linux: the security layer is built on mount namespaces (unshare, CLONE_NEW*) and setresuid, none of which exist on Darwin. security::overlay is now cfg(target_os = "linux") with a truthful inert stub elsewhere (it reports unsupported rather than faking a mounted quarantine), and user.rs uses setresuid on Linux with a setreuid emulation elsewhere.
  • prctl(PR_SET_PDEATHSIG) is Linux-only, now gated.

Also included: a faster pir -r session picker (transcripts are scanned with a byte-level prefilter instead of parsing every line; ~35-40% faster previews on multi-MB sessions).

Verified: 347 tests pass; glibc floor confirmed at 2.17; the musl binary is fully static.