From b4c7ec1ce93cabc32cb3ca3c8487522247122e55 Mon Sep 17 00:00:00 2001 From: Johan Hedberg Date: Tue, 4 Dec 2012 10:48:55 +0200 Subject: [PATCH] core: Remove event.c as a middle-man for user confirm based pairing --- src/event.c | 11 ----------- src/event.h | 1 - src/mgmt.c | 11 ++++++++--- 3 files changed, 8 insertions(+), 15 deletions(-) diff --git a/src/event.c b/src/event.c index e7be9a44a..9ed224b41 100644 --- a/src/event.c +++ b/src/event.c @@ -83,17 +83,6 @@ static gboolean get_adapter_and_device(const bdaddr_t *src, bdaddr_t *dst, return TRUE; } -int btd_event_user_confirm(bdaddr_t *sba, bdaddr_t *dba, uint32_t passkey) -{ - struct btd_adapter *adapter; - struct btd_device *device; - - if (!get_adapter_and_device(sba, dba, &adapter, &device, TRUE)) - return -ENODEV; - - return device_confirm_passkey(device, passkey); -} - int btd_event_user_passkey(bdaddr_t *sba, bdaddr_t *dba) { struct btd_adapter *adapter; diff --git a/src/event.h b/src/event.h index 62d2f98b9..f74ed2fd6 100644 --- a/src/event.h +++ b/src/event.h @@ -34,7 +34,6 @@ void btd_event_conn_complete(bdaddr_t *local, bdaddr_t *peer, void btd_event_conn_failed(bdaddr_t *local, bdaddr_t *peer, uint8_t status); void btd_event_disconn_complete(bdaddr_t *local, bdaddr_t *peer); void btd_event_returned_link_key(bdaddr_t *local, bdaddr_t *peer); -int btd_event_user_confirm(bdaddr_t *sba, bdaddr_t *dba, uint32_t passkey); int btd_event_user_passkey(bdaddr_t *sba, bdaddr_t *dba); int btd_event_user_notify(bdaddr_t *sba, bdaddr_t *dba, uint32_t passkey, uint8_t entered); diff --git a/src/mgmt.c b/src/mgmt.c index 04e6ea2b1..b09faaff2 100644 --- a/src/mgmt.c +++ b/src/mgmt.c @@ -864,6 +864,8 @@ static void mgmt_user_confirm_request(int sk, uint16_t index, void *buf, { struct mgmt_ev_user_confirm_request *ev = buf; struct controller_info *info; + struct btd_adapter *adapter; + struct btd_device *device; char addr[18]; int err; @@ -897,10 +899,13 @@ static void mgmt_user_confirm_request(int sk, uint16_t index, void *buf, info = &controllers[index]; - err = btd_event_user_confirm(&info->bdaddr, &ev->addr.bdaddr, - btohl(ev->value)); + if (!get_adapter_and_device(&info->bdaddr, &ev->addr.bdaddr, + &adapter, &device, true)) + return; + + err = device_confirm_passkey(device, btohl(ev->value)); if (err < 0) { - error("btd_event_user_confirm: %s", strerror(-err)); + error("device_confirm_passkey: %s", strerror(-err)); mgmt_confirm_reply(index, &ev->addr.bdaddr, ev->addr.type, FALSE); } -- 2.47.3