summaryrefslogtreecommitdiff
path: root/package/wpa_supplicant
diff options
context:
space:
mode:
authorGustavo Zacarias <gustavo@zacarias.com.ar>2014-03-04 10:35:13 -0300
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>2014-03-04 19:35:03 +0100
commitdee312694f8ed1764290dae5cb22380ffceb2035 (patch)
tree6490d437f2b07b8349bc3f8265358ac58fe8adf1 /package/wpa_supplicant
parent712b8897e687a828b073858f915cdbebfd1e31a3 (diff)
wpa_supplicant: add fix for WPS NFC support
WPS NFC support wouldn't build properly unless AP mode was enabled. Add upstream fix to correct this and enable NFC support. Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Diffstat (limited to 'package/wpa_supplicant')
-rw-r--r--package/wpa_supplicant/wpa_supplicant-0001-Fix-CONFIG_WPS_NFC-y-build-without-CONFIG_P2P-y.patch121
-rw-r--r--package/wpa_supplicant/wpa_supplicant.mk1
2 files changed, 121 insertions, 1 deletions
diff --git a/package/wpa_supplicant/wpa_supplicant-0001-Fix-CONFIG_WPS_NFC-y-build-without-CONFIG_P2P-y.patch b/package/wpa_supplicant/wpa_supplicant-0001-Fix-CONFIG_WPS_NFC-y-build-without-CONFIG_P2P-y.patch
new file mode 100644
index 000000000..946011c6e
--- /dev/null
+++ b/package/wpa_supplicant/wpa_supplicant-0001-Fix-CONFIG_WPS_NFC-y-build-without-CONFIG_P2P-y.patch
@@ -0,0 +1,121 @@
+From 88853aedf6cc4a152442b5bb2c4946683df6ff66 Mon Sep 17 00:00:00 2001
+From: Jouni Malinen <j@w1.fi>
+Date: Thu, 13 Feb 2014 15:29:09 +0200
+Subject: [PATCH] Fix CONFIG_WPS_NFC=y build without CONFIG_P2P=y
+
+Some of the control interface operations for P2P were not properly
+protected with #ifdef CONFIG_P2P.
+
+Signed-off-by: Jouni Malinen <j@w1.fi>
+Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
+---
+ wpa_supplicant/ctrl_iface.c | 14 ++++++++++++++
+ 1 file changed, 14 insertions(+)
+
+diff --git a/wpa_supplicant/ctrl_iface.c b/wpa_supplicant/ctrl_iface.c
+index ddddad3..ed332da 100644
+--- a/wpa_supplicant/ctrl_iface.c
++++ b/wpa_supplicant/ctrl_iface.c
+@@ -951,6 +951,7 @@ static int wpas_ctrl_nfc_get_handover_req_wps(struct wpa_supplicant *wpa_s,
+ }
+
+
++#ifdef CONFIG_P2P
+ static int wpas_ctrl_nfc_get_handover_req_p2p(struct wpa_supplicant *wpa_s,
+ char *reply, size_t max_len,
+ int ndef)
+@@ -973,6 +974,7 @@ static int wpas_ctrl_nfc_get_handover_req_p2p(struct wpa_supplicant *wpa_s,
+
+ return res;
+ }
++#endif /* CONFIG_P2P */
+
+
+ static int wpas_ctrl_nfc_get_handover_req(struct wpa_supplicant *wpa_s,
+@@ -1001,10 +1003,12 @@ static int wpas_ctrl_nfc_get_handover_req(struct wpa_supplicant *wpa_s,
+ wpa_s, reply, max_len, ndef);
+ }
+
++#ifdef CONFIG_P2P
+ if (os_strcmp(pos, "P2P-CR") == 0) {
+ return wpas_ctrl_nfc_get_handover_req_p2p(
+ wpa_s, reply, max_len, ndef);
+ }
++#endif /* CONFIG_P2P */
+
+ return -1;
+ }
+@@ -1032,6 +1036,7 @@ static int wpas_ctrl_nfc_get_handover_sel_wps(struct wpa_supplicant *wpa_s,
+ }
+
+
++#ifdef CONFIG_P2P
+ static int wpas_ctrl_nfc_get_handover_sel_p2p(struct wpa_supplicant *wpa_s,
+ char *reply, size_t max_len,
+ int ndef, int tag)
+@@ -1052,6 +1057,7 @@ static int wpas_ctrl_nfc_get_handover_sel_p2p(struct wpa_supplicant *wpa_s,
+
+ return res;
+ }
++#endif /* CONFIG_P2P */
+
+
+ static int wpas_ctrl_nfc_get_handover_sel(struct wpa_supplicant *wpa_s,
+@@ -1084,6 +1090,7 @@ static int wpas_ctrl_nfc_get_handover_sel(struct wpa_supplicant *wpa_s,
+ os_strcmp(pos, "WPS-CR") == 0, pos2);
+ }
+
++#ifdef CONFIG_P2P
+ if (os_strcmp(pos, "P2P-CR") == 0) {
+ return wpas_ctrl_nfc_get_handover_sel_p2p(
+ wpa_s, reply, max_len, ndef, 0);
+@@ -1093,6 +1100,7 @@ static int wpas_ctrl_nfc_get_handover_sel(struct wpa_supplicant *wpa_s,
+ return wpas_ctrl_nfc_get_handover_sel_p2p(
+ wpa_s, reply, max_len, ndef, 1);
+ }
++#endif /* CONFIG_P2P */
+
+ return -1;
+ }
+@@ -1160,6 +1168,7 @@ static int wpas_ctrl_nfc_report_handover(struct wpa_supplicant *wpa_s,
+ struct wpabuf *req, *sel;
+ int ret;
+ char *pos, *role, *type, *pos2;
++#ifdef CONFIG_P2P
+ char *freq;
+ int forced_freq = 0;
+
+@@ -1169,6 +1178,7 @@ static int wpas_ctrl_nfc_report_handover(struct wpa_supplicant *wpa_s,
+ freq += 6;
+ forced_freq = atoi(freq);
+ }
++#endif /* CONFIG_P2P */
+
+ role = cmd;
+ pos = os_strchr(role, ' ');
+@@ -1237,11 +1247,14 @@ static int wpas_ctrl_nfc_report_handover(struct wpa_supplicant *wpa_s,
+
+ if (os_strcmp(role, "INIT") == 0 && os_strcmp(type, "WPS") == 0) {
+ ret = wpas_wps_nfc_report_handover(wpa_s, req, sel);
++#ifdef CONFIG_AP
+ } else if (os_strcmp(role, "RESP") == 0 && os_strcmp(type, "WPS") == 0)
+ {
+ ret = wpas_ap_wps_nfc_report_handover(wpa_s, req, sel);
+ if (ret < 0)
+ ret = wpas_er_wps_nfc_report_handover(wpa_s, req, sel);
++#endif /* CONFIG_AP */
++#ifdef CONFIG_P2P
+ } else if (os_strcmp(role, "INIT") == 0 && os_strcmp(type, "P2P") == 0)
+ {
+ ret = wpas_p2p_nfc_report_handover(wpa_s, 1, req, sel, 0);
+@@ -1249,6 +1262,7 @@ static int wpas_ctrl_nfc_report_handover(struct wpa_supplicant *wpa_s,
+ {
+ ret = wpas_p2p_nfc_report_handover(wpa_s, 0, req, sel,
+ forced_freq);
++#endif /* CONFIG_P2P */
+ } else {
+ wpa_printf(MSG_DEBUG, "NFC: Unsupported connection handover "
+ "reported: role=%s type=%s", role, type);
+--
+1.8.3.2
+
diff --git a/package/wpa_supplicant/wpa_supplicant.mk b/package/wpa_supplicant/wpa_supplicant.mk
index 380203341..9fcda2e44 100644
--- a/package/wpa_supplicant/wpa_supplicant.mk
+++ b/package/wpa_supplicant/wpa_supplicant.mk
@@ -57,7 +57,6 @@ endif
ifeq ($(BR2_PACKAGE_WPA_SUPPLICANT_WPS),y)
WPA_SUPPLICANT_CONFIG_ENABLE += CONFIG_WPS
- WPA_SUPPLICANT_CONFIG_DISABLE += CONFIG_WPS_NFC
endif
# Try to use openssl if it's already available