[PATCH] dbus: Expose P2P auto_join behavior.
Emilio Cobos Álvarez
emilio at crisal.io
Sun May 11 10:54:40 PDT 2025
It's useful, without it you need multiple tries to join an existing
group.
Signed-off-by: Emilio Cobos Álvarez <emilio at crisal.io>
---
doc/dbus.doxygen | 1 +
wpa_supplicant/dbus/dbus_new_handlers_p2p.c | 6 +++++-
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/doc/dbus.doxygen b/doc/dbus.doxygen
index 86ceedbac..8c0c45ab1 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.
<tr><td>peer</td><td>o</td><td></td><td>yes</td></tr>
<tr><td>persistent</td><td>b</td><td>Whether to form a persistent group.</td><td>no</td></tr>
<tr><td>join</td><td>b</td><td>Whether to join an already operating group instead of forming a new group.</td><td>no</td></tr>
+ <tr><td>auto_join</td><td>b</td><td>Automatically choose between joining an already operating group or forming a new group.</td><td>no</td></tr>
<tr><td>authorize_only</td><td>b</td><td>Whether to authorize a peer to initiate GO Negotiation instead of initiating immediately.</td><td>no</td></tr>
<tr><td>frequency</td><td>i</td><td>Operating frequency in MHz</td><td>no</td></tr>
<tr><td>go_intent</td><td>i</td><td>GO intent 0-15</td><td>no</td></tr>
diff --git a/wpa_supplicant/dbus/dbus_new_handlers_p2p.c b/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
index 5f9281929..5e668cb23 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,7 @@ 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);
--
2.49.0
More information about the Hostap
mailing list