aboutsummaryrefslogtreecommitdiffstats
path: root/src/libcharon/plugins/eap_radius/radius_message.c
diff options
context:
space:
mode:
authorMartin Willi <martin@revosec.ch>2012-02-22 13:06:14 +0100
committerMartin Willi <martin@revosec.ch>2012-03-05 18:06:13 +0100
commite8a81797060ba4f39bf60a0c92932874952df46c (patch)
tree9253d8c4fe7f217889ad74812702e19b4a150f88 /src/libcharon/plugins/eap_radius/radius_message.c
parent3bc18292113055aaab627c17219a8a76c6400090 (diff)
downloadstrongswan-e8a81797060ba4f39bf60a0c92932874952df46c.tar.bz2
strongswan-e8a81797060ba4f39bf60a0c92932874952df46c.tar.xz
Support verification of RADIUS request messages
Diffstat (limited to 'src/libcharon/plugins/eap_radius/radius_message.c')
-rw-r--r--src/libcharon/plugins/eap_radius/radius_message.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/libcharon/plugins/eap_radius/radius_message.c b/src/libcharon/plugins/eap_radius/radius_message.c
index 7fa95e39d..8a2074b2f 100644
--- a/src/libcharon/plugins/eap_radius/radius_message.c
+++ b/src/libcharon/plugins/eap_radius/radius_message.c
@@ -319,7 +319,14 @@ METHOD(radius_message_t, verify, bool,
/* replace Response by Request Authenticator for verification */
memcpy(res_auth, this->msg->authenticator, HASH_SIZE_MD5);
- memcpy(this->msg->authenticator, req_auth, HASH_SIZE_MD5);
+ if (req_auth)
+ {
+ memcpy(this->msg->authenticator, req_auth, HASH_SIZE_MD5);
+ }
+ else
+ {
+ memset(this->msg->authenticator, 0, HASH_SIZE_MD5);
+ }
msg = chunk_create((u_char*)this->msg, ntohs(this->msg->length));
/* verify Response-Authenticator */