From: Emilio Cobos Álvarez Date: Sun, 11 May 2025 17:54:40 +0000 (+0200) Subject: dbus: Expose P2P auto_join behavior X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1a97af098c9a6bdb391febb90064d6ea74f82908;p=thirdparty%2Fhostap.git dbus: Expose P2P auto_join behavior It's useful, without it you need multiple tries to join an existing group. Signed-off-by: Emilio Cobos Álvarez --- diff --git a/doc/dbus.doxygen b/doc/dbus.doxygen index 473603a1f..2af405f2c 100644 --- a/doc/dbus.doxygen +++ b/doc/dbus.doxygen @@ -1806,6 +1806,7 @@ Interface for performing P2P (Wi-Fi Peer-to-Peer) P2P Device operations. peeroyes persistentbWhether to form a persistent group.no joinbWhether to join an already operating group instead of forming a new group.no + auto_joinbAutomatically choose between joining an already operating group or forming a new group.no authorize_onlybWhether to authorize a peer to initiate GO Negotiation instead of initiating immediately.no frequencyiOperating frequency in MHzno go_intentiGO intent 0-15no diff --git a/wpa_supplicant/dbus/dbus_new_handlers_p2p.c b/wpa_supplicant/dbus/dbus_new_handlers_p2p.c index fc59947ee..192c65d66 100644 --- a/wpa_supplicant/dbus/dbus_new_handlers_p2p.c +++ b/wpa_supplicant/dbus/dbus_new_handlers_p2p.c @@ -624,6 +624,7 @@ DBusMessage * wpas_dbus_handler_p2p_connect(DBusMessage *message, struct wpa_dbus_dict_entry entry; char *peer_object_path = NULL; int persistent_group = 0; + int auto_join = 0; int join = 0; int authorize_only = 0; int go_intent = -1; @@ -657,6 +658,9 @@ DBusMessage * wpas_dbus_handler_p2p_connect(DBusMessage *message, } else if (os_strcmp(entry.key, "join") == 0 && entry.type == DBUS_TYPE_BOOLEAN) { join = entry.bool_value; + } else if (os_strcmp(entry.key, "auto_join") == 0 && + entry.type == DBUS_TYPE_BOOLEAN) { + auto_join = entry.bool_value; } else if (os_strcmp(entry.key, "authorize_only") == 0 && entry.type == DBUS_TYPE_BOOLEAN) { authorize_only = entry.bool_value; @@ -705,7 +709,8 @@ DBusMessage * wpas_dbus_handler_p2p_connect(DBusMessage *message, wpa_s = wpa_s->global->p2p_init_wpa_s; new_pin = wpas_p2p_connect(wpa_s, addr, pin, wps_method, - persistent_group, 0, join, authorize_only, + persistent_group, auto_join, join, + authorize_only, go_intent, freq, 0, -1, 0, 0, 0, 0, 0, 0, NULL, 0, false, 0, 0, NULL, false);