fixed pb_reason_string_message_t class
This commit is contained in:
@@ -52,21 +52,11 @@ struct private_pb_reason_string_message_t {
|
|||||||
*/
|
*/
|
||||||
pb_tnc_msg_type_t type;
|
pb_tnc_msg_type_t type;
|
||||||
|
|
||||||
/**
|
|
||||||
* Reason string length
|
|
||||||
*/
|
|
||||||
u_int32_t reason_string_length;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Reason string
|
* Reason string
|
||||||
*/
|
*/
|
||||||
chunk_t reason_string;
|
chunk_t reason_string;
|
||||||
|
|
||||||
/**
|
|
||||||
* Language code length
|
|
||||||
*/
|
|
||||||
u_int8_t language_code_length;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Language code
|
* Language code
|
||||||
*/
|
*/
|
||||||
@@ -97,10 +87,10 @@ METHOD(pb_tnc_message_t, build, void,
|
|||||||
|
|
||||||
/* build message */
|
/* build message */
|
||||||
writer = tls_writer_create(REASON_STRING_HEADER_SIZE);
|
writer = tls_writer_create(REASON_STRING_HEADER_SIZE);
|
||||||
writer->write_uint32(writer, this->reason_string_length);
|
writer->write_uint32(writer, this->reason_string.len);
|
||||||
writer->write_data(writer, this->reason_string);
|
writer->write_data(writer, this->reason_string);
|
||||||
|
|
||||||
writer->write_uint8(writer, this->language_code_length);
|
writer->write_uint8(writer, this->language_code.len);
|
||||||
writer->write_data(writer, this->language_code);
|
writer->write_data(writer, this->language_code);
|
||||||
|
|
||||||
free(this->encoding.ptr);
|
free(this->encoding.ptr);
|
||||||
@@ -113,6 +103,8 @@ METHOD(pb_tnc_message_t, process, status_t,
|
|||||||
private_pb_reason_string_message_t *this)
|
private_pb_reason_string_message_t *this)
|
||||||
{
|
{
|
||||||
tls_reader_t *reader;
|
tls_reader_t *reader;
|
||||||
|
u_int32_t reason_string_length;
|
||||||
|
u_int8_t language_code_length;
|
||||||
|
|
||||||
if (this->encoding.len < REASON_STRING_HEADER_SIZE)
|
if (this->encoding.len < REASON_STRING_HEADER_SIZE)
|
||||||
{
|
{
|
||||||
@@ -124,11 +116,13 @@ METHOD(pb_tnc_message_t, process, status_t,
|
|||||||
|
|
||||||
/* process message */
|
/* process message */
|
||||||
reader = tls_reader_create(this->encoding);
|
reader = tls_reader_create(this->encoding);
|
||||||
reader->read_uint32(reader, &this->reason_string_length);
|
reader->read_uint32(reader, &reason_string_length);
|
||||||
reader->read_data(reader, this->reason_string_length, &this->reason_string);
|
reader->read_data(reader, reason_string_length, &this->reason_string);
|
||||||
|
this->reason_string = chunk_clone(this->reason_string);
|
||||||
|
|
||||||
reader->read_uint8(reader, &this->language_code_length);
|
reader->read_uint8(reader, &language_code_length);
|
||||||
reader->read_data(reader, this->language_code_length, &this->language_code);
|
reader->read_data(reader, language_code_length, &this->language_code);
|
||||||
|
this->language_code = chunk_clone(this->language_code);
|
||||||
|
|
||||||
reader->destroy(reader);
|
reader->destroy(reader);
|
||||||
return SUCCESS;
|
return SUCCESS;
|
||||||
@@ -143,24 +137,12 @@ METHOD(pb_tnc_message_t, destroy, void,
|
|||||||
free(this);
|
free(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
METHOD(pb_reason_string_message_t, get_reason_string_length, u_int32_t,
|
|
||||||
private_pb_reason_string_message_t *this)
|
|
||||||
{
|
|
||||||
return this->reason_string_length;
|
|
||||||
}
|
|
||||||
|
|
||||||
METHOD(pb_reason_string_message_t, get_reason_string, chunk_t,
|
METHOD(pb_reason_string_message_t, get_reason_string, chunk_t,
|
||||||
private_pb_reason_string_message_t *this)
|
private_pb_reason_string_message_t *this)
|
||||||
{
|
{
|
||||||
return this->reason_string;
|
return this->reason_string;
|
||||||
}
|
}
|
||||||
|
|
||||||
METHOD(pb_reason_string_message_t, get_language_code_length, u_int8_t,
|
|
||||||
private_pb_reason_string_message_t *this)
|
|
||||||
{
|
|
||||||
return this->language_code_length;
|
|
||||||
}
|
|
||||||
|
|
||||||
METHOD(pb_reason_string_message_t, get_language_code, chunk_t,
|
METHOD(pb_reason_string_message_t, get_language_code, chunk_t,
|
||||||
private_pb_reason_string_message_t *this)
|
private_pb_reason_string_message_t *this)
|
||||||
{
|
{
|
||||||
@@ -183,9 +165,7 @@ pb_tnc_message_t *pb_reason_string_message_create_from_data(chunk_t data)
|
|||||||
.process = _process,
|
.process = _process,
|
||||||
.destroy = _destroy,
|
.destroy = _destroy,
|
||||||
},
|
},
|
||||||
.get_reason_string_length = _get_reason_string_length,
|
|
||||||
.get_reason_string = _get_reason_string,
|
.get_reason_string = _get_reason_string,
|
||||||
.get_language_code_length = _get_language_code_length,
|
|
||||||
.get_language_code = _get_language_code,
|
.get_language_code = _get_language_code,
|
||||||
},
|
},
|
||||||
.type = PB_MSG_REASON_STRING,
|
.type = PB_MSG_REASON_STRING,
|
||||||
@@ -212,16 +192,12 @@ pb_tnc_message_t *pb_reason_string_message_create(chunk_t reason_string,
|
|||||||
.process = _process,
|
.process = _process,
|
||||||
.destroy = _destroy,
|
.destroy = _destroy,
|
||||||
},
|
},
|
||||||
.get_reason_string_length = _get_reason_string_length,
|
|
||||||
.get_reason_string = _get_reason_string,
|
.get_reason_string = _get_reason_string,
|
||||||
.get_language_code_length = _get_language_code_length,
|
|
||||||
.get_language_code = _get_language_code,
|
.get_language_code = _get_language_code,
|
||||||
},
|
},
|
||||||
.type = PB_MSG_REASON_STRING,
|
.type = PB_MSG_REASON_STRING,
|
||||||
.reason_string_length = reason_string.len,
|
.reason_string = chunk_clone(reason_string),
|
||||||
.reason_string = reason_string,
|
.language_code = chunk_clone(language_code),
|
||||||
.language_code_length = language_code.len,
|
|
||||||
.language_code = language_code,
|
|
||||||
);
|
);
|
||||||
|
|
||||||
return &this->public.pb_interface;
|
return &this->public.pb_interface;
|
||||||
|
|||||||
@@ -35,13 +35,6 @@ struct pb_reason_string_message_t {
|
|||||||
*/
|
*/
|
||||||
pb_tnc_message_t pb_interface;
|
pb_tnc_message_t pb_interface;
|
||||||
|
|
||||||
/**
|
|
||||||
* Get Reason String Length
|
|
||||||
*
|
|
||||||
* @return Length of reason string
|
|
||||||
*/
|
|
||||||
chunk_t (*get_reason_string_length)(pb_reason_string_message_t *this);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get Reason String
|
* Get Reason String
|
||||||
*
|
*
|
||||||
@@ -49,13 +42,6 @@ struct pb_reason_string_message_t {
|
|||||||
*/
|
*/
|
||||||
chunk_t (*get_reason_string)(pb_reason_string_message_t *this);
|
chunk_t (*get_reason_string)(pb_reason_string_message_t *this);
|
||||||
|
|
||||||
/**
|
|
||||||
* Get Reason String Language Code Length
|
|
||||||
*
|
|
||||||
* @return Length of language code
|
|
||||||
*/
|
|
||||||
chunk_t (*get_language_code_length)(pb_reason_string_message_t *this);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get Reason String Language Code
|
* Get Reason String Language Code
|
||||||
*
|
*
|
||||||
@@ -71,7 +57,7 @@ struct pb_reason_string_message_t {
|
|||||||
* @param language_code Language code
|
* @param language_code Language code
|
||||||
*/
|
*/
|
||||||
pb_tnc_message_t* pb_reason_string_message_create(chunk_t reason_string,
|
pb_tnc_message_t* pb_reason_string_message_create(chunk_t reason_string,
|
||||||
chunk_t language_code);
|
chunk_t language_code);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create an unprocessed PB-Reason-String message from raw data
|
* Create an unprocessed PB-Reason-String message from raw data
|
||||||
|
|||||||
Reference in New Issue
Block a user