gap: check if minimal service security level can be reached in responder role

This commit is contained in:
Matthias Ringwald 2021-06-20 22:58:10 +02:00
parent 8ad4dfff8d
commit 5a56192085
2 changed files with 7 additions and 1 deletions

View File

@ -26,6 +26,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
- GAP: abort legacy pairing if Level 4 is required
- GAP: abort SSP on IO Capabilities Request event if Level 4 is required but SC not supported by remote
- GAP: abort SSP on User Confirmation Request event if Level 3 is required but MITM protection not possible
- GAP: check if minimal service security level can be reached in responder role
- L2CAP: don't trigger hci disconnect if l2cap security requirements are insufficient
## Release v1.4

View File

@ -405,7 +405,12 @@ static void hci_pairing_started(hci_connection_t * hci_connection, bool ssp){
// if we are initiator, we have sent an HCI Authenticate Request
bool initiator = (hci_connection->bonding_flags & BONDING_SENT_AUTHENTICATE_REQUEST) != 0;
log_info("pairing started, ssp %u, initiator %u", (int) ssp, (int) initiator);
// if we are responder, use minimal service security level as required level
if (!initiator){
hci_connection->requested_security_level = btstack_max(hci_connection->requested_security_level, hci_stack->gap_minimal_service_security_level);
}
log_info("pairing started, ssp %u, initiator %u, requested level %u", (int) ssp, (int) initiator, hci_connection->requested_security_level);
uint8_t event[12];
event[0] = GAP_EVENT_PAIRING_STARTED;