]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
DPP: Network profile parameters for DPP AKM
authorJouni Malinen <jouni@qca.qualcomm.com>
Sun, 18 Jun 2017 10:48:57 +0000 (13:48 +0300)
committerJouni Malinen <j@w1.fi>
Mon, 19 Jun 2017 18:13:17 +0000 (21:13 +0300)
Extend wpa_supplicant network profile to include parameters needed for
the DPP AKM: dpp_connector, dpp_netaccesskey, dpp_netaccesskey_expiry,
dpp_csign, dpp_csign_expiry.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
wpa_supplicant/config.c
wpa_supplicant/config_file.c
wpa_supplicant/config_ssid.h

index 0be77ff225606fc58efe079c379e7e33f439b101..8bf4b38d96cf3358abc8519615e3749b155a9a56 100644 (file)
@@ -2239,6 +2239,13 @@ static const struct parse_data ssid_fields[] = {
        { INT_RANGE(pbss, 0, 2) },
        { INT_RANGE(wps_disabled, 0, 1) },
        { INT_RANGE(fils_dh_group, 0, 65535) },
+#ifdef CONFIG_DPP
+       { STR(dpp_connector) },
+       { STR_LEN(dpp_netaccesskey) },
+       { INT(dpp_netaccesskey_expiry) },
+       { STR_LEN(dpp_csign) },
+       { INT(dpp_csign_expiry) },
+#endif /* CONFIG_DPP */
 };
 
 #undef OFFSET
@@ -2424,6 +2431,9 @@ void wpa_config_free_ssid(struct wpa_ssid *ssid)
 #ifdef CONFIG_MESH
        os_free(ssid->mesh_basic_rates);
 #endif /* CONFIG_MESH */
+       os_free(ssid->dpp_connector);
+       bin_clear_free(ssid->dpp_netaccesskey, ssid->dpp_netaccesskey_len);
+       os_free(ssid->dpp_csign);
        while ((psk = dl_list_first(&ssid->psk_list, struct psk_list_entry,
                                    list))) {
                dl_list_del(&psk->list);
index ceaf434bd3d2c5633eb2b12c770e65e2dec449ec..46a9e0b1e58527a2ac21f268d13d13f3124cd66b 100644 (file)
@@ -849,6 +849,13 @@ static void wpa_config_write_network(FILE *f, struct wpa_ssid *ssid)
        INT(wpa_ptk_rekey);
        INT(group_rekey);
        INT(ignore_broadcast_ssid);
+#ifdef CONFIG_DPP
+       STR(dpp_connector),
+       STR(dpp_netaccesskey),
+       INT(dpp_netaccesskey_expiry),
+       STR(dpp_csign),
+       INT(dpp_csign_expiry),
+#endif /* CONFIG_DPP */
 #ifdef CONFIG_HT_OVERRIDES
        INT_DEF(disable_ht, DEFAULT_DISABLE_HT);
        INT_DEF(disable_ht40, DEFAULT_DISABLE_HT40);
index 6c6c32ad19d6eccbf18231e1dffbc624a2217e12..81f64a5f4b53f26fa18499524d73175519c3943c 100644 (file)
@@ -845,6 +845,45 @@ struct wpa_ssid {
         * 1-65535 DH Group to use for FILS PFS
         */
        int fils_dh_group;
+
+       /**
+        * dpp_connector - DPP Connector (signedConnector as string)
+        */
+       char *dpp_connector;
+
+       /**
+        * dpp_netaccesskey - DPP netAccessKey (own private key)
+        */
+       u8 *dpp_netaccesskey;
+
+       /**
+        * dpp_netaccesskey_len - DPP netAccessKey length in octets
+        */
+       size_t dpp_netaccesskey_len;
+
+       /**
+        * net_access_key_expiry - DPP netAccessKey expiry in UNIX time stamp
+        *
+        * 0 indicates no expiration.
+        */
+       unsigned int dpp_netaccesskey_expiry;
+
+       /**
+        * dpp_csign - C-sign-key (Configurator public key)
+        */
+       u8 *dpp_csign;
+
+       /**
+        * dpp_csign_len - C-sign-key length in octets
+        */
+       size_t dpp_csign_len;
+
+       /**
+        * dpp_csign_expiry - C-sign-key expiry in UNIX time stamp
+        *
+        * 0 indicates no expiration.
+        */
+       unsigned int dpp_csign_expiry;
 };
 
 #endif /* CONFIG_SSID_H */