aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/libcharon/plugins/eap_radius/eap_radius.c6
-rw-r--r--src/libcharon/plugins/eap_radius/radius_message.c4
-rw-r--r--src/libcharon/plugins/eap_radius/radius_message.h5
3 files changed, 8 insertions, 7 deletions
diff --git a/src/libcharon/plugins/eap_radius/eap_radius.c b/src/libcharon/plugins/eap_radius/eap_radius.c
index dfe0e2e09..ebb745a9a 100644
--- a/src/libcharon/plugins/eap_radius/eap_radius.c
+++ b/src/libcharon/plugins/eap_radius/eap_radius.c
@@ -162,7 +162,7 @@ METHOD(eap_method_t, initiate, status_t,
status_t status = FAILED;
chunk_t username;
- request = radius_message_create_request();
+ request = radius_message_create_request(RMC_ACCESS_REQUEST);
username = chunk_create(this->id_prefix, strlen(this->id_prefix));
username = chunk_cata("cc", username, this->peer->get_encoding(this->peer));
request->add(request, RAT_USER_NAME, username);
@@ -289,11 +289,11 @@ METHOD(eap_method_t, process, status_t,
status_t status = FAILED;
chunk_t data;
- request = radius_message_create_request();
+ request = radius_message_create_request(RMC_ACCESS_REQUEST);
request->add(request, RAT_USER_NAME, this->peer->get_encoding(this->peer));
data = in->get_data(in);
DBG3(DBG_IKE, "%N payload %B", eap_type_names, this->type, &data);
-
+
/* fragment data suitable for RADIUS (not more than 253 bytes) */
while (data.len > 253)
{
diff --git a/src/libcharon/plugins/eap_radius/radius_message.c b/src/libcharon/plugins/eap_radius/radius_message.c
index 23a29b772..35f37414b 100644
--- a/src/libcharon/plugins/eap_radius/radius_message.c
+++ b/src/libcharon/plugins/eap_radius/radius_message.c
@@ -423,12 +423,12 @@ static private_radius_message_t *radius_message_create()
/**
* See header
*/
-radius_message_t *radius_message_create_request()
+radius_message_t *radius_message_create_request(radius_message_code_t code)
{
private_radius_message_t *this = radius_message_create();
INIT(this->msg,
- .code = RMC_ACCESS_REQUEST,
+ .code = code,
.identifier = 0,
.length = htons(sizeof(rmsg_t)),
);
diff --git a/src/libcharon/plugins/eap_radius/radius_message.h b/src/libcharon/plugins/eap_radius/radius_message.h
index 266839d3b..18a2bcec1 100644
--- a/src/libcharon/plugins/eap_radius/radius_message.h
+++ b/src/libcharon/plugins/eap_radius/radius_message.h
@@ -259,11 +259,12 @@ struct radius_message_t {
};
/**
- * Create an empty RADIUS request message (RMT_ACCESS_REQUEST).
+ * Create an empty RADIUS request message.
*
+ * @code request type
* @return radius_message_t object
*/
-radius_message_t *radius_message_create_request();
+radius_message_t *radius_message_create_request(radius_message_code_t code);
/**
* Parse and verify a recevied RADIUS response.