This commit is contained in:
Mateusz Gruszczyński committed 2026-10-13 21:29:57 +02:00
1 parent bb025dcf44
commit b0f211555a
74 files changed
+6089 -556

No files matched your search

-45
View File
@@ -1,45 +0,0 @@
# Verification report - RustProxy 0.32.2
## Scope
Source-based patch on the supplied 0.32.1 archive. The Web Server's cache
revalidation now mirrors the existing Reverse Proxy's 304 handling for local
files, while preserving original browser conditionals, cache policy and cached
transformed representations. No backend, PHP-FPM, API or SQLite schema change.
## Regression cases added (Rust, execution pending)
- F5-style `Cache-Control: max-age=0` and hard-refresh `no-cache` preserve body
and advance `X-Cache-Hits` when local origin returns 304.
- Browser `If-None-Match` produces downstream 304 only when the client's validator
matches the public stored representation, not merely the origin's validator.
- Unrelated client validators cannot incorrectly validate the stored body.
- `HEAD` and single-range conditional refresh reuse the validated full body.
- A changed asset (different on-disk ETag) returns 200 rather than a false 304.
- Newly private origin revalidation metadata cannot remain in shared storage.
## Results and limitations
- Python static/structural checks via `./dev.sh test`: **PASS** (including
version, full source preflight, cache regression contracts, HTTP/cache,
security, documentation, schema-v9/upgrade and release smoke contracts).
- All **24 Node.js UI simulations** configured in `./dev.sh test`: **PASS**.
Three existing fixture assumptions were aligned with current unindented
functions/version (`backend_cache_0297_ui_test.mjs`,
`backend_health_0300_ui_test.mjs`, `security_logs_0315_ui_test.mjs`);
the production panel logic is unchanged.
- Python load-tool selftest against a Python peer: **PASS**; not a RustProxy
server test or a memory profile of the proxy.
- `./dev.sh check`: **unavailable (exit 127)**; Rust/Cargo is not installed.
- `./dev.sh test`: **pre-Cargo checks PASS; entire command exits 127** because
Rust/Cargo is not installed, so no Rust tests executed.
- Rust `cargo check --locked --all-targets`: **not run, Cargo unavailable**.
- Rust `cargo test --locked --all-targets`: **not run, Cargo unavailable**.
- Real SQLite schema migration/update on an installed instance: **not run**;
only source/upgrade contracts were checked.
- Actual RustProxy process, HTTP/1.1, HTTP/2, HTTP/3, PHP-FPM/WordPress and
browser DevTools reproduction: **not run** in this source-only environment.
**Production acceptance remains open.** Run `./dev.sh check`, `./dev.sh test`
and repeat browser-refresh/GET comparisons on a Rust 1.99+ build host before
rolling the release out. The patched source is delivered, not a tested binary.