Bluetooth: Track if link is using P-256 authenticated combination key
authorMarcel Holtmann <marcel@holtmann.org>
Sat, 1 Feb 2014 19:52:02 +0000 (11:52 -0800)
committerJohan Hedberg <johan.hedberg@intel.com>
Thu, 13 Feb 2014 07:51:44 +0000 (09:51 +0200)
When the ACL link is using P-256 authenticated combination key, mark
the link mode as HCI_LM_FIPS.

Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
net/bluetooth/hci_event.c

index 36c9a488ac56977555e234cb3136e18753a401ea..d2c6878a9d6a98af67aab41c84351ee3ed9404dd 100644 (file)
@@ -1998,6 +1998,10 @@ static void hci_encrypt_change_evt(struct hci_dev *hdev, struct sk_buff *skb)
                        conn->link_mode |= HCI_LM_ENCRYPT;
                        conn->sec_level = conn->pending_sec_level;
 
+                       /* P-256 authentication key implies FIPS */
+                       if (conn->key_type == HCI_LK_AUTH_COMBINATION_P256)
+                               conn->link_mode |= HCI_LM_FIPS;
+
                        if ((conn->type == ACL_LINK && ev->encrypt == 0x02) ||
                            conn->type == LE_LINK)
                                set_bit(HCI_CONN_AES_CCM, &conn->flags);