Bluetooth: Use actual encryption key size for SMP over BR/EDR

When pairing over SMP over BR/EDR the generated LTK has by default the
same key size as the BR/EDR Link Key. Make sure we don't set our
Pairing Request/Response max value to anything higher than that.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
This commit is contained in:
Johan Hedberg 2015-06-11 13:52:30 +03:00 committed by Marcel Holtmann
parent 821f376668
commit e3f6a257a7

View File

@ -1705,7 +1705,7 @@ static void build_bredr_pairing_cmd(struct smp_chan *smp,
req->init_key_dist = local_dist;
req->resp_key_dist = remote_dist;
req->max_key_size = SMP_MAX_ENC_KEY_SIZE;
req->max_key_size = conn->hcon->enc_key_size;
smp->remote_key_dist = remote_dist;
@ -1714,7 +1714,7 @@ static void build_bredr_pairing_cmd(struct smp_chan *smp,
memset(rsp, 0, sizeof(*rsp));
rsp->max_key_size = SMP_MAX_ENC_KEY_SIZE;
rsp->max_key_size = conn->hcon->enc_key_size;
rsp->init_key_dist = req->init_key_dist & remote_dist;
rsp->resp_key_dist = req->resp_key_dist & local_dist;