Skip to content

src: signing: Add zero-copy verification and ACCEPT_UNKNOWN_MSGID - #12

Draft
joaoantoniocardoso wants to merge 4 commits into
bluerobotics:split/security-signing-resyncfrom
joaoantoniocardoso:split/security-signing-module
Draft

src: signing: Add zero-copy verification and ACCEPT_UNKNOWN_MSGID#12
joaoantoniocardoso wants to merge 4 commits into
bluerobotics:split/security-signing-resyncfrom
joaoantoniocardoso:split/security-signing-module

Conversation

@joaoantoniocardoso

Copy link
Copy Markdown
Member

Merge after #11.

Add an opt-in const generic (default off) that forwards frames whose
message id is absent from the compiled dialect instead of dropping
them. The is_known_msgid check runs only on the CRC-failure path, so the
hot path is unaffected; forwarded unknown frames are CRC-unvalidated by
definition. Wire it through the mavlink_codec! macro and cover both
router-forward and strict-drop behavior with tests.
Used by the in-crate MAVLink2 signature verification.
Add link id, timestamp (raw and u64), and value accessors with their
size constants, following the existing field-accessor style and tests.
Reimplement MAVLink2 signing verification in-crate over the borrowed
frame bytes, avoiding the copy into rust-mavlink's MAVLinkV2MessageRaw.
The codec verifies through Decoder::decode(&mut self), so the per-stream
replay state is mutated through exclusive access and needs no Mutex.
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.

1 participant