Hi Gustavo, On 16:28 Fri 01 Jul, Gustavo F. Padovan wrote: > * 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. Nothing too important, just to emphasize that each block is a different step of the protocol: first we check if we already have an LTK for that device, then we start the Pairing negotiation. But I fixed this, if I need to write this email, then the code needed changing ;-) Thanks. > > Gustavo Cheers, -- Vinicius -- 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