Skip to content

v0.1.10

Latest

Choose a tag to compare

@github-actions github-actions released this 30 Oct 21:19
· 1 commit to main since this release
f3b82a7

Changed

  • R-30 closed as cannot-reproduce; repro pinned as the r30_reopen live
    scenario (#49).
    The reported symptom (READ answering an empty body with
    STATUS_OK after CREATE/WRITE/CLOSE + re-open) does not reproduce on the
    claimed-failing commit d791d4d nor on main (dialects 2.1/3.0/3.1.1,
    impacket 0.13.1); the exact sequence is committed as tests/live scenario
    r30_reopen so it can't silently regress. Past-EOF READ semantics
    tracked under R-11.
  • EOF READ semantics pinned as the r11_eof live scenario with the Samba
    4.19.5 golden (#50).
    rssmb already matches smbd byte-for-byte on all six
    probed sequences (READ at/past EOF with length > 0 →
    STATUS_END_OF_FILE + 0 B; a window crossing EOF → STATUS_OK +
    partial; length 0 at any offset → STATUS_OK + 0 B), and on the
    shrink-while-open probe; the golden capture (tests/live/golden-r11-eof.json)
    and the scenario keep it that way.
  • WORKING-METHOD rule 11: evidence discipline. A roadmap entry claiming
    a bug must carry a committed repro script or a captured log ("observed
    once in a sandbox" is not evidence); every result row in a report must
    come from a command run in that session, anything else marked [inferred].

Performance

  • R-07a: mimalloc is the global allocator for release/Docker builds
    (musl), feature-gated and on by default.
    Identical-build A/B
    (kernel CIFS mount 3.1.1, fio r16 bs=1M direct, 30 s ×3 per cell,
    1000-file create/list/delete loop ×3 in a fresh tree; medians,
    tests/perf/build-ab.sh reproduces all three binaries with identical
    flags): unsealed read bandwidth 378 → 2480 MiB/s (6.6×, ≈1.9× the
    glibc baseline of 1262), sealed 327 → 942 MiB/s (2.9×, ≈1.7× glibc's
    523); small-file loop: list 31 → 16 ms, create 560 → 455 ms,
    delete ≈2.1 s both. Idle RSS +8 MB (43 → 51 MB), binary size +6%.
    Attribution of the remaining musl/glibc gap: not profiled in-sandbox.
    Data integrity verified (fio verify=crc32c 2 GiB write+read-back
    sealed and unsealed, 2 GiB random file sha256 round-trip through the
    mount); full uncapped smbtorture baseline on the mimalloc binary is
    identical to tests/conformance/results.md (0 main→mimalloc delta,
    same harness invocation, same day). An earlier session's
    AES-128-GMAC signing-negotiation and lock-21 claims are retracted as
    counting artifacts of the old harness formula.

Fixed

  • smbtorture harness: a client panic or nonzero exit code now FAILs
    the suite, never PASSes (#56).
    smbtorture can die mid-suite (e.g.
    SIGSEGV) having printed zero failure: lines, and the old tally
    (total - fail) then counted every started subtest as passed. Both
    run-smbtorture.sh and run-smbtorture-poc.sh now fail the suite
    on any panic marker (smb_panic|PANIC|Segmentation fault) in the
    log — the tally is suppressed as unreliable — and on any nonzero
    exit status (not just the timeout cases). Known client-side trigger:
    smbtorture 4.19.5 SIGSEGVs on smb2.compound.related1 when the
    server negotiates no cipher (smb2cli_session_set_id_and_flags
    NULL deref) — reproduced identically against unmodified smbd
    4.19.5 with smb encrypt = off; run the test server with
    encryption = "desired".