diff options
author | Andreas Steffen <andreas.steffen@strongswan.org> | 2010-08-13 15:07:53 +0200 |
---|---|---|
committer | Andreas Steffen <andreas.steffen@strongswan.org> | 2010-08-13 15:07:53 +0200 |
commit | 87799b0c009d89f7632ef94b78d1951a8eb95ea8 (patch) | |
tree | 86bb35fe41bfe7e49161ab08cacacaf9443bd877 /src | |
parent | e643da585b59a46cb7020e47763a543cd1d410af (diff) | |
download | strongswan-87799b0c009d89f7632ef94b78d1951a8eb95ea8.tar.bz2 strongswan-87799b0c009d89f7632ef94b78d1951a8eb95ea8.tar.xz |
moved eap_from_string() fomr libcharon to libstrongswan to make it available in starter
Diffstat (limited to 'src')
-rw-r--r-- | src/libcharon/sa/authenticators/eap/eap_method.c | 35 | ||||
-rw-r--r-- | src/libcharon/sa/authenticators/eap/eap_method.h | 8 | ||||
-rw-r--r-- | src/libstrongswan/credentials/auth_cfg.c | 32 | ||||
-rw-r--r-- | src/libstrongswan/credentials/auth_cfg.h | 8 | ||||
-rw-r--r-- | src/starter/confread.c | 35 |
5 files changed, 42 insertions, 76 deletions
diff --git a/src/libcharon/sa/authenticators/eap/eap_method.c b/src/libcharon/sa/authenticators/eap/eap_method.c index 45c7a8ca6..892e97bd9 100644 --- a/src/libcharon/sa/authenticators/eap/eap_method.c +++ b/src/libcharon/sa/authenticators/eap/eap_method.c @@ -15,38 +15,6 @@ #include "eap_method.h" -/* - * See header - */ -eap_type_t eap_type_from_string(char *name) -{ - int i; - static struct { - char *name; - eap_type_t type; - } types[] = { - {"identity", EAP_IDENTITY}, - {"md5", EAP_MD5}, - {"otp", EAP_OTP}, - {"gtc", EAP_GTC}, - {"tls", EAP_TLS}, - {"ttls", EAP_TTLS}, - {"sim", EAP_SIM}, - {"aka", EAP_AKA}, - {"mschapv2", EAP_MSCHAPV2}, - {"radius", EAP_RADIUS}, - }; - - for (i = 0; i < countof(types); i++) - { - if (strcaseeq(name, types[i].name)) - { - return types[i].type; - } - } - return 0; -} - ENUM(eap_code_names, EAP_REQUEST, EAP_FAILURE, "EAP_REQUEST", "EAP_RESPONSE", @@ -66,6 +34,3 @@ ENUM(eap_role_names, EAP_SERVER, EAP_PEER, "EAP_PEER", ); - - - diff --git a/src/libcharon/sa/authenticators/eap/eap_method.h b/src/libcharon/sa/authenticators/eap/eap_method.h index df354edb4..91b419b2c 100644 --- a/src/libcharon/sa/authenticators/eap/eap_method.h +++ b/src/libcharon/sa/authenticators/eap/eap_method.h @@ -42,14 +42,6 @@ enum eap_role_t { extern enum_name_t *eap_role_names; /** - * Lookup the EAP method type from a string. - * - * @param name EAP method name (such as "md5", "aka") - * @return method type, 0 if unkown - */ -eap_type_t eap_type_from_string(char *name); - -/** * EAP code, type of an EAP message */ enum eap_code_t { diff --git a/src/libstrongswan/credentials/auth_cfg.c b/src/libstrongswan/credentials/auth_cfg.c index 9b3078f06..01a574fe7 100644 --- a/src/libstrongswan/credentials/auth_cfg.c +++ b/src/libstrongswan/credentials/auth_cfg.c @@ -93,6 +93,38 @@ ENUM(auth_rule_names, AUTH_RULE_IDENTITY, AUTH_HELPER_SUBJECT_HASH_URL, "HELPER_SUBJECT_HASH_URL", ); +/* + * See header + */ +eap_type_t eap_type_from_string(char *name) +{ + int i; + static struct { + char *name; + eap_type_t type; + } types[] = { + {"identity", EAP_IDENTITY}, + {"md5", EAP_MD5}, + {"otp", EAP_OTP}, + {"gtc", EAP_GTC}, + {"tls", EAP_TLS}, + {"ttls", EAP_TTLS}, + {"sim", EAP_SIM}, + {"aka", EAP_AKA}, + {"mschapv2", EAP_MSCHAPV2}, + {"radius", EAP_RADIUS}, + }; + + for (i = 0; i < countof(types); i++) + { + if (strcaseeq(name, types[i].name)) + { + return types[i].type; + } + } + return 0; +} + typedef struct private_auth_cfg_t private_auth_cfg_t; /** diff --git a/src/libstrongswan/credentials/auth_cfg.h b/src/libstrongswan/credentials/auth_cfg.h index 29c6634b8..60c8403cd 100644 --- a/src/libstrongswan/credentials/auth_cfg.h +++ b/src/libstrongswan/credentials/auth_cfg.h @@ -82,6 +82,14 @@ extern enum_name_t *eap_type_names; extern enum_name_t *eap_type_short_names; /** + * Lookup the EAP method type from a string. + * + * @param name EAP method name (such as "md5", "aka") + * @return method type, 0 if unkown + */ +eap_type_t eap_type_from_string(char *name); + +/** * Authentication config to use during authentication process. * * Each authentication config contains a set of rules. These rule-sets are used diff --git a/src/starter/confread.c b/src/starter/confread.c index b0ee8b389..379c2b477 100644 --- a/src/starter/confread.c +++ b/src/starter/confread.c @@ -671,39 +671,8 @@ static void load_conn(starter_conn_t *conn, kw_list_t *kw, starter_config_t *cfg } break; } - if (streq(kw->value, "aka")) - { - conn->eap_type = 23; - } - else if (streq(kw->value, "sim")) - { - conn->eap_type = 18; - } - else if (streq(kw->value, "md5")) - { - conn->eap_type = 4; - } - else if (streq(kw->value, "gtc")) - { - conn->eap_type = 6; - } - else if (streq(kw->value, "tls")) - { - conn->eap_type = 13; - } - else if (streq(kw->value, "ttls")) - { - conn->eap_type = 21; - } - else if (streq(kw->value, "mschapv2")) - { - conn->eap_type = 26; - } - else if (streq(kw->value, "radius")) - { /* pseudo-type */ - conn->eap_type = 253; - } - else + conn->eap_type = eap_type_from_string(kw->value); + if (conn->eap_type == 0) { conn->eap_type = atoi(kw->value); if (conn->eap_type == 0) |