From: Martin Willi Date: Mon, 22 Jul 2013 13:59:49 +0000 (+0200) Subject: eap-radius: do RADIUS/IKE attribute forwarding in XAuth backend X-Git-Tag: 5.1.0~18^2~2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=3a399574c214775fa271b3dc8a0619af1a007d64;p=thirdparty%2Fstrongswan.git eap-radius: do RADIUS/IKE attribute forwarding in XAuth backend --- diff --git a/src/libcharon/plugins/eap_radius/eap_radius_forward.c b/src/libcharon/plugins/eap_radius/eap_radius_forward.c index e9124877c8..3e80e8918b 100644 --- a/src/libcharon/plugins/eap_radius/eap_radius_forward.c +++ b/src/libcharon/plugins/eap_radius/eap_radius_forward.c @@ -248,7 +248,8 @@ static void ike2queue(message_t *message, linked_list_t *queue, enumerator = message->create_payload_enumerator(message); while (enumerator->enumerate(enumerator, &payload)) { - if (payload->get_type(payload) == NOTIFY) + if (payload->get_type(payload) == NOTIFY || + payload->get_type(payload) == NOTIFY_V1) { notify = (notify_payload_t*)payload; if (notify->get_notify_type(notify) == RADIUS_ATTRIBUTE) diff --git a/src/libcharon/plugins/eap_radius/eap_radius_xauth.c b/src/libcharon/plugins/eap_radius/eap_radius_xauth.c index caca93fe84..bd960d2bcd 100644 --- a/src/libcharon/plugins/eap_radius/eap_radius_xauth.c +++ b/src/libcharon/plugins/eap_radius/eap_radius_xauth.c @@ -16,6 +16,7 @@ #include "eap_radius_xauth.h" #include "eap_radius_plugin.h" #include "eap_radius.h" +#include "eap_radius_forward.h" #include #include @@ -76,10 +77,12 @@ static status_t verify_radius(private_eap_radius_xauth_t *this, chunk_t pass) request->add(request, RAT_USER_PASSWORD, pass); eap_radius_build_attributes(request); + eap_radius_forward_from_ike(request); response = this->client->request(this->client, request); if (response) { + eap_radius_forward_to_ike(response); switch (response->get_code(response)) { case RMC_ACCESS_ACCEPT: