Skip to content

Conversation

@WayneHowell
Copy link

@WayneHowell WayneHowell commented Dec 14, 2025

The original code would not compile on Windows and there was a problem with KID being overwritten. Both fixed.

Line 54 in context_primitive.c seems to be a VLA, although I'm not sure that is intended. The change makes this a fixed array and MSVC will now compile it.
Also note that there is another issue related to latest Rust, so downgraded to v1.88 for a clean compile.
The KID was not being included in set request. The problem seems to be twofold. a) the k-flag was being overwritten. b) There was confusion over whether the AAD was written with sender of receiver KID.
 KID now included in OSCORE option (RFC 8613 Section 5.4)
✅ AAD now calculated correctly with sender's KID
@WayneHowell
Copy link
Author

This version has been used in all the FENCE PoC work to v0.1.10 with no problems.
(FENCE is the task group working towards ANSI E1.88 standard)

@chrysn
Copy link
Member

chrysn commented Dec 16, 2025

Thanks for reporting this. This'll need a bit of clean-up, likely to happen at the actual repository https://gitlab.com/oscore/liboscore (GitHub is just a mirror, and unlike issues, PRs can't be disabled). Actually, this mirror is even a bit lagging, you will find more recent fixes (including for current Rust compilers) there.

The array being accidentally VLA is indeed a bug; still looking into whether a defined or an assigned-value enum is the right fix here.

This PR also contains a KID issue, which I'll copy into a separate PR to review there. Do you have an account on GitLab which I can CC when doing that?

@WayneHowell
Copy link
Author

WayneHowell commented Dec 16, 2025 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants