[PATCH 1/2] P2P: Allow wildcard service discovery from DBus API
Adrien Bustany
adrien
Fri Apr 13 00:33:32 PDT 2012
From: Adrien Bustany <adrien.bustany at nokia.com>
Using the socket command interface, it is possible to pass a NULL dst
to wpas_p2p_sd_request, however you could not do so using the DBus API,
since it required a valid Peer object path.
This patch changes the behaviour, so that if the "peer_object" is
missing from the parameters, a NULL dst is passed to
wpas_p2p_sd_request.
Signed-hostap: Adrien Bustany <adrien.bustany at nokia.com>
---
wpa_supplicant/dbus/dbus_new_handlers_p2p.c | 15 ++++++++++-----
1 files changed, 10 insertions(+), 5 deletions(-)
diff --git a/wpa_supplicant/dbus/dbus_new_handlers_p2p.c b/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
index 62930c7..12e095a 100644
--- a/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
+++ b/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
@@ -2258,7 +2258,7 @@ DBusMessage * wpas_dbus_handler_p2p_service_sd_req(
struct wpabuf *tlv = NULL;
u8 version = 0;
u64 ref = 0;
- u8 addr[ETH_ALEN];
+ u8 addr_buf[ETH_ALEN], *addr;
dbus_message_iter_init(message, &iter);
@@ -2295,10 +2295,15 @@ DBusMessage * wpas_dbus_handler_p2p_service_sd_req(
wpa_dbus_dict_entry_clear(&entry);
}
- if (!peer_object_path ||
- (parse_peer_object_path(peer_object_path, addr) < 0) ||
- !p2p_peer_known(wpa_s->global->p2p, addr))
- goto error;
+ if (!peer_object_path) {
+ addr = 0;
+ } else {
+ if ((parse_peer_object_path(peer_object_path, addr_buf) < 0) ||
+ !p2p_peer_known(wpa_s->global->p2p, addr_buf))
+ goto error;
+
+ addr = addr_buf;
+ }
if (upnp == 1) {
if (version <= 0 || service == NULL)
--
1.7.8.1
More information about the Hostap
mailing list