P2PS: Do not ignore other hashes if org.wi-fi.wfds hash is included

When doing initial processing of Probe Request frame service hashes, the
previous implementation dropped all other hash values if a hash for
org.wi-fi.wfds was included. This is not correct, since that is not a
full wildcard of all services (it only matches WFA defined
org.wi-fi.wfds.* services).

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
This commit is contained in:
Jouni Malinen 2015-06-18 17:15:45 +03:00 committed by Jouni Malinen
parent ebdc32f350
commit f2e0eecf09

View file

@ -2323,16 +2323,6 @@ p2p_reply_probe(struct p2p_data *p2p, const u8 *addr, const u8 *dst,
if (p2p_service_find_asp(p2p, hash)) { if (p2p_service_find_asp(p2p, hash)) {
p2ps_svc_found = 1; p2ps_svc_found = 1;
if (!os_memcmp(hash, p2p->wild_card_hash,
P2PS_HASH_LEN)) {
/* We found match(es) but wildcard
* will return all */
query_count = 1;
os_memcpy(query_hash, hash,
P2PS_HASH_LEN);
break;
}
/* Save each matching hash */ /* Save each matching hash */
if (query_count < P2P_MAX_QUERY_HASH) { if (query_count < P2P_MAX_QUERY_HASH) {
os_memcpy(dest, hash, P2PS_HASH_LEN); os_memcpy(dest, hash, P2PS_HASH_LEN);