From patchwork Fri Apr 13 07:33:32 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [1/2] P2P: Allow wildcard service discovery from DBus API From: Adrien Bustany X-Patchwork-Id: 152258 Message-Id: <1334302413-22098-2-git-send-email-adrien@bustany.org> To: hostap@lists.shmoo.com Date: Fri, 13 Apr 2012 10:33:32 +0300 From: Adrien Bustany 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 --- 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)