* Vinicius Costa Gomes <vinicius.gomes@xxxxxxxxxxxxx> [2011-07-01 16:07:43 -0300]: > Now that it's possible that the exchanged key is present in > the link key list, we may be able to estabilish security with > an already existing key, without need to perform any SMP > procedure. > > Signed-off-by: Vinicius Costa Gomes <vinicius.gomes@xxxxxxxxxxxxx> > --- > net/bluetooth/smp.c | 15 +++++++++++++++ > 1 files changed, 15 insertions(+), 0 deletions(-) > > diff --git a/net/bluetooth/smp.c b/net/bluetooth/smp.c > index 34d236d..191aaec 100644 > --- a/net/bluetooth/smp.c > +++ b/net/bluetooth/smp.c > @@ -476,6 +476,20 @@ int smp_conn_security(struct l2cap_conn *conn, __u8 sec_level) > authreq = seclevel_to_authreq(sec_level); > > if (hcon->link_mode & HCI_LM_MASTER) { > + struct link_key *key; > + > + key = hci_find_link_key_type(hcon->hdev, conn->dst, > + HCI_LK_SMP_LTK); > + if (key) { > + struct key_master_id *master = (void *) key->data; > + > + hci_le_start_enc(hcon, master->ediv, master->rand, > + key->val); > + goto done; > + } > + } > + > + if (hcon->link_mode & HCI_LM_MASTER) { hey, why do you need this if? it is the same comparison as above. Gustavo -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html