]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
WPS NFC: Remove NFC_RX_HANDOVER_SEL
authorJouni Malinen <j@w1.fi>
Sun, 6 Apr 2014 13:42:27 +0000 (16:42 +0300)
committerJouni Malinen <j@w1.fi>
Sun, 6 Apr 2014 21:56:04 +0000 (00:56 +0300)
The newer NFC_REPORT_HANDOVER command is more general version that
handles the cases where NFC_RX_HANDOVER_SEL could potentially have been
used. In addition, with the new WPS NFC design, it is important to
receive the handover request message that was used in the handover in
addition to the select message, so the NFC_RX_HANDOVER_SEL command on
its own would not be sufficient for this.

Signed-off-by: Jouni Malinen <j@w1.fi>
wpa_supplicant/README-WPS
wpa_supplicant/ctrl_iface.c
wpa_supplicant/wpa_cli.c
wpa_supplicant/wps_supplicant.c
wpa_supplicant/wps_supplicant.h

index a33b0f06f758079324dae19192b5b8964a03dc27..b884f67a2435bbd838a88598821503d87b1f2e9e 100644 (file)
@@ -381,17 +381,6 @@ UUID|BSSID argument is included, this is a request to build the handover
 message for the specified AP when wpa_supplicant is operating as a WPS
 ER.
 
-"nfc_rx_handover_req <hexdump of payload>" is used to indicate receipt
-of NFC connection handover request. The payload may include multiple
-carriers the the applicable ones are matched based on the media
-type. The reply data is contents for the Handover Select Message
-(hexdump).
-
-"nfc_rx_handover_sel <hexdump of payload>" is used to indicate receipt
-of NFC connection handover select. The payload may include multiple
-carriers the the applicable ones are matched based on the media
-type.
-
 "nfc_report_handover <INIT/RESP> WPS <carrier from handover request>
 <carrier from handover select>" can be used as an alternative way for
 reporting completed NFC connection handover. The first parameter
index 2a23bb4ac83112668bd9079b7c7849246a116fe6..0f6015217a0fc2b37293ce053beb1a4243e47227 100644 (file)
@@ -1094,33 +1094,6 @@ static int wpas_ctrl_nfc_get_handover_sel(struct wpa_supplicant *wpa_s,
 }
 
 
-static int wpas_ctrl_nfc_rx_handover_sel(struct wpa_supplicant *wpa_s,
-                                        char *cmd)
-{
-       size_t len;
-       struct wpabuf *buf;
-       int ret;
-
-       len = os_strlen(cmd);
-       if (len & 0x01)
-               return -1;
-       len /= 2;
-
-       buf = wpabuf_alloc(len);
-       if (buf == NULL)
-               return -1;
-       if (hexstr2bin(cmd, wpabuf_put(buf, len), len) < 0) {
-               wpabuf_free(buf);
-               return -1;
-       }
-
-       ret = wpas_wps_nfc_rx_handover_sel(wpa_s, buf);
-       wpabuf_free(buf);
-
-       return ret;
-}
-
-
 static int wpas_ctrl_nfc_report_handover(struct wpa_supplicant *wpa_s,
                                         char *cmd)
 {
@@ -6071,8 +6044,7 @@ char * wpa_supplicant_ctrl_iface_process(struct wpa_supplicant *wpa_s,
                                           os_strlen(WPA_CTRL_RSP)) == 0 ?
                                WPA_CTRL_RSP : "SET_NETWORK");
        } else if (os_strncmp(buf, "WPS_NFC_TAG_READ", 16) == 0 ||
-                  os_strncmp(buf, "NFC_REPORT_HANDOVER", 19) == 0 ||
-                  os_strncmp(buf, "NFC_RX_HANDOVER_SEL", 19) == 0) {
+                  os_strncmp(buf, "NFC_REPORT_HANDOVER", 19) == 0) {
                wpa_hexdump_ascii_key(MSG_DEBUG, "RX ctrl_iface",
                                      (const u8 *) buf, os_strlen(buf));
        } else {
@@ -6210,9 +6182,6 @@ char * wpa_supplicant_ctrl_iface_process(struct wpa_supplicant *wpa_s,
        } else if (os_strncmp(buf, "NFC_GET_HANDOVER_SEL ", 21) == 0) {
                reply_len = wpas_ctrl_nfc_get_handover_sel(
                        wpa_s, buf + 21, reply, reply_size);
-       } else if (os_strncmp(buf, "NFC_RX_HANDOVER_SEL ", 20) == 0) {
-               if (wpas_ctrl_nfc_rx_handover_sel(wpa_s, buf + 20))
-                       reply_len = -1;
        } else if (os_strncmp(buf, "NFC_REPORT_HANDOVER ", 20) == 0) {
                if (wpas_ctrl_nfc_report_handover(wpa_s, buf + 20))
                        reply_len = -1;
index 512afe65195df0384189f5a871d599e62a1dbe23..28e186eaba9cef4ba3ae89a00d8e99e60533505f 100644 (file)
@@ -842,32 +842,6 @@ static int wpa_cli_cmd_nfc_get_handover_sel(struct wpa_ctrl *ctrl, int argc,
 }
 
 
-static int wpa_cli_cmd_nfc_rx_handover_sel(struct wpa_ctrl *ctrl, int argc,
-                                          char *argv[])
-{
-       int ret;
-       char *buf;
-       size_t buflen;
-
-       if (argc != 1) {
-               printf("Invalid 'nfc_rx_handover_sel' command - one argument "
-                      "is required.\n");
-               return -1;
-       }
-
-       buflen = 21 + os_strlen(argv[0]);
-       buf = os_malloc(buflen);
-       if (buf == NULL)
-               return -1;
-       os_snprintf(buf, buflen, "NFC_RX_HANDOVER_SEL %s", argv[0]);
-
-       ret = wpa_ctrl_command(ctrl, buf);
-       os_free(buf);
-
-       return ret;
-}
-
-
 static int wpa_cli_cmd_nfc_report_handover(struct wpa_ctrl *ctrl, int argc,
                                           char *argv[])
 {
@@ -2704,9 +2678,6 @@ static struct wpa_cli_cmd wpa_cli_commands[] = {
        { "nfc_get_handover_sel", wpa_cli_cmd_nfc_get_handover_sel, NULL,
          cli_cmd_flag_none,
          "<NDEF> <WPS> = create NFC handover select" },
-       { "nfc_rx_handover_sel", wpa_cli_cmd_nfc_rx_handover_sel, NULL,
-         cli_cmd_flag_none,
-         "<hexdump of payload> = report received NFC handover select" },
        { "nfc_report_handover", wpa_cli_cmd_nfc_report_handover, NULL,
          cli_cmd_flag_none,
          "<role> <type> <hexdump of req> <hexdump of sel> = report completed "
index 967150653b3b95ae42050af67234400245c2c530..22b8e71a54cd877d22e9e378a6163dfb0c45e738 100644 (file)
@@ -2362,8 +2362,8 @@ struct wpabuf * wpas_wps_nfc_handover_sel(struct wpa_supplicant *wpa_s,
 }
 
 
-int wpas_wps_nfc_rx_handover_sel(struct wpa_supplicant *wpa_s,
-                                const struct wpabuf *data)
+static int wpas_wps_nfc_rx_handover_sel(struct wpa_supplicant *wpa_s,
+                                       const struct wpabuf *data)
 {
        struct wpabuf *wps;
        int ret = -1;
index 39df2fb3428760faed58156da977e1e4b79816aa..2263512c4dd3cbb160b0e49fe3cbf934e7a3f7c2 100644 (file)
@@ -75,8 +75,6 @@ struct wpabuf * wpas_wps_nfc_handover_req(struct wpa_supplicant *wpa_s,
                                          int ndef);
 struct wpabuf * wpas_wps_nfc_handover_sel(struct wpa_supplicant *wpa_s,
                                          int ndef, int cr, const char *uuid);
-int wpas_wps_nfc_rx_handover_sel(struct wpa_supplicant *wpa_s,
-                                const struct wpabuf *data);
 int wpas_wps_nfc_report_handover(struct wpa_supplicant *wpa_s,
                                 const struct wpabuf *req,
                                 const struct wpabuf *sel);