From d1a13036d2ac8a4038e9e312814242130b8e8a6b Mon Sep 17 00:00:00 2001 From: James Prestwood Date: Fri, 20 Apr 2018 11:28:14 -0700 Subject: [PATCH] eap: fix EAP-SIM/AKA/AKA' after settings change These EAP methods do not store the identity inside the settings file since it is obtained from the SIM card, then provided to IWD via get_identity method. If the get_identity method is implemented, do not fail the settings check when EAP-Identity is missing. --- src/eap.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/eap.c b/src/eap.c index 86c0412a..3117c052 100644 --- a/src/eap.c +++ b/src/eap.c @@ -430,11 +430,14 @@ bool eap_check_settings(struct l_settings *settings, struct l_queue *secrets, return false; } - snprintf(setting, sizeof(setting), "%sIdentity", prefix); - if (!l_settings_get_value(settings, "Security", setting)) { - l_error("Property %s is missing", setting); + /* method may not store identity in settings file */ + if (!method->get_identity) { + snprintf(setting, sizeof(setting), "%sIdentity", prefix); + if (!l_settings_get_value(settings, "Security", setting)) { + l_error("Property %s is missing", setting); - return false; + return false; + } } if (!method->check_settings)