DPP2: Make DPP version number support available over control interface
"GET_CAPABILITY dpp" can now be used to determine which version number of DPP is supported in the build. Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
This commit is contained in:
parent
f77d106294
commit
c98617b48d
2 changed files with 44 additions and 0 deletions
|
@ -2883,6 +2883,34 @@ static int hostapd_ctrl_iface_acl_add_mac(struct mac_acl_entry **acl, int *num,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static int hostapd_ctrl_iface_get_capability(struct hostapd_data *hapd,
|
||||||
|
const char *field, char *buf,
|
||||||
|
size_t buflen)
|
||||||
|
{
|
||||||
|
wpa_printf(MSG_DEBUG, "CTRL_IFACE: GET_CAPABILITY '%s'", field);
|
||||||
|
|
||||||
|
#ifdef CONFIG_DPP
|
||||||
|
if (os_strcmp(field, "dpp") == 0) {
|
||||||
|
int res;
|
||||||
|
|
||||||
|
#ifdef CONFIG_DPP2
|
||||||
|
res = os_snprintf(buf, buflen, "DPP=2");
|
||||||
|
#else /* CONFIG_DPP2 */
|
||||||
|
res = os_snprintf(buf, buflen, "DPP=1");
|
||||||
|
#endif /* CONFIG_DPP2 */
|
||||||
|
if (os_snprintf_error(buflen, res))
|
||||||
|
return -1;
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
#endif /* CONFIG_DPP */
|
||||||
|
|
||||||
|
wpa_printf(MSG_DEBUG, "CTRL_IFACE: Unknown GET_CAPABILITY field '%s'",
|
||||||
|
field);
|
||||||
|
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
static int hostapd_ctrl_iface_receive_process(struct hostapd_data *hapd,
|
static int hostapd_ctrl_iface_receive_process(struct hostapd_data *hapd,
|
||||||
char *buf, char *reply,
|
char *buf, char *reply,
|
||||||
int reply_size,
|
int reply_size,
|
||||||
|
@ -3313,6 +3341,9 @@ static int hostapd_ctrl_iface_receive_process(struct hostapd_data *hapd,
|
||||||
if (radius_server_dac_request(hapd->radius_srv, buf + 12) < 0)
|
if (radius_server_dac_request(hapd->radius_srv, buf + 12) < 0)
|
||||||
reply_len = -1;
|
reply_len = -1;
|
||||||
#endif /* RADIUS_SERVER */
|
#endif /* RADIUS_SERVER */
|
||||||
|
} else if (os_strncmp(buf, "GET_CAPABILITY ", 15) == 0) {
|
||||||
|
reply_len = hostapd_ctrl_iface_get_capability(
|
||||||
|
hapd, buf + 15, reply, reply_size);
|
||||||
} else {
|
} else {
|
||||||
os_memcpy(reply, "UNKNOWN COMMAND\n", 16);
|
os_memcpy(reply, "UNKNOWN COMMAND\n", 16);
|
||||||
reply_len = 16;
|
reply_len = 16;
|
||||||
|
|
|
@ -4443,6 +4443,19 @@ static int wpa_supplicant_ctrl_iface_get_capability(
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef CONFIG_DPP
|
||||||
|
if (os_strcmp(field, "dpp") == 0) {
|
||||||
|
#ifdef CONFIG_DPP2
|
||||||
|
res = os_snprintf(buf, buflen, "DPP=2");
|
||||||
|
#else /* CONFIG_DPP2 */
|
||||||
|
res = os_snprintf(buf, buflen, "DPP=1");
|
||||||
|
#endif /* CONFIG_DPP2 */
|
||||||
|
if (os_snprintf_error(buflen, res))
|
||||||
|
return -1;
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
#endif /* CONFIG_DPP */
|
||||||
|
|
||||||
wpa_printf(MSG_DEBUG, "CTRL_IFACE: Unknown GET_CAPABILITY field '%s'",
|
wpa_printf(MSG_DEBUG, "CTRL_IFACE: Unknown GET_CAPABILITY field '%s'",
|
||||||
field);
|
field);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue