mirror of
https://github.com/vanhoefm/fragattacks.git
synced 2025-02-17 17:43:06 -05:00
Interworking: Add ctrl_iface events on cred block modifications
Following events are now sent to ctrl_iface monitors to indicate if credential blocks have been added, modified, or removed: CRED-ADDED <id> CRED-MODIFIED <id> <field> CRED-REMOVE <id> Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
This commit is contained in:
parent
0f3d4b504d
commit
1619e9d512
@ -164,6 +164,13 @@ extern "C" {
|
|||||||
#define INTERWORKING_ALREADY_CONNECTED "INTERWORKING-ALREADY-CONNECTED "
|
#define INTERWORKING_ALREADY_CONNECTED "INTERWORKING-ALREADY-CONNECTED "
|
||||||
#define INTERWORKING_SELECTED "INTERWORKING-SELECTED "
|
#define INTERWORKING_SELECTED "INTERWORKING-SELECTED "
|
||||||
|
|
||||||
|
/* Credential block added; parameters: <id> */
|
||||||
|
#define CRED_ADDED "CRED-ADDED "
|
||||||
|
/* Credential block modified; parameters: <id> <field> */
|
||||||
|
#define CRED_MODIFIED "CRED-MODIFIED "
|
||||||
|
/* Credential block removed; parameters: <id> */
|
||||||
|
#define CRED_REMOVED "CRED-REMOVED "
|
||||||
|
|
||||||
#define GAS_RESPONSE_INFO "GAS-RESPONSE-INFO "
|
#define GAS_RESPONSE_INFO "GAS-RESPONSE-INFO "
|
||||||
/* parameters: <addr> <dialog_token> <freq> */
|
/* parameters: <addr> <dialog_token> <freq> */
|
||||||
#define GAS_QUERY_START "GAS-QUERY-START "
|
#define GAS_QUERY_START "GAS-QUERY-START "
|
||||||
|
@ -2660,6 +2660,8 @@ static int wpa_supplicant_ctrl_iface_add_cred(struct wpa_supplicant *wpa_s,
|
|||||||
if (cred == NULL)
|
if (cred == NULL)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
|
wpa_msg(wpa_s, MSG_INFO, CRED_ADDED "%d", cred->id);
|
||||||
|
|
||||||
ret = os_snprintf(buf, buflen, "%d\n", cred->id);
|
ret = os_snprintf(buf, buflen, "%d\n", cred->id);
|
||||||
if (ret < 0 || (size_t) ret >= buflen)
|
if (ret < 0 || (size_t) ret >= buflen)
|
||||||
return -1;
|
return -1;
|
||||||
@ -2672,12 +2674,21 @@ static int wpas_ctrl_remove_cred(struct wpa_supplicant *wpa_s,
|
|||||||
{
|
{
|
||||||
struct wpa_ssid *ssid;
|
struct wpa_ssid *ssid;
|
||||||
char str[20];
|
char str[20];
|
||||||
|
int id;
|
||||||
|
|
||||||
if (cred == NULL || wpa_config_remove_cred(wpa_s->conf, cred->id) < 0) {
|
if (cred == NULL) {
|
||||||
wpa_printf(MSG_DEBUG, "CTRL_IFACE: Could not find cred");
|
wpa_printf(MSG_DEBUG, "CTRL_IFACE: Could not find cred");
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
id = cred->id;
|
||||||
|
if (wpa_config_remove_cred(wpa_s->conf, id) < 0) {
|
||||||
|
wpa_printf(MSG_DEBUG, "CTRL_IFACE: Could not find cred");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
wpa_msg(wpa_s, MSG_INFO, CRED_REMOVED "%d", id);
|
||||||
|
|
||||||
/* Remove any network entry created based on the removed credential */
|
/* Remove any network entry created based on the removed credential */
|
||||||
ssid = wpa_s->conf->ssid;
|
ssid = wpa_s->conf->ssid;
|
||||||
while (ssid) {
|
while (ssid) {
|
||||||
@ -2794,6 +2805,8 @@ static int wpa_supplicant_ctrl_iface_set_cred(struct wpa_supplicant *wpa_s,
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wpa_msg(wpa_s, MSG_INFO, CRED_MODIFIED "%d %s", cred->id, name);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user