• Szymon Janc's avatar
    Bluetooth: Fix missing encryption refresh on Security Request · 64e759f5
    Szymon Janc authored
    If Security Request is received on connection that is already encrypted
    with sufficient security master should perform encryption key refresh
    procedure instead of just ignoring Slave Security Request
    (Core Spec 5.0 Vol 3 Part H 2.4.6).
    
    > ACL Data RX: Handle 3585 flags 0x02 dlen 6
          SMP: Security Request (0x0b) len 1
            Authentication requirement: Bonding, No MITM, SC, No Keypresses (0x09)
    < HCI Command: LE Start Encryption (0x08|0x0019) plen 28
            Handle: 3585
            Random number: 0x0000000000000000
            Encrypted diversifier: 0x0000
            Long term key: 44264272a5c426a9e868f034cf0e69f3
    > HCI Event: Command Status (0x0f) plen 4
          LE Start Encryption (0x08|0x0019) ncmd 1
            Status: Success (0x00)
    > HCI Event: Encryption Key Refresh Complete (0x30) plen 3
            Status: Success (0x00)
            Handle: 3585
    Signed-off-by: default avatarSzymon Janc <szymon.janc@codecoup.pl>
    Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
    64e759f5
smp.c 94.3 KB