diff options
| author | Santhosh Raju <fox@FreeBSD.org> | 2026-03-21 13:06:10 +0000 |
|---|---|---|
| committer | Santhosh Raju <fox@FreeBSD.org> | 2026-03-21 14:44:13 +0000 |
| commit | 00f9ff281549e7957b3bd85d6474a72daba867cb (patch) | |
| tree | 600358dcae26eed4632e0c4528f70e27e412fc79 /math/kaskade/files/(developers-only) | |
| parent | a1a1b28c3450ed16571ad426c9d940d3a40fc50e (diff) | |
Changes since 2.0.1:
PDFRip v3.0.0 is a trust/performance/compatibility release focused on
making
pdfrip more correct, measurable, and useful on real password-cracking
workloads.
Highlights
Prepared verifier hot path
* Password attempts no longer rebuild general PDF parsing/storage
state on
every try
* The release extracts the security envelope once, prepares a direct
verifier
once, and reuses it across attempts
* Verified against deterministic qpdf fixtures for Standard Security
Handler
revisions R2 through R6
Better compatibility coverage
The fixture and verifier matrix now covers:
* R2 / R3 / R4 RC4
* R4 AES-128
* R5 / R6 AES-256
* Unicode R5 / R6 passwords
* Blank user passwords
* Object streams and xref streams
* Linearized PDFs
* EncryptMetadata=false
Exact progress and resume
* Progress is now based on verified attempts, not merely queued work
* Historical "100%, ETA 0s, but still running" behavior is fixed
* Checkpoint/resume is now a first-class workflow with exact
verified-prefix
recovery
New and improved search workflows
* New mask mode for bounded structured passwords
* New contains-word mode for "known substring + brute-force the rest"
workflows
* Date --format now supports custom shapes
* Custom-query now supports literal-only queries and fixes bugs
* Numeric ranges are inclusive and sized exactly
* Default-query now enumerates printable ASCII correctly and can test
blank
passwords
Better UX and reporting
* Success output distinguishes user vs owner passwords when revision
allows
it
* Blank passwords render explicitly as ""
* Structured JSON output available with --json
* Malformed inputs return normal user-facing errors instead of panics
* Documentation matches measured reality and current workflows
New opt-in fast mode
* --user-password-only skips owner-password checks for
document-opening
password workflows
* Can reduce end-to-end time on R5/R6 workloads
Measured improvements
Representative local measurements on Apple M3 Pro showed:
* Synthetic R5 prepared verifier: 15.5x lower latency than legacy path
* Large bundled R3 example: 4.5x lower latency
* 10,000-candidate mask exhaustion: 3.4x faster at 4 workers vs 1
worker
* User-password-only speedups: 1.31x-2.77x faster depending on
revision
Build and release hardening
* Exact dependency pinning for sensitive direct crates
* Tracked Cargo.lock with --locked CI/release flows
* CI coverage on Linux/macOS/Windows for stable + nightly
* Cargo install smoke testing
* Benchmark-harness build coverage
* PDF fixtures marked binary-safe across platforms
Diffstat (limited to 'math/kaskade/files/(developers-only)')
0 files changed, 0 insertions, 0 deletions
