Diff between 70811dfc47ad2ca5b2c2fa96ce964d45fd4b82b5 and d16dbe8800d62b7991713c12b9786895562d5c5d

Changed Files

File Additions Deletions Status
src/adapter.c +34 -3 modified
src/mgmt.c +0 -53 modified
src/mgmt.h +0 -4 modified

Full Patch

diff --git a/src/adapter.c b/src/adapter.c
index 11ee19a..55ccabc 100644
--- a/src/adapter.c
+++ b/src/adapter.c
@@ -4139,14 +4139,45 @@ int btd_adapter_add_remote_oob_data(struct btd_adapter *adapter,
 					const bdaddr_t *bdaddr,
 					uint8_t *hash, uint8_t *randomizer)
 {
-	return mgmt_add_remote_oob_data(adapter->dev_id, bdaddr, hash,
-								randomizer);
+	struct mgmt_cp_add_remote_oob_data cp;
+	char addr[18];
+
+	ba2str(bdaddr, addr);
+	DBG("hci%d bdaddr %s", adapter->dev_id, addr);
+
+	memset(&cp, 0, sizeof(cp));
+	bacpy(&cp.addr.bdaddr, bdaddr);
+	memcpy(cp.hash, hash, 16);
+
+	if (randomizer)
+		memcpy(cp.randomizer, randomizer, 16);
+
+	if (mgmt_send(adapter->mgmt, MGMT_OP_ADD_REMOTE_OOB_DATA,
+				adapter->dev_id, sizeof(cp), &cp,
+				NULL, NULL, NULL) > 0)
+		return 0;
+
+	return -EIO;
 }
 
 int btd_adapter_remove_remote_oob_data(struct btd_adapter *adapter,
 							const bdaddr_t *bdaddr)
 {
-	return mgmt_remove_remote_oob_data(adapter->dev_id, bdaddr);
+	struct mgmt_cp_remove_remote_oob_data cp;
+	char addr[18];
+
+	ba2str(bdaddr, addr);
+	DBG("hci%d bdaddr %s", adapter->dev_id, addr);
+
+	memset(&cp, 0, sizeof(cp));
+	bacpy(&cp.addr.bdaddr, bdaddr);
+
+	if (mgmt_send(adapter->mgmt, MGMT_OP_REMOVE_REMOTE_OOB_DATA,
+				adapter->dev_id, sizeof(cp), &cp,
+				NULL, NULL, NULL) > 0)
+		return 0;
+
+	return -EIO;
 }
 
 bool btd_adapter_ssp_enabled(struct btd_adapter *adapter)
diff --git a/src/mgmt.c b/src/mgmt.c
index a0919f3..7523cc7 100644
--- a/src/mgmt.c
+++ b/src/mgmt.c
@@ -1076,59 +1076,6 @@ int mgmt_cancel_bonding(int index, const bdaddr_t *bdaddr, uint8_t addr_type)
 	return 0;
 }
 
-int mgmt_add_remote_oob_data(int index, const bdaddr_t *bdaddr,
-					uint8_t *hash, uint8_t *randomizer)
-{
-	char buf[MGMT_HDR_SIZE + sizeof(struct mgmt_cp_add_remote_oob_data)];
-	struct mgmt_hdr *hdr = (void *) buf;
-	struct mgmt_cp_add_remote_oob_data *cp = (void *) &buf[sizeof(*hdr)];
-	char addr[18];
-
-	ba2str(bdaddr, addr);
-	DBG("hci%d bdaddr %s", index, addr);
-
-	memset(buf, 0, sizeof(buf));
-
-	hdr->opcode = htobs(MGMT_OP_ADD_REMOTE_OOB_DATA);
-	hdr->index = htobs(index);
-	hdr->len = htobs(sizeof(*cp));
-
-	bacpy(&cp->addr.bdaddr, bdaddr);
-	memcpy(cp->hash, hash, 16);
-
-	if (randomizer)
-		memcpy(cp->randomizer, randomizer, 16);
-
-	if (write(mgmt_sock, &buf, sizeof(buf)) < 0)
-		return -errno;
-
-	return 0;
-}
-
-int mgmt_remove_remote_oob_data(int index, const bdaddr_t *bdaddr)
-{
-	char buf[MGMT_HDR_SIZE + sizeof(struct mgmt_cp_remove_remote_oob_data)];
-	struct mgmt_hdr *hdr = (void *) buf;
-	struct mgmt_cp_remove_remote_oob_data *cp = (void *) &buf[sizeof(*hdr)];
-	char addr[18];
-
-	ba2str(bdaddr, addr);
-	DBG("hci%d bdaddr %s", index, addr);
-
-	memset(buf, 0, sizeof(buf));
-
-	hdr->opcode = htobs(MGMT_OP_REMOVE_REMOTE_OOB_DATA);
-	hdr->index = htobs(index);
-	hdr->len = htobs(sizeof(*cp));
-
-	bacpy(&cp->addr.bdaddr, bdaddr);
-
-	if (write(mgmt_sock, &buf, sizeof(buf)) < 0)
-		return -errno;
-
-	return 0;
-}
-
 int mgmt_load_ltks(int index, GSList *keys)
 {
 	char *buf;
diff --git a/src/mgmt.h b/src/mgmt.h
index d63bc10..174c6a7 100644
--- a/src/mgmt.h
+++ b/src/mgmt.h
@@ -38,7 +38,3 @@ int mgmt_confirm_reply(int index, const bdaddr_t *bdaddr, uint8_t bdaddr_type,
 							gboolean success);
 int mgmt_passkey_reply(int index, const bdaddr_t *bdaddr, uint8_t bdaddr_type,
 							uint32_t passkey);
-
-int mgmt_add_remote_oob_data(int index, const bdaddr_t *bdaddr,
-					uint8_t *hash, uint8_t *randomizer);
-int mgmt_remove_remote_oob_data(int index, const bdaddr_t *bdaddr);