fix: keep LocalStats on channel encryption by default - #11246
Conversation
📝 WalkthroughWalkthroughUpdates ChangesTelemetry encryption behavior
Estimated code review effort: 2 (Simple) | ~10 minutes Possibly related issues
Possibly related PRs
Suggested labels: Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
⚡ Try this PR in the Web FlasherWarning This is an automated, unreviewed CI test build. Back up your device configuration Supported boards built by this PR (31)
Build artifacts expire on 2026-08-26. Updated for |
Summary
Telemetry.local_statson normal shared-channel encryption by default; other telemetry variants keep their existing PKI behavior.Why
Clients construct ordinary LocalStats requests on the node's shared channel. The router was auto-upgrading those packets to PKI whenever destination identity keys were known. This preserves the expected shared-channel behavior without making packets plaintext and without weakening other telemetry.
Validation
trunk fmt src/mesh/Router.cpp test/test_admin_session_repro/test_main.cppplatformio test -e coverage -v -f test_admin_session_reproin the project Docker test image: 26 cases passed.Follow-up
protobufs#1023 proposes the device-owned LocalStats request policy. Firmware enforcement will require explicit PKI from configured remote-admin keys, set the reply PKI flag, and silently reject unauthorized requests; it is tracked in firmware#11247.
Summary by CodeRabbit