RADIUS message constructor accepts a message code parameter

This commit is contained in:
Martin Willi
2012-01-30 19:11:08 +01:00
parent 7171d8765e
commit 370de553f8
3 changed files with 8 additions and 7 deletions
@@ -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)
{
@@ -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)),
);
@@ -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.