summaryrefslogtreecommitdiff
path: root/src/eir.c
diff options
context:
space:
mode:
authorSzymon Janc <szymon.janc@tieto.com>2012-10-03 15:18:15 +0200
committerJohan Hedberg <johan.hedberg@intel.com>2012-10-03 22:40:17 +0300
commit7814825978fbe037d5872017e0d4c0dff534a476 (patch)
tree08f5b180543efe6fa415e96dad1346fe7aef14b4 /src/eir.c
parent7e4bb884269161cf9d6d8b2c00a2f5c0b69574d6 (diff)
downloadbluez-7814825978fbe037d5872017e0d4c0dff534a476.tar.gz
eir: Add support for parsing SSP hash and randomizer
This will be used over OOB mechanism.
Diffstat (limited to 'src/eir.c')
-rw-r--r--src/eir.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/eir.c b/src/eir.c
index 50912a01c..9226c3264 100644
--- a/src/eir.c
+++ b/src/eir.c
@@ -44,6 +44,10 @@ void eir_data_free(struct eir_data *eir)
eir->services = NULL;
g_free(eir->name);
eir->name = NULL;
+ g_free(eir->hash);
+ eir->hash = NULL;
+ g_free(eir->randomizer);
+ eir->randomizer = NULL;
}
static void eir_parse_uuid16(struct eir_data *eir, void *data, uint8_t len)
@@ -170,6 +174,18 @@ int eir_parse(struct eir_data *eir, uint8_t *eir_data, uint8_t eir_len)
break;
eir->appearance = bt_get_le16(data);
break;
+
+ case EIR_SSP_HASH:
+ if (data_len < 16)
+ break;
+ eir->hash = g_memdup(data, 16);
+ break;
+
+ case EIR_SSP_RANDOMIZER:
+ if (data_len < 16)
+ break;
+ eir->randomizer = g_memdup(data, 16);
+ break;
}
eir_data += field_len + 1;