Skip to content

libmavconn: add MAVLink v2 signing support#2104

Merged
vooon merged 1 commit intoros2from
mavconn-siging
Feb 15, 2026
Merged

libmavconn: add MAVLink v2 signing support#2104
vooon merged 1 commit intoros2from
mavconn-siging

Conversation

@vooon
Copy link
Member

@vooon vooon commented Feb 15, 2026

Summary

This PR adds initial MAVLink v2 packet signing support in libmavconn and refactors status handling to cleanly separate TX and RX state.

What changed

  • Added MAVLink signing API to MAVConnInterface:
    • setup_signing(...)
    • disable_signing()
    • set_accept_unsigned_callback(...)
  • Added internal signing state wiring:
    • dedicated TX signing state
    • dedicated RX signing state
    • RX signing stream replay-tracking state
  • Split TX/RX mavlink_status_t usage:
    • TX finalization now uses dedicated TX status
    • RX parser and RX status use dedicated RX members
  • Added signing-focused UDP tests:
    • signed packets are accepted with matching key
    • bad signatures are reported when keys mismatch
    • unsigned packets can be accepted via callback override

Files touched

  • libmavconn/include/mavconn/interface.hpp
  • libmavconn/src/interface.cpp
  • libmavconn/test/test_mavconn.cpp

Validation

Ran from /ws:

  • source /opt/ros/kilted/setup.bash
  • colcon build --packages-select libmavconn
  • colcon test --packages-select libmavconn
  • colcon test-result --verbose

Result:

  • Build passed
  • Tests passed (0 errors, 0 failures)

Notes

  • Signing timestamp default uses MAVLink signing epoch semantics (2015-01-01, 10 µs units).
  • Feature is implemented at libmavconn transport layer; higher-level configuration/UI wiring can be added in follow-up PRs.

@vooon vooon added this to the Version 2.13 milestone Feb 15, 2026
@vooon vooon merged commit 5a541fb into ros2 Feb 15, 2026
4 of 6 checks passed
@vooon vooon deleted the mavconn-siging branch February 15, 2026 16:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

Comments