Skip to content

EasyVault v0.1.7

Latest

Choose a tag to compare

@github-actions github-actions released this 16 Oct 20:32

Security — clear every cargo-audit advisory

  • Shamir secret sharing moved from sharks to blahaj (RUSTSEC-2024-0398).
    sharks drew polynomial coefficients from 1–255 instead of 0–255, which lets
    someone holding fewer than the threshold of shares rule out byte values when
    the same secret is split many times. EasyVault splits the master key once,
    at init, so existing instances are not practically exposed. blahaj is the
    maintained fork with the fix and the same share format: shares issued by
    earlier versions still unseal (covered by a fixed-vector test).
  • axum-server 0.7 → 0.8, which drops the unmaintained rustls-pemfile
    (RUSTSEC-2025-0134). No code changes were needed.
  • Lockfile refresh: rustls 0.23.46 (RUSTSEC-2026-0285, -0346, -0348, -0349),
    h2 0.4.20 (RUSTSEC-2026-0258), plus anyhow, event-listener (unsound)
    and the yanked spin.
  • rsa (RUSTSEC-2023-0071, no fix exists) is ignored in .cargo/audit.toml:
    it appears in Cargo.lock only as an optional dependency of sqlx's MySQL
    driver, which EasyVault does not enable, so it is never built.

Changed — GitHub repository moved

  • The project now lives at https://github.com/easysysio/EasyVault (moved
    from yarivha/EasyVault). Updated the Cargo repository field, the nfpm
    package homepage, the systemd/Windows service documentation URLs, and the
    release-tag links here. Authorship is unchanged (still maintained by yarivha).

Added — confirmation prompts on destructive actions

  • Revoking a token, revoking a member's vault access, disabling a user,
    deleting an AppRole, and rotating a vault key now show a confirmation dialog
    before they fire — matching the existing prompts on "Seal instance" and
    "Delete secret". Prevents accidental, hard-to-undo clicks.

Fixed — mobile layout

  • Added responsive styling for narrow screens (≤560px): the two-column info
    grid collapses to one column, cards and the header tighten their padding, and
    the floating version label moves inline so it no longer overlaps content. The
    inline "assign member" and "audit retention" forms now wrap instead of
    overflowing. (Wide tables already scroll horizontally as of the previous fix.)

Changed — clean build (no warnings)

  • Removed dead struct fields that the compiler flagged as never read
    (SealView.shares, ApproleRow.role_id, the unused created_at on the
    AppRole/secret/token listing rows, and VaultRow.id/locked/created_by). The
    [audit] config block is retained and annotated — it is parsed for
    forward-compatibility (EasyLog sink, raw-value logging) but not yet enforced.
    The build is now warning-free.

Fixed — wide tables overflowing their card

  • On narrow viewports the audit log's 8-column table (and other wide tables such
    as Tokens) spilled past the right edge of its card — the last column
    ("Integrity") ended up rendered outside the box. Cards now scroll horizontally
    instead of overflowing, keeping every column inside the frame.

Added — favicon, mobile icons & theme colour

  • The GUI now ships its own brand-green "keyhole" favicon. A crisp scalable
    /favicon.svg is the primary icon for modern browsers, with a generated
    32×32 /favicon.ico (built in-process — no image tooling at build time) as
    the legacy fallback for the browser's default probe.
  • Added a 180×180 apple-touch-icon.png (also served at the
    -precomposed.png path) for iOS "Add to Home Screen" bookmarks. The PNG is
    encoded in-process by a tiny dependency-free encoder (stored DEFLATE blocks +
    CRC-32/Adler-32), since iOS won't use the SVG.
  • Added a theme-color meta (#238636) so mobile browser chrome adopts the
    EasyVault brand colour. All icons are served unauthenticated and cached for a
    day.