summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLuiz Augusto von Dentz <luiz.von.dentz@intel.com>2015-02-25 12:39:42 +0200
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>2015-02-26 15:27:34 +0200
commitcec14a602d27f7f4fd486f8a8a5f3f15aa994afc (patch)
tree5463cbdf3d64209ad2766a5f24f58cfdb1938c2c /src
parent825fa14fba8ab45be894f63ee516f1281a9713fb (diff)
downloadbluez-cec14a602d27f7f4fd486f8a8a5f3f15aa994afc.tar.gz
core: Store signature counters
This stores signature counters in LocalSignatureCounter and RemoteSignatureCounter entries so they can be reloaded later.
Diffstat (limited to 'src')
-rw-r--r--src/adapter.c5
1 files 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))