diff --git a/input/device.c b/input/device.c
index 09a9a39..c08ba18 100644
--- a/input/device.c
+++ b/input/device.c
/* Encryption is mandatory for keyboards */
if (req->subclass & 0x40) {
- struct btd_adapter *adapter = device_get_adapter(idev->device);
-
- err = btd_adapter_encrypt_link(adapter, (bdaddr_t *) &idev->dst,
- encrypt_completed, req);
- if (err == 0) {
- /* Waiting async encryption */
- return 0;
- }
-
- if (err == -ENOSYS)
- goto nosys;
-
- if (err != -EALREADY) {
- error("encrypt_link: %s (%d)", strerror(-err), -err);
+ if (!bt_io_set(iconn->intr_io, BT_IO_L2CAP, &gerr,
+ BT_IO_OPT_SEC_LEVEL, BT_IO_SEC_MEDIUM,
+ BT_IO_OPT_INVALID)) {
+ error("btio: %s", gerr->message);
+ g_error_free(gerr);
+ err = -EFAULT;
goto cleanup;
}
+
+ iconn->req = req;
+ iconn->sec_watch = g_io_add_watch(iconn->intr_io, G_IO_OUT,
+ encrypt_notify, iconn);
}
err = ioctl_connadd(req);
g_free(req);
return err;
-
-nosys:
- if (!bt_io_set(iconn->intr_io, BT_IO_L2CAP, &gerr,
- BT_IO_OPT_SEC_LEVEL, BT_IO_SEC_MEDIUM,
- BT_IO_OPT_INVALID)) {
- error("btio: %s", gerr->message);
- g_error_free(gerr);
- goto cleanup;
- }
-
- iconn->req = req;
- iconn->sec_watch = g_io_add_watch(iconn->intr_io, G_IO_OUT,
- encrypt_notify, iconn);
- return 0;
}
static int is_connected(struct input_conn *iconn)
diff --git a/plugins/mgmtops.c b/plugins/mgmtops.c
index 0dde05a..7c77be8 100644
--- a/plugins/mgmtops.c
+++ b/plugins/mgmtops.c
return 0;
}
-static int mgmt_encrypt_link(int index, bdaddr_t *dst, bt_hci_result_t cb,
- gpointer user_data)
-{
- char addr[18];
-
- ba2str(dst, addr);
- DBG("index %d addr %s", index, addr);
-
- return -ENOSYS;
-}
-
static int mgmt_set_did(int index, uint16_t vendor, uint16_t product,
uint16_t version, uint16_t source)
{
.pincode_reply = mgmt_pincode_reply,
.confirm_reply = mgmt_confirm_reply,
.passkey_reply = mgmt_passkey_reply,
- .encrypt_link = mgmt_encrypt_link,
.set_did = mgmt_set_did,
.add_uuid = mgmt_add_uuid,
.remove_uuid = mgmt_remove_uuid,
diff --git a/src/adapter.c b/src/adapter.c
index fb97fbb..eeba44d 100644
--- a/src/adapter.c
+++ b/src/adapter.c
passkey);
}
-int btd_adapter_encrypt_link(struct btd_adapter *adapter, bdaddr_t *bdaddr,
- bt_hci_result_t cb, gpointer user_data)
-{
- return adapter_ops->encrypt_link(adapter->dev_id, bdaddr, cb, user_data);
-}
-
int btd_adapter_set_did(struct btd_adapter *adapter, uint16_t vendor,
uint16_t product, uint16_t version,
uint16_t source)
diff --git a/src/adapter.h b/src/adapter.h
index fbebd5c..4c39a7b 100644
--- a/src/adapter.h
+++ b/src/adapter.h
gboolean success);
int (*passkey_reply) (int index, bdaddr_t *bdaddr, uint8_t bdaddr_type,
uint32_t passkey);
- int (*encrypt_link) (int index, bdaddr_t *bdaddr, bt_hci_result_t cb,
- gpointer user_data);
int (*set_did) (int index, uint16_t vendor, uint16_t product,
uint16_t version, uint16_t source);
int (*add_uuid) (int index, uuid_t *uuid, uint8_t svc_hint);
int btd_adapter_passkey_reply(struct btd_adapter *adapter, bdaddr_t *bdaddr,
uint8_t bdaddr_type, uint32_t passkey);
-int btd_adapter_encrypt_link(struct btd_adapter *adapter, bdaddr_t *bdaddr,
- bt_hci_result_t cb, gpointer user_data);
-
int btd_adapter_set_did(struct btd_adapter *adapter, uint16_t vendor,
uint16_t product, uint16_t version,
uint16_t source);