diff options
author | Johan Hedberg <johan.hedberg@intel.com> | 2014-02-28 18:10:02 +0200 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2014-02-28 08:17:46 -0800 |
commit | 38ccdc93326f61b84734028e586ed522a53b733a (patch) | |
tree | 98353cfea0cd3e34c7beb6df3b5227481742f01a /net/bluetooth/smp.h | |
parent | 9489eca4ab2fd5d9bbf3bab992168cc8107fc3e9 (diff) | |
download | blackbird-op-linux-38ccdc93326f61b84734028e586ed522a53b733a.tar.gz blackbird-op-linux-38ccdc93326f61b84734028e586ed522a53b733a.zip |
Bluetooth: Re-encrypt link after receiving an LTK
It's not strictly speaking required to re-encrypt a link once we receive
an LTK since the connection is already encrypted with the STK. However,
re-encrypting with the LTK allows us to verify that we've received an
LTK that actually works.
This patch updates the SMP code to request encrypting with the LTK in
case we're in master role and waits until the key refresh complete event
before notifying user space of the distributed keys.
A new flag is also added for the SMP context to ensure that we
re-encryption only once in case of multiple calls to smp_distribute_keys.
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Diffstat (limited to 'net/bluetooth/smp.h')
-rw-r--r-- | net/bluetooth/smp.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/net/bluetooth/smp.h b/net/bluetooth/smp.h index a11d4281542c..676395f93702 100644 --- a/net/bluetooth/smp.h +++ b/net/bluetooth/smp.h @@ -118,7 +118,8 @@ struct smp_cmd_security_req { #define SMP_FLAG_TK_VALID 1 #define SMP_FLAG_CFM_PENDING 2 #define SMP_FLAG_MITM_AUTH 3 -#define SMP_FLAG_COMPLETE 4 +#define SMP_FLAG_LTK_ENCRYPT 4 +#define SMP_FLAG_COMPLETE 5 struct smp_chan { struct l2cap_conn *conn; |