From: Jouni Malinen Date: Fri, 1 Nov 2013 10:28:09 +0000 (+0200) Subject: AOSP: Some SD changes X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=635bff05734f9b950d392ed6a9f37dccdb19a6d3;p=thirdparty%2Fhostap.git AOSP: Some SD changes These came hidden in the following AOSP commit. The changes are not from upstream. commit 04949598a23f501be6eec21697465fd46a28840a Author: Dmitry Shmidt Date: Thu Jul 19 12:16:46 2012 -0700 wpa_supplicant: Update to 07-Jul-2012 TOT commit a5ed45586c63ffd8f9d2b44e27c251d7bacbeaf4 Author: Jouni Malinen 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 --- diff --git a/src/p2p/p2p_sd.c b/src/p2p/p2p_sd.c index 88feec1bb..a3eed27c1 100644 --- a/src/p2p/p2p_sd.c +++ b/src/p2p/p2p_sd.c @@ -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; }