]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
AOSP: Some SD changes
authorJouni Malinen <j@w1.fi>
Fri, 1 Nov 2013 10:28:09 +0000 (12:28 +0200)
committerJouni Malinen <j@w1.fi>
Sun, 26 Oct 2014 16:08:58 +0000 (18:08 +0200)
These came hidden in the following AOSP commit. The changes are not from
upstream.

commit 04949598a23f501be6eec21697465fd46a28840a
Author: Dmitry Shmidt <dimitrysh@google.com>
Date:   Thu Jul 19 12:16:46 2012 -0700

    wpa_supplicant: Update to 07-Jul-2012 TOT

    commit a5ed45586c63ffd8f9d2b44e27c251d7bacbeaf4
    Author: Jouni Malinen <j@w1.fi>
    Date:   Sat Jul 7 13:01:45 2012 +0300

        WPS SSDP: Fix socket leaks on error paths

    Change-Id: I0864aac7fc88fa2a60f5cca7d524b94363410c85
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
src/p2p/p2p_sd.c

index 88feec1bb47628f2b83742544523a854d8a14866..a3eed27c1d5d2c75ce1e902a04b81574715398cc 100644 (file)
@@ -474,7 +474,15 @@ void p2p_rx_gas_initial_resp(struct p2p_data *p2p, const u8 *sa,
        u16 slen;
        u16 update_indic;
 
+#ifdef ANDROID_P2P
+       if (p2p->state != P2P_SD_DURING_FIND) {
+               p2p_dbg(p2p, "P2P: #### Not ignoring unexpected GAS Initial Response from "
+                       MACSTR " state %d", MAC2STR(sa), p2p->state);
+       }
+       if (p2p->sd_peer == NULL ||
+#else
        if (p2p->state != P2P_SD_DURING_FIND || p2p->sd_peer == NULL ||
+#endif
            os_memcmp(sa, p2p->sd_peer->info.p2p_device_addr, ETH_ALEN) != 0) {
                p2p_dbg(p2p, "Ignore unexpected GAS Initial Response from "
                        MACSTR, MAC2STR(sa));
@@ -682,7 +690,15 @@ void p2p_rx_gas_comeback_resp(struct p2p_data *p2p, const u8 *sa,
 
        wpa_hexdump(MSG_DEBUG, "P2P: RX GAS Comeback Response", data, len);
 
+#ifdef ANDROID_P2P
+       if (p2p->state != P2P_SD_DURING_FIND) {
+               p2p_dbg(p2p, "P2P: #### Not ignoring unexpected GAS Comeback Response from "
+                       MACSTR " state %d", MAC2STR(sa), p2p->state);
+       }
+       if (p2p->sd_peer == NULL ||
+#else
        if (p2p->state != P2P_SD_DURING_FIND || p2p->sd_peer == NULL ||
+#endif
            os_memcmp(sa, p2p->sd_peer->info.p2p_device_addr, ETH_ALEN) != 0) {
                p2p_dbg(p2p, "Ignore unexpected GAS Comeback Response from "
                        MACSTR, MAC2STR(sa));
@@ -923,6 +939,9 @@ int p2p_sd_cancel_request(struct p2p_data *p2p, void *req)
 {
        if (p2p_unlink_sd_query(p2p, req)) {
                p2p_dbg(p2p, "Cancel pending SD query %p", req);
+#ifdef ANDROID_P2P
+               p2p->sd_dev_list = NULL;
+#endif
                p2p_free_sd_query(req);
                return 0;
        }