From b48e72a939678c6fca9373c1c5d37bfa7ec66dc0 Mon Sep 17 00:00:00 2001 From: Szymon Janc Date: Fri, 27 Feb 2015 12:24:06 +0100 Subject: [PATCH] android/gatt: Fix check if CSRK is authenticated --- android/gatt.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/android/gatt.c b/android/gatt.c index 03a92d198..0703e65a9 100644 --- a/android/gatt.c +++ b/android/gatt.c @@ -4691,9 +4691,15 @@ static uint8_t check_device_permissions(struct gatt_device *device, if (!(permissions & GATT_PERM_WRITE_SIGNED)) return ATT_ECODE_WRITE_NOT_PERM; - if ((permissions & GATT_PERM_WRITE_SIGNED_MITM) && - sec_level < BT_SECURITY_HIGH) + if (permissions & GATT_PERM_WRITE_SIGNED_MITM) { + bool auth; + + if (bt_get_csrk(&device->bdaddr, true, NULL, NULL, + &auth) && auth) + break; + return ATT_ECODE_AUTHENTICATION; + } break; case ATT_OP_READ_BY_TYPE_REQ: case ATT_OP_READ_REQ: -- 2.47.3