-
-
Notifications
You must be signed in to change notification settings - Fork 7
Anonymous authentication + LBT feedback metrics #29
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
This PR adds transport key functionality to the mesh packet system, enabling packet authentication using region-based transport codes. The implementation matches the C++ MeshCore firmware protocol, ensuring cross-platform compatibility.
Key Changes:
Introduced transport key generation and transport code calculation utilities
Extended packet structure to support optional 4-byte transport code fields for TRANSPORT_FLOOD and TRANSPORT_DIRECT route types
Added helper methods to identify packet routing characteristics
Co-authored-by: rightup <[email protected]>
[WIP] Address feedback on added transport key and mesh packet utilities
…to reflect new version
… for full hash representation
…ing-helper Add common utility for upper-case hex string representation for packet hash
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
This PR implements control packet handling for mesh node discovery, adding a new packet type (0x0B CONTROL) and handler infrastructure to enable nodes to discover each other on the mesh network via zero-hop broadcast packets. - Added PAYLOAD_TYPE_CONTROL (0x0B) constant and corresponding packet type mapping - Implemented ControlHandler for processing discovery request and response packets - Added create_discovery_request() and create_discovery_response() methods to PacketBuilder - Provided two example scripts demonstrating discovery functionality
…ring proper signature verification and payload size limits
Co-authored-by: Copilot <[email protected]>
(Packet) Rejection hurts
…date constructors and return types for better clarity
…iguration for SX126x chipsets
… PA-safety logic for SX126x chipsets
…rupt handler and improving logging for CAD operations
…t trampoline for GPIO interrupts and capturing the event loop for thread-safe operations.
Co-authored-by: Copilot <[email protected]>
RX Fix to interrupts
Fix SNR by implementing SNR and RSSI conversion utilities.
…; enhance ACL management and replay attack detection
…esting; improve packet handling in LoginServerHandler and PathHandler
…t path in PacketBuilder
…bility with C++ implementation
…clarity and accuracy
This PR introduces authentication support for anonymous login requests and adds Listen Before Talk (LBT) feedback metrics to the mesh network protocol. Clients can now securely authenticate using encrypted anonymous requests, and the radio layer provides detailed transmission feedback for improved network behaviour and diagnostics. Key Changes Anonymous authentication Added LoginServerHandler to process encrypted ANON_REQ packets Implements password validation and ACL enforcement for anonymous clients Protocol request handling Added ProtocolRequestHandler to manage REQ / RESPONSE protocol messages in a unified flow LBT feedback metrics Extended the SX1262 radio driver to collect LBT metrics, including: Backoff delays Channel busy detection Airtime usage Text message handling Enhanced text message handler to support CLI command messages via the txt_type field CLI messages do not require ACKs, reducing protocol overhead Bug fix Improved PI initialisation reliability for the radio chip by adding a required startup delay, resulting in faster and more stable initialisation
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Support for anonymous login requests and adds Listen Before Talk (LBT) feedback metrics to the mesh network protocol. Clients can now securely authenticate using encrypted anonymous requests, and the radio layer provides detailed transmission feedback for improved network behaviour and diagnostics.
Key Changes
Anonymous authentication
Added LoginServerHandler to process encrypted ANON_REQ packets
Implements password validation and ACL enforcement for anonymous clients
Protocol request handling
Added ProtocolRequestHandler to manage REQ / RESPONSE protocol messages in a unified flow
LBT feedback metrics
Extended the SX1262 radio driver to collect LBT metrics, including:
Backoff delays
Channel busy detection
Airtime usage
Text message handling
Enhanced text message handler to support CLI command messages via the txt_type field
CLI messages do not require ACKs, reducing protocol overhead
Bug fix
Improved PI initialisation reliability for the radio chip by adding a required startup delay, resulting in faster and more stable initialisation