From b59c2b248767dd26b61ec29aa3a343939d70b49f Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Sat, 14 Mar 2015 23:34:23 -0700 Subject: [PATCH] tools: Make sure that IRKs are cleared before OOB pairing --- tools/oobtest.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/tools/oobtest.c b/tools/oobtest.c index b25ba2a9e..bbaefa912 100644 --- a/tools/oobtest.c +++ b/tools/oobtest.c @@ -413,6 +413,17 @@ static void clear_long_term_keys(uint16_t index) sizeof(cp), &cp, NULL, NULL, NULL); } +static void clear_identity_resolving_keys(uint16_t index) +{ + struct mgmt_cp_load_irks cp; + + memset(&cp, 0, sizeof(cp)); + cp.irk_count = cpu_to_le16(0); + + mgmt_send(mgmt, MGMT_OP_LOAD_IRKS, index, + sizeof(cp), &cp, NULL, NULL, NULL); +} + static void clear_remote_oob_data(uint16_t index) { struct mgmt_cp_remove_remote_oob_data cp; @@ -514,6 +525,7 @@ static void read_info(uint8_t status, uint16_t len, const void *param, clear_link_keys(index); clear_long_term_keys(index); + clear_identity_resolving_keys(index); clear_remote_oob_data(index); if (use_bredr) { -- 2.47.3