aboutsummaryrefslogtreecommitdiffstats
path: root/src/wps
diff options
context:
space:
mode:
authorDmitry Shmidt <dimitrysh@google.com>2013-06-06 11:25:10 -0700
committerDmitry Shmidt <dimitrysh@google.com>2013-06-06 11:25:10 -0700
commit8bae4138a0356709720a96f3e50b4d734e532c12 (patch)
tree469665c7a3dd83523f082389bb33b5c9095d6b30 /src/wps
parentd3e385e428c94340d89ba090e3500a085463e713 (diff)
downloadandroid_external_wpa_supplicant_8-8bae4138a0356709720a96f3e50b4d734e532c12.tar.gz
android_external_wpa_supplicant_8-8bae4138a0356709720a96f3e50b4d734e532c12.tar.bz2
android_external_wpa_supplicant_8-8bae4138a0356709720a96f3e50b4d734e532c12.zip
Accumulative patch from commit 4abc0424ef4bde2ea4fb1ba1c18619c7bc36eb02
4abc042 P2P: Automatic channel selection at re-invocation of persistent GO 8f39528 P2P: Modify wait time in INVITE state based on Tx status of INV-REQ e112764 nl80211: Use NL80211_ATTR_PEER_AID to set TDLS peer AID f8a5fd4 Synchronize with wireless-testing.git include/uapi/linux/nl80211.h 9b1693a WPS: Allow Device Password Id changes between PIN methods 1ba51ec nl80211: Add debug print for set_supp_port operation add9b7a nl80211: Ignore deauth/disassoc event from old AP eb4737f Fix ESS_DISASSOC ctrl_iface command parser b54c9ff FT: Fix TKIP group key configuration in FT protocol e78aaca Stop TKIP countermeasures on FLUSH command 3cb953e Do not set driver MAC ACL unless driver supports this 3c4ca36 hostapd: Support MAC address based access control list Change-Id: I0250e483c2992e6da8b2d1a323b7e3b8a73f9608 Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
Diffstat (limited to 'src/wps')
-rw-r--r--src/wps/wps_enrollee.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/wps/wps_enrollee.c b/src/wps/wps_enrollee.c
index 1af43c2d..27c554f3 100644
--- a/src/wps/wps_enrollee.c
+++ b/src/wps/wps_enrollee.c
@@ -842,6 +842,24 @@ static int wps_process_dev_pw_id(struct wps_data *wps, const u8 *dev_pw_id)
return 0;
}
+#ifdef CONFIG_P2P
+ if ((id == DEV_PW_DEFAULT &&
+ wps->dev_pw_id == DEV_PW_REGISTRAR_SPECIFIED) ||
+ (id == DEV_PW_REGISTRAR_SPECIFIED &&
+ wps->dev_pw_id == DEV_PW_DEFAULT)) {
+ /*
+ * Common P2P use cases indicate whether the PIN is from the
+ * client or GO using Device Password Id in M1/M2 in a way that
+ * does not look fully compliant with WSC specification. Anyway,
+ * this is deployed and needs to be allowed, so ignore changes
+ * between Registrar-Specified and Default PIN.
+ */
+ wpa_printf(MSG_DEBUG, "WPS: Allow PIN Device Password ID "
+ "change");
+ return 0;
+ }
+#endif /* CONFIG_P2P */
+
wpa_printf(MSG_DEBUG, "WPS: Registrar trying to change Device Password "
"ID from %u to %u", wps->dev_pw_id, id);