diff options
-rw-r--r-- | src/libcharon/plugins/eap_radius/eap_radius.c | 6 | ||||
-rw-r--r-- | src/libcharon/plugins/eap_radius/radius_message.c | 4 | ||||
-rw-r--r-- | src/libcharon/plugins/eap_radius/radius_message.h | 5 |
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. |