From: Martin Willi Date: Thu, 30 Aug 2012 13:34:55 +0000 (+0200) Subject: Resolve vendor IDs/types using eap_type_get_names() X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=250f1dfb426e27ca29b7b49516684a78d7b1e814;p=thirdparty%2Fstrongswan.git Resolve vendor IDs/types using eap_type_get_names() --- diff --git a/src/libcharon/encoding/message.c b/src/libcharon/encoding/message.c index d3b72ea956..f5e54176f2 100644 --- a/src/libcharon/encoding/message.c +++ b/src/libcharon/encoding/message.c @@ -1229,15 +1229,8 @@ static char* get_string(private_message_t *this, char *buf, int len) type = eap->get_type(eap, &vendor); if (type) { - if (vendor) - { - snprintf(method, sizeof(method), "/%d-%d", type, vendor); - } - else - { - snprintf(method, sizeof(method), "/%N", - eap_type_short_names, type); - } + snprintf(method, sizeof(method), "/%N", + eap_type_get_names(vendor), type); } written = snprintf(pos, len, "/%N%s", eap_code_short_names, eap->get_code(eap), method); diff --git a/src/libcharon/plugins/eap_dynamic/eap_dynamic.c b/src/libcharon/plugins/eap_dynamic/eap_dynamic.c index 79177088af..322263e630 100644 --- a/src/libcharon/plugins/eap_dynamic/eap_dynamic.c +++ b/src/libcharon/plugins/eap_dynamic/eap_dynamic.c @@ -91,15 +91,8 @@ static eap_method_t *load_method(private_eap_dynamic_t *this, this->server, this->peer); if (!method) { - if (vendor) - { - DBG1(DBG_IKE, "loading vendor specific EAP method %d-%d failed", - type, vendor); - } - else - { - DBG1(DBG_IKE, "loading %N method failed", eap_type_names, type); - } + DBG1(DBG_IKE, "loading EAP-%N method failed", + eap_type_get_names(vendor), type); } return method; } @@ -127,17 +120,9 @@ static void select_method(private_eap_dynamic_t *this) if (inner->find_first(inner, (void*)entry_matches, NULL, entry) != SUCCESS) { - if (entry->vendor) - { - DBG2(DBG_IKE, "proposed vendor specific EAP method %d-%d " - "not supported by %s, skipped", entry->type, - entry->vendor, who); - } - else - { - DBG2(DBG_IKE, "proposed %N method not supported by %s, " - "skipped", eap_type_names, entry->type, who); - } + DBG2(DBG_IKE, "proposed EAP-%N method not supported " + "by %s, skipped", eap_type_get_names(entry->vendor), + entry->type, who); free(entry); continue; } @@ -145,16 +130,8 @@ static void select_method(private_eap_dynamic_t *this) this->method = load_method(this, entry->type, entry->vendor); if (this->method) { - if (entry->vendor) - { - DBG1(DBG_IKE, "vendor specific EAP method %d-%d selected", - entry->type, entry->vendor); - } - else - { - DBG1(DBG_IKE, "%N method selected", eap_type_names, - entry->type); - } + DBG1(DBG_IKE, "EAP-%N method selected", + eap_type_get_names(entry->vendor), entry->type); free(entry); break; } diff --git a/src/libcharon/plugins/stroke/stroke_list.c b/src/libcharon/plugins/stroke/stroke_list.c index 1381e5842b..bcaa19a6f5 100644 --- a/src/libcharon/plugins/stroke/stroke_list.c +++ b/src/libcharon/plugins/stroke/stroke_list.c @@ -355,17 +355,10 @@ static void log_auth_cfgs(FILE *out, peer_cfg_t *peer_cfg, bool local) } else { - if ((uintptr_t)auth->get(auth, AUTH_RULE_EAP_VENDOR)) - { - fprintf(out, "EAP_%" PRIuPTR "-%" PRIuPTR " authentication", - (uintptr_t)auth->get(auth, AUTH_RULE_EAP_TYPE), - (uintptr_t)auth->get(auth, AUTH_RULE_EAP_VENDOR)); - } - else - { - fprintf(out, "%N authentication", eap_type_names, + fprintf(out, "EAP-%N authentication", + eap_type_get_names( + (uintptr_t)auth->get(auth, AUTH_RULE_EAP_VENDOR)), (uintptr_t)auth->get(auth, AUTH_RULE_EAP_TYPE)); - } } id = auth->get(auth, AUTH_RULE_EAP_IDENTITY); if (id) diff --git a/src/libcharon/plugins/tnc_pdp/tnc_pdp.c b/src/libcharon/plugins/tnc_pdp/tnc_pdp.c index 69f0f26bc1..570f20c643 100644 --- a/src/libcharon/plugins/tnc_pdp/tnc_pdp.c +++ b/src/libcharon/plugins/tnc_pdp/tnc_pdp.c @@ -358,7 +358,8 @@ static void process_eap(private_tnc_pdp_t *this, radius_message_t *request, /* apply EAP method selected by RADIUS server */ eap_type = in->get_type(in, &eap_vendor); - DBG3(DBG_CFG, "%N payload %B", eap_type_names, eap_type, &message); + DBG3(DBG_CFG, "EAP-%N payload %B", + eap_type_get_names(eap_vendor), eap_type, &message); if (eap_type == EAP_IDENTITY) { diff --git a/src/libcharon/sa/ikev2/authenticators/eap_authenticator.c b/src/libcharon/sa/ikev2/authenticators/eap_authenticator.c index aa06440333..c7d3fb6569 100644 --- a/src/libcharon/sa/ikev2/authenticators/eap_authenticator.c +++ b/src/libcharon/sa/ikev2/authenticators/eap_authenticator.c @@ -190,30 +190,15 @@ static eap_payload_t* server_initiate_eap(private_eap_authenticator_t *this, if (this->method->initiate(this->method, &out) == NEED_MORE) { type = this->method->get_type(this->method, &vendor); - if (vendor) - { - DBG1(DBG_IKE, "initiating EAP vendor type %d-%d method (id 0x%02X)", - type, vendor, out->get_identifier(out)); - } - else - { - DBG1(DBG_IKE, "initiating %N method (id 0x%02X)", eap_type_names, - type, out->get_identifier(out)); - } + DBG1(DBG_IKE, "%s EAP-%N method (id 0x%02X)", action, + eap_type_get_names(vendor), type, out->get_identifier(out)); return out; } /* type might have changed for virtual methods */ type = this->method->get_type(this->method, &vendor); } - if (vendor) - { - DBG1(DBG_IKE, "%s EAP vendor type %d-%d method failed", - action, type, vendor); - } - else - { - DBG1(DBG_IKE, "%s %N method failed", action, eap_type_names, type); - } + DBG1(DBG_IKE, "%s EAP-%N method failed", action, + eap_type_get_names(vendor), type); return eap_payload_create_code(EAP_FAILURE, 0); } @@ -299,17 +284,8 @@ static eap_payload_t* server_process_eap(private_eap_authenticator_t *this, { this->msk = chunk_clone(this->msk); } - if (vendor) - { - DBG1(DBG_IKE, "EAP vendor specific method %d-%d succeeded, " - "%sMSK established", type, vendor, - this->msk.ptr ? "" : "no "); - } - else - { - DBG1(DBG_IKE, "EAP method %N succeeded, %sMSK established", - eap_type_names, type, this->msk.ptr ? "" : "no "); - } + DBG1(DBG_IKE, "EAP method %N succeeded, %sMSK established", + eap_type_get_names(vendor), type, this->msk.ptr ? "" : "no "); this->ike_sa->set_condition(this->ike_sa, COND_EAP_AUTHENTICATED, TRUE); this->eap_complete = TRUE; @@ -317,19 +293,9 @@ static eap_payload_t* server_process_eap(private_eap_authenticator_t *this, case FAILED: default: /* type might have changed for virtual methods */ - type = this->method->get_type(this->method, &vendor); - if (vendor) - { - DBG1(DBG_IKE, "EAP vendor specific method %d-%d failed for " - "peer %Y", type, vendor, - this->ike_sa->get_other_id(this->ike_sa)); - } - else - { - DBG1(DBG_IKE, "EAP method %N failed for peer %Y", - eap_type_names, type, - this->ike_sa->get_other_id(this->ike_sa)); - } + DBG1(DBG_IKE, "EAP method %N failed for peer %Y", + eap_type_get_names(vendor), type, + this->ike_sa->get_other_id(this->ike_sa)); return eap_payload_create_code(EAP_FAILURE, in->get_identifier(in)); } } @@ -381,32 +347,17 @@ static eap_payload_t* client_process_eap(private_eap_authenticator_t *this, } if (this->method == NULL) { - if (vendor) - { - DBG1(DBG_IKE, "server requested vendor specific EAP method %d-%d ", - "(id 0x%02X)", type, vendor, in->get_identifier(in)); - } - else - { - DBG1(DBG_IKE, "server requested %N authentication (id 0x%02X)", - eap_type_names, type, in->get_identifier(in)); - } + DBG1(DBG_IKE, "server requested %N authentication (id 0x%02X)", + eap_type_get_names(vendor), type, in->get_identifier(in)); + auth = this->ike_sa->get_auth_cfg(this->ike_sa, TRUE); conf_type = (uintptr_t)auth->get(auth, AUTH_RULE_EAP_TYPE); conf_vendor = (uintptr_t)auth->get(auth, AUTH_RULE_EAP_VENDOR); if (conf_type != EAP_NAK && (conf_type != type || conf_vendor != vendor)) { - if (conf_vendor) - { - DBG1(DBG_IKE, "requesting EAP method %d-%d, sending EAP_NAK", - conf_type, conf_vendor); - } - else - { - DBG1(DBG_IKE, "requesting %N authentication, sending EAP_NAK", - eap_type_names, conf_type); - } + DBG1(DBG_IKE, "requesting EAP-%N authentication, sending EAP_NAK", + eap_type_get_names(conf_vendor), conf_type); return eap_payload_create_nak(in->get_identifier(in), conf_type, conf_vendor, in->is_expanded(in)); } @@ -426,14 +377,7 @@ static eap_payload_t* client_process_eap(private_eap_authenticator_t *this, return out; } - if (vendor) - { - DBG1(DBG_IKE, "vendor specific EAP method %d-%d failed", type, vendor); - } - else - { - DBG1(DBG_IKE, "%N method failed", eap_type_names, type); - } + DBG1(DBG_IKE, "EAP-%N method failed", eap_type_get_names(vendor), type); return NULL; } @@ -579,11 +523,12 @@ METHOD(authenticator_t, process_client, status_t, } if (this->require_mutual && !this->method->is_mutual(this->method)) { /* we require mutual authentication due to EAP-only */ - u_int32_t vendor; + u_int32_t vendor, type; + type = this->method->get_type(this->method, &vendor); DBG1(DBG_IKE, "EAP-only authentication requires a mutual and " "MSK deriving EAP method, but %N is not", - eap_type_names, this->method->get_type(this->method, &vendor)); + eap_type_get_names(vendor), type); return FAILED; } return SUCCESS; @@ -615,17 +560,9 @@ METHOD(authenticator_t, process_client, status_t, this->msk = chunk_clone(this->msk); } type = this->method->get_type(this->method, &vendor); - if (vendor) - { - DBG1(DBG_IKE, "EAP vendor specific method %d-%d succeeded, " - "%sMSK established", type, vendor, - this->msk.ptr ? "" : "no "); - } - else - { - DBG1(DBG_IKE, "EAP method %N succeeded, %sMSK established", - eap_type_names, type, this->msk.ptr ? "" : "no "); - } + DBG1(DBG_IKE, "EAP method %N succeeded, %sMSK established", + eap_type_get_names(vendor), type, + this->msk.ptr ? "" : "no "); cfg = this->ike_sa->get_auth_cfg(this->ike_sa, TRUE); cfg->add(cfg, AUTH_RULE_EAP_TYPE, type); if (vendor)