Diff between 586cdbc23bb7339fbc6848fd9c5bd0c41d7d764c and 1475d9e5ffc0a4be66bae180acd85e7f7d8e078d

Changed Files

File Additions Deletions Status
tools/smp-tester.c +19 -0 modified

Full Patch

diff --git a/tools/smp-tester.c b/tools/smp-tester.c
index 1e0e1b0..12e0bed 100644
--- a/tools/smp-tester.c
+++ b/tools/smp-tester.c
@@ -366,6 +366,21 @@ static const struct smp_data smp_client_basic_req_2_test = {
 	.mitm = true,
 };
 
+static void user_confirm_request_callback(uint16_t index, uint16_t length,
+							const void *param,
+							void *user_data)
+{
+	const struct mgmt_ev_user_confirm_request *ev = param;
+	struct test_data *data = tester_get_data();
+	struct mgmt_cp_user_confirm_reply cp;
+
+	memset(&cp, 0, sizeof(cp));
+	memcpy(&cp.addr, &ev->addr, sizeof(cp.addr));
+
+	mgmt_reply(data->mgmt, MGMT_OP_USER_CONFIRM_REPLY,
+			data->mgmt_index, sizeof(cp), &cp, NULL, NULL, NULL);
+}
+
 static void client_connectable_complete(uint16_t opcode, uint8_t status,
 					const void *param, uint8_t len,
 					void *user_data)
@@ -665,6 +680,10 @@ static void setup_powered_server(const void *test_data)
 	struct test_data *data = tester_get_data();
 	unsigned char param[] = { 0x01 };
 
+	mgmt_register(data->mgmt, MGMT_EV_USER_CONFIRM_REQUEST,
+			data->mgmt_index, user_confirm_request_callback,
+			data, NULL);
+
 	tester_print("Powering on controller");
 
 	mgmt_send(data->mgmt, MGMT_OP_SET_LE, data->mgmt_index,