P2P: Allow wildcard service discovery from DBus API
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 D-Bus API, since it required a valid Peer object path. This patch changes the behavior, 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@nokia.com> intended-for: hostap-1
This commit is contained in:
parent
cca0060f1e
commit
e56fc9e81b
1 changed files with 10 additions and 5 deletions
|
@ -2265,7 +2265,7 @@ DBusMessage * wpas_dbus_handler_p2p_service_sd_req(
|
||||||
struct wpabuf *tlv = NULL;
|
struct wpabuf *tlv = NULL;
|
||||||
u8 version = 0;
|
u8 version = 0;
|
||||||
u64 ref = 0;
|
u64 ref = 0;
|
||||||
u8 addr[ETH_ALEN];
|
u8 addr_buf[ETH_ALEN], *addr;
|
||||||
|
|
||||||
dbus_message_iter_init(message, &iter);
|
dbus_message_iter_init(message, &iter);
|
||||||
|
|
||||||
|
@ -2302,11 +2302,16 @@ DBusMessage * wpas_dbus_handler_p2p_service_sd_req(
|
||||||
wpa_dbus_dict_entry_clear(&entry);
|
wpa_dbus_dict_entry_clear(&entry);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!peer_object_path ||
|
if (!peer_object_path) {
|
||||||
(parse_peer_object_path(peer_object_path, addr) < 0) ||
|
addr = NULL;
|
||||||
!p2p_peer_known(wpa_s->global->p2p, addr))
|
} else {
|
||||||
|
if (parse_peer_object_path(peer_object_path, addr_buf) < 0 ||
|
||||||
|
!p2p_peer_known(wpa_s->global->p2p, addr_buf))
|
||||||
goto error;
|
goto error;
|
||||||
|
|
||||||
|
addr = addr_buf;
|
||||||
|
}
|
||||||
|
|
||||||
if (upnp == 1) {
|
if (upnp == 1) {
|
||||||
if (version <= 0 || service == NULL)
|
if (version <= 0 || service == NULL)
|
||||||
goto error;
|
goto error;
|
||||||
|
|
Loading…
Reference in a new issue