Nils Andreas Svee
88dd4f2a62
fix(proto): accept upstream midpoint echo replies
...
Upstream irtt 0.9.1 always emits both midpoint timestamp fields (wall,
then monotonic) in an ECHO reply for single-clock StampAt::Midpoint
negotiations, even though only one clock was negotiated, so its header is
one timestamp longer than the negotiated header.
The resulting datagram length is not simply negotiated_len + 8. Both
forms are max(negotiated_length, header), so the extra field lengthens
the datagram only while the larger header still exceeds the negotiated
length, and displaces payload beyond that; the difference is 8, then
7..1, then 0.
decode_echo_reply now accepts the compatibility length wherever it is
strictly longer than the negotiated length, parsing both wire fields and
exposing only the negotiated clock's value. Where the two lengths
coincide the forms are indistinguishable from the packet alone, so the
reply is accepted with normal negotiated parsing rather than a heuristic
- a monotonic-only midpoint negotiation therefore cannot always be
corrected, which is documented and tested. Every other length stays
strictly rejected.
Echo request decoding and encode_echo_reply are unchanged: the encoder
must keep emitting the sane negotiated layout.
2026-08-11 16:26:29 +07:00
Nils Andreas Svee
186c6eba97
docs: add clean-room docs/specs and agent guidance
2026-08-10 18:54:22 +07:00
renovate[bot]
49826a5b3d
fix(deps): update rust crate thiserror to 2.0.20
2026-08-10 11:15:42 +07:00
Nils Andreas Svee
cabe0f6c24
feat(proto): add directional echo codecs
2026-08-04 00:34:12 +07:00
Nils Andreas Svee
cc7f7fc9b2
feat(proto): add directional open and close codecs
2026-08-04 00:30:08 +07:00
Nils Andreas Svee
e908c4ce4f
refactor(proto): centralize packet envelope handling
2026-08-04 00:27:45 +07:00
renovate[bot]
bbb8a6a458
fix(deps): update rust crate thiserror to 2.0.19
2026-07-23 12:30:30 +07:00
Nils Andreas Svee
68c7f92cb4
chore: bump version to 0.4.0 across all workspace packages
...
Update the version of irtt-proto, irtt-client, irtt-stats, and irtt-cli to 0.4.0 in preparation for a new release.
2026-07-05 00:30:19 +07:00
Nils Andreas Svee
5efb8a1870
build: bump workspace and crate versions to 0.3.0
2026-06-10 00:44:10 +07:00
Nils Andreas Svee
8fd0b803e9
docs: add public crate landing docs
2026-05-18 01:22:08 +07:00
Nils Andreas Svee
2fcef0adc5
docs: clarify params validation boundaries
2026-05-18 00:36:18 +07:00
Nils Andreas Svee
e117813578
test: consolidate and prune redundant unit tests
...
Simplify the test suite by merging similar test cases and removing redundant assertions that verify trivial initialization and basic container logic.
2026-05-18 00:16:51 +07:00
Nils Andreas Svee
64da60d480
feat(proto): enforce maximum length for server fill parameter
...
Move MAX_SERVER_FILL_BYTES to irtt-proto and validate it during decoding to prevent processing oversized parameters.
2026-05-17 22:59:57 +07:00
Nils Andreas Svee
20a1d9dc8e
refactor(proto): make echo_packet_len return Result to handle negative lengths
2026-05-12 13:05:45 +07:00
Nils Andreas Svee
b508a94198
build: bump version to 0.2.0
2026-05-11 15:11:58 +07:00
Nils Andreas Svee
2258509021
chore: bump version to 0.1.1 across all crates
...
Update workspace members and dependencies to version 0.1.1 to prepare for a new release.
2026-05-10 21:17:22 +07:00
renovate[bot]
f474632f4c
fix(deps): update rust crate thiserror to 2.0.18
2026-05-10 20:56:43 +07:00
renovate[bot]
ababa9d6b6
fix(deps): update rust crate subtle to 2.6.1
2026-05-10 20:56:43 +07:00
Nils Andreas Svee
47a8143bce
refactor(irtt-proto): update HMAC implementation for Digest 0.11
2026-05-10 20:56:43 +07:00
Nils Andreas Svee
831fd0cc45
build(deps): update hmac and md-5 dependencies
2026-05-10 20:56:43 +07:00
Nils Andreas Svee
416e5b43ba
build: add package metadata to member crates for publishing
...
Include descriptions, keywords, categories, and workspace-inherited fields (repository, homepage, readme) to prepare crates for distribution on crates.io.
2026-05-10 20:56:43 +07:00
Nils Andreas Svee
fa06177c60
docs(proto): document HMAC-MD5 compatibility
2026-05-10 20:56:43 +07:00
Nils Andreas Svee
48f6cb80ed
fix(proto): require exact echo reply packet length
2026-05-10 20:56:43 +07:00
Nils Andreas Svee
8374a51054
fix(client): reject runtime-invalid negotiated dscp
2026-05-10 20:56:43 +07:00
Nils Andreas Svee
dfdc43292a
fix(proto): reject invalid echo packet lengths
2026-05-10 20:56:43 +07:00
Nils Andreas Svee
d53dd7f406
fix(proto): reject oversized echo payloads
2026-05-10 20:56:43 +07:00
Nils Andreas Svee
f5cdaf4b67
perf(proto): compute HMAC without packet allocation
2026-05-10 20:56:43 +07:00
Nils Andreas Svee
f0823fa90b
fix(proto): avoid mutating flags in HMAC helper
2026-05-10 20:56:43 +07:00
Nils Andreas Svee
ab855338af
test(proto): verify HMAC field placement in protocol packets
2026-05-10 20:56:43 +07:00
Nils Andreas Svee
5831f4a3b5
test(proto): add unit tests for parameter encoding and decoding
2026-05-10 20:56:43 +07:00
Nils Andreas Svee
04ebaf829a
refactor(proto): Remove unused protocol flags and helper functions
2026-05-10 20:56:43 +07:00
Nils Andreas Svee
a5e8c80ecb
build(deps): Upgrade thiserror to version 2
2026-05-10 20:56:43 +07:00
Nils Andreas Svee
34dd2ee5d2
refactor(proto): Remove Clock::None and default to Clock::Both
...
Simplify clock parameter negotiation by rejecting the ambiguous 'None' value.
2026-05-10 20:56:43 +07:00
Nils Andreas Svee
cf74887bdf
feat(project): Establish initial IRTT workspace and protocol definitions
2026-05-10 20:56:28 +07:00