aboutsummaryrefslogtreecommitdiffstats
path: root/src/libcharon/plugins/eap_radius/eap_radius.c
diff options
context:
space:
mode:
authorMartin Willi <martin@revosec.ch>2010-07-21 17:06:00 +0200
committerMartin Willi <martin@revosec.ch>2010-07-21 17:25:09 +0200
commitce7967c50c49131cef2f7afcac771cda8414a320 (patch)
treecf26c6341d046875bb752be9896c9fc1585e833c /src/libcharon/plugins/eap_radius/eap_radius.c
parent58d2ef6e14bb6bad4e0c48d63ec39095b982d919 (diff)
downloadstrongswan-ce7967c50c49131cef2f7afcac771cda8414a320.tar.bz2
strongswan-ce7967c50c49131cef2f7afcac771cda8414a320.tar.xz
Implemented support for multiple RADIUS servers
Diffstat (limited to 'src/libcharon/plugins/eap_radius/eap_radius.c')
-rw-r--r--src/libcharon/plugins/eap_radius/eap_radius.c17
1 files changed, 6 insertions, 11 deletions
diff --git a/src/libcharon/plugins/eap_radius/eap_radius.c b/src/libcharon/plugins/eap_radius/eap_radius.c
index 3038e871d..65b868bc6 100644
--- a/src/libcharon/plugins/eap_radius/eap_radius.c
+++ b/src/libcharon/plugins/eap_radius/eap_radius.c
@@ -53,11 +53,6 @@ struct private_eap_radius_t {
u_int32_t vendor;
/**
- * EAP MSK, if method established one
- */
- chunk_t msk;
-
- /**
* RADIUS client instance
*/
radius_client_t *client;
@@ -248,8 +243,6 @@ METHOD(eap_method_t, process, status_t,
status = FAILED;
break;
case RMC_ACCESS_ACCEPT:
- this->msk = this->client->decrypt_msk(this->client,
- response, request);
if (this->class_group)
{
process_class(this, response);
@@ -277,11 +270,14 @@ METHOD(eap_method_t, get_type, eap_type_t,
}
METHOD(eap_method_t, get_msk, status_t,
- private_eap_radius_t *this, chunk_t *msk)
+ private_eap_radius_t *this, chunk_t *out)
{
- if (this->msk.ptr)
+ chunk_t msk;
+
+ msk = this->client->get_msk(this->client);
+ if (msk.len)
{
- *msk = this->msk;
+ *out = msk;
return SUCCESS;
}
return FAILED;
@@ -306,7 +302,6 @@ METHOD(eap_method_t, destroy, void,
this->peer->destroy(this->peer);
this->server->destroy(this->server);
this->client->destroy(this->client);
- chunk_clear(&this->msk);
free(this);
}