Skip to content

WolfProxy v0.4.12

Choose a tag to compare

@github-actions github-actions released this 13 Jun 17:35
· 6 commits to main since this release

v0.4.12: support globbed includes inside server blocks

An include directive inside a server { } block was fed line-by-line to
the flat-directive parser, which can't parse nested location { } blocks,
and globbed paths were rejected outright with "only supported for top-level
includes". So include sites-enabled/subfolders/*.conf; inside a server —
where the files hold location blocks — silently dropped every directive
(wabil report: "configuration OK — 28 server block(s)" but his locations
never loaded).

Fix: expand server-block includes textually BEFORE parsing the server body
(expand_server_includes), mirroring nginx's textual-include semantics — the
included content (location/if blocks, flat directives, further includes) is
then parsed in the server context. * globs work exactly as at the top
level (zero-match = warning, not error); relative paths resolve against the
including file's dir; recursion is depth-capped (16).

A file that wrongly contains a full server { } block is skipped with a
warning rather than folded into the outer server (nginx can't nest servers;
such a file belongs in a top-level include). The old in-place include branch
and the now-unused base_dir params were removed.

3 tests: globbed include with location blocks; recursive + literal includes;
and the nested-server skip guard. Runtime-verified with wolfproxy --test
on wabil's exact shape. One independent review pass (its critical/warning
findings — double-processing corruption path and double-warning — fixed).


Verifying this release

Each binary is signed via cosign keyless OIDC and ships with a SLSA build provenance attestation.

Verify the cosign signature:

cosign verify-blob \
  --bundle wolfproxy-x86_64.cosign.bundle \
  --certificate-identity-regexp 'https://github.com/wolfsoftwaresystemsltd/wolfproxy/\.github/workflows/release\.yml@.*' \
  --certificate-oidc-issuer 'https://token.actions.githubusercontent.com' \
  wolfproxy-x86_64

Verify the build provenance:

gh attestation verify wolfproxy-x86_64 --repo wolfsoftwaresystemsltd/wolfproxy

Verify the SHA-256 checksum:

sha256sum -c SHA256SUMS

Artifacts

  • wolfproxy-x86_64 / wolfproxy-aarch64 — static musl binaries (Linux x86_64 and ARM64).
  • wolfproxy-<arch>.cosign.bundle — cosign signature bundle (cert + signature + Rekor entry).
  • SHA256SUMS — checksums for both binaries.