From 7ba98f93944a156321dd0739925565e46d99bf28 Mon Sep 17 00:00:00 2001 From: Peddolla Harshavardhan Reddy Date: Sun, 27 Apr 2025 03:23:47 +0530 Subject: [PATCH] PR: wpa_cli support for PR discovery and PR secure negotiation Signed-off-by: Peddolla Harshavardhan Reddy --- wpa_supplicant/wpa_cli.c | 39 +++++++++++++++++++++++++++++++++++++-- 1 file changed, 37 insertions(+), 2 deletions(-) diff --git a/wpa_supplicant/wpa_cli.c b/wpa_supplicant/wpa_cli.c index 03180a316..8d899c8d0 100644 --- a/wpa_supplicant/wpa_cli.c +++ b/wpa_supplicant/wpa_cli.c @@ -3286,6 +3286,31 @@ static int wpa_cli_cmd_pasn_deauth(struct wpa_ctrl *ctrl, int argc, return wpa_cli_cmd(ctrl, "PASN_DEAUTH", 1, argc, argv); } + +#ifdef CONFIG_PR + +static int wpa_cli_cmd_pr_pasn_start(struct wpa_ctrl *ctrl, int argc, + char *argv[]) +{ + return wpa_cli_cmd(ctrl, "PR_PASN_START", 4, argc, argv); +} + + +static int wpa_cli_cmd_pr_set_dik_context(struct wpa_ctrl *ctrl, int argc, + char *argv[]) +{ + return wpa_cli_cmd(ctrl, "PR_SET_DIK_CONTEXT", 1, argc, argv); +} + + +static int wpa_cli_cmd_pr_clear_dik_context(struct wpa_ctrl *ctrl, int argc, + char *argv[]) +{ + return wpa_ctrl_command(ctrl, "PR_CLEAR_DIK_CONTEXT"); +} + +#endif /* CONFIG_PR */ + #endif /* CONFIG_PASN */ @@ -4088,6 +4113,16 @@ static const struct wpa_cli_cmd wpa_cli_commands[] = { { "pasn_deauth", wpa_cli_cmd_pasn_deauth, NULL, cli_cmd_flag_none, "bssid= = Remove PASN PTKSA state" }, +#ifdef CONFIG_PR + { "pr_pasn_start", wpa_cli_cmd_pr_pasn_start, NULL, + cli_cmd_flag_none, + "bssid= role= ranging_type=" }, + { "pr_set_dik_context", wpa_cli_cmd_pr_set_dik_context, NULL, + cli_cmd_flag_sensitive, + "self dik= password= pmk=" }, + { "pr_clear_dik_context", wpa_cli_cmd_pr_clear_dik_context, NULL, + cli_cmd_flag_none, "= Clear all DIK contexts" }, +#endif /* CONFIG_PR */ #endif /* CONFIG_PASN */ { "mscs", wpa_cli_cmd_mscs, NULL, cli_cmd_flag_none, @@ -4113,14 +4148,14 @@ static const struct wpa_cli_cmd wpa_cli_commands[] = { #ifdef CONFIG_NAN_USD { "nan_publish", wpa_cli_cmd_nan_publish, NULL, cli_cmd_flag_none, - "service_name= [ttl=] [freq=] [freq_list=] [srv_proto_type=] [ssi=] [solicited=0] [unsolicited=0] [fsd=0] [p2p=1] = Publish NAN service" }, + "service_name= [ttl=] [freq=] [freq_list=] [srv_proto_type=] [ssi=] [solicited=0] [unsolicited=0] [fsd=0] [p2p=1] [pr=1] = Publish NAN service" }, { "nan_cancel_publish", wpa_cli_cmd_nan_cancel_publish, NULL, cli_cmd_flag_none, "publish_id= = Cancel NAN USD publish instance" }, { "nan_update_publish", wpa_cli_cmd_nan_update_publish, NULL, cli_cmd_flag_none, "publish_id= [ssi= = Update publish" }, { "nan_subscribe", wpa_cli_cmd_nan_subscribe, NULL, cli_cmd_flag_none, - "service_name= [active=1] [ttl=] [freq=] [srv_proto_type=] [ssi=] [p2p=1] = Subscribe to NAN service" }, + "service_name= [active=1] [ttl=] [freq=] [srv_proto_type=] [ssi=] [p2p=1] [pr=1] = Subscribe to NAN service" }, { "nan_cancel_subscribe", wpa_cli_cmd_nan_cancel_subscribe, NULL, cli_cmd_flag_none, "subscribe_id= = Cancel NAN USD subscribe instance" }, { "nan_transmit", wpa_cli_cmd_nan_transmit, NULL, -- 2.47.3