cli_feat_read_cb, cli_feat_write_cb,
database);
- bt_uuid16_create(&uuid, GATT_CHARAC_DB_HASH);
- database->db_hash = gatt_db_service_add_characteristic(service,
+
+ /* Only expose database hash chrc if supported */
+ if (gatt_db_hash_support(database->db)) {
+ bt_uuid16_create(&uuid, GATT_CHARAC_DB_HASH);
+ database->db_hash = gatt_db_service_add_characteristic(service,
&uuid, BT_ATT_PERM_READ, BT_GATT_CHRC_PROP_READ,
db_hash_read_cb, NULL, database);
+ }
/* Only enable EATT if there is a socket listening */
if (database->eatt_io) {
return db->hash;
}
+bool gatt_db_hash_support(struct gatt_db *db)
+{
+ if (!db || !db->crypto)
+ return false;
+
+ return true;
+}
+
static struct gatt_db_service *find_insert_loc(struct gatt_db *db,
uint16_t start, uint16_t end,
struct gatt_db_service **after)
bool gatt_db_clear(struct gatt_db *db);
bool gatt_db_clear_range(struct gatt_db *db, uint16_t start_handle,
uint16_t end_handle);
+bool gatt_db_hash_support(struct gatt_db *db);
uint8_t *gatt_db_get_hash(struct gatt_db *db);
struct gatt_db_attribute *gatt_db_insert_service(struct gatt_db *db,