• Szymon Janc's avatar
    Bluetooth: Fix missing encryption refresh on Security Request · 3d3df56e
    Szymon Janc authored
    commit 64e759f5 upstream.
    
    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>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    3d3df56e
smp.c 91.7 KB