Use eap_vendor_type_from_string() in stroke

This commit is contained in:
Tobias Brunner
2012-08-31 11:40:28 +02:00
parent db409006e4
commit 7240914955
+7 -38
View File
@@ -563,51 +563,20 @@ static auth_cfg_t *build_auth_cfg(private_stroke_config_t *this,
} }
else if (strneq(auth, "eap", 3)) else if (strneq(auth, "eap", 3))
{ {
enumerator_t *enumerator; eap_vendor_type_t *type;
char *str;
int i = 0, type = 0, vendor;
cfg->add(cfg, AUTH_RULE_AUTH_CLASS, AUTH_CLASS_EAP); cfg->add(cfg, AUTH_RULE_AUTH_CLASS, AUTH_CLASS_EAP);
/* parse EAP string, format: eap[-type[-vendor]] */ type = eap_vendor_type_from_string(auth);
enumerator = enumerator_create_token(auth, "-", " "); if (type)
while (enumerator->enumerate(enumerator, &str))
{ {
switch (i) cfg->add(cfg, AUTH_RULE_EAP_TYPE, type->type);
if (type->vendor)
{ {
case 1: cfg->add(cfg, AUTH_RULE_EAP_VENDOR, type->vendor);
type = eap_type_from_string(str);
if (!type)
{
type = atoi(str);
if (!type)
{
DBG1(DBG_CFG, "unknown EAP method: %s", str);
break;
}
}
cfg->add(cfg, AUTH_RULE_EAP_TYPE, type);
break;
case 2:
if (type)
{
vendor = atoi(str);
if (vendor)
{
cfg->add(cfg, AUTH_RULE_EAP_VENDOR, vendor);
}
else
{
DBG1(DBG_CFG, "unknown EAP vendor: %s", str);
}
}
break;
default:
break;
} }
i++; free(type);
} }
enumerator->destroy(enumerator);
if (msg->add_conn.eap_identity) if (msg->add_conn.eap_identity)
{ {