Skip to content

Releases: gen0sec/proxy-protocol

v0.5.3 — application-defined TLV range (0xE0..=0xEF)

01 Jun 10:56
v0.5.3
27fd1c9

Choose a tag to compare

What's new

Adds an ExtensionTlv::Custom { type_id: u8, value: Vec<u8> } variant that carries arbitrary opaque payloads in the application-defined PROXY protocol v2 range (0xE0..=0xEF, per HAProxy v2 spec § 2.2). Consumers can now ride extra connection metadata through a v2 header without forking the crate.

  • Encoder emits the stored type_id byte + raw payload.
  • Parser accepts any type_id in 0xE0..=0xEF and surfaces it as Custom { type_id, value }. Unknown type_ids outside both the builtin types and the application range still error — the parser doesn't become a catch-all.
  • Two new public constants on ExtensionTlv: CUSTOM_TYPE_MIN = 0xE0, CUSTOM_TYPE_MAX = 0xEF.

Compatibility

ExtensionTlv is already #[non_exhaustive], so adding a variant is a non-breaking change for downstream pattern-match call sites (existing code keeps compiling). No wire-format change for any builtin TLV — Custom is purely additive.

Commits

  • feat(v2): expose application-defined TLV range (0xE0..=0xEF) (#12)
  • chore: cargo fmt on Custom variant declaration

What's Changed

  • ci: split wellness-check + add doc/miri/sanitizer jobs by @pigri in #11
  • feat(v2): expose application-defined TLV range (0xE0..=0xEF) by @pigri in #12

Full Changelog: v0.5.2...v0.5.3

v0.5.2

05 May 15:54
73b0775

Choose a tag to compare

What's Changed

  • Tlv support by @pigri in #1
  • Refactor by @pigri in #4
  • chore(deps): bump actions/checkout from 2 to 6 by @dependabot[bot] in #8
  • chore(deps): bump actions/cache from 2 to 5 by @dependabot[bot] in #7
  • chore(deps): update snafu requirement from ~0.8 to ~0.9 by @dependabot[bot] in #6
  • chore: Clippy fixes and private crate integration by @pigri in #9
  • Chore/private crate integration by @pigri in #10

New Contributors

Full Changelog: https://github.com/gen0sec/proxy-protocol/commits/v0.5.2