From cec14a602d27f7f4fd486f8a8a5f3f15aa994afc Mon Sep 17 00:00:00 2001 From: Luiz Augusto von Dentz Date: Wed, 25 Feb 2015 12:39:42 +0200 Subject: [PATCH] core: Store signature counters This stores signature counters in LocalSignatureCounter and RemoteSignatureCounter entries so they can be reloaded later. --- src/adapter.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/adapter.c b/src/adapter.c index 33532977e..32faa261d 100644 --- a/src/adapter.c +++ b/src/adapter.c @@ -6156,7 +6156,7 @@ static void new_long_term_key_callback(uint16_t index, uint16_t length, static void store_csrk(const bdaddr_t *local, const bdaddr_t *peer, uint8_t bdaddr_type, const unsigned char *key, - uint8_t master) + uint32_t counter, uint8_t master) { const char *group; char adapter_addr[18]; @@ -6190,6 +6190,7 @@ static void store_csrk(const bdaddr_t *local, const bdaddr_t *peer, sprintf(key_str + (i * 2), "%2.2X", key[i]); g_key_file_set_string(key_file, group, "Key", key_str); + g_key_file_set_integer(key_file, group, "Counter", counter); create_file(filename, S_IRUSR | S_IWUSR); @@ -6230,7 +6231,7 @@ static void new_csrk_callback(uint16_t index, uint16_t length, if (!ev->store_hint) return; - store_csrk(bdaddr, &key->addr.bdaddr, key->addr.type, key->val, + store_csrk(bdaddr, &key->addr.bdaddr, key->addr.type, key->val, 0, key->master); if (device_is_temporary(device)) -- 2.47.3