static upper size limit for PA-TNC messages
This commit is contained in:
@@ -117,6 +117,10 @@ METHOD(pa_tnc_attr_t, build, void,
|
||||
cred_encoding_type_t encoding_type = CERT_ASN1_DER;
|
||||
chunk_t aik_blob;
|
||||
|
||||
if (this->value.ptr)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (this->aik->get_type(this->aik) == CERT_TRUSTED_PUBKEY)
|
||||
{
|
||||
flags |= PTS_AIK_FLAGS_NAKED_KEY;
|
||||
|
||||
@@ -128,6 +128,10 @@ METHOD(pa_tnc_attr_t, build, void,
|
||||
{
|
||||
bio_writer_t *writer;
|
||||
|
||||
if (this->value.ptr)
|
||||
{
|
||||
return;
|
||||
}
|
||||
writer = bio_writer_create(PTS_DH_NONCE_FINISH_SIZE);
|
||||
writer->write_uint8 (writer, PTS_DH_NONCE_FINISH_RESERVED);
|
||||
writer->write_uint8 (writer, this->initiator_nonce.len);
|
||||
|
||||
@@ -119,6 +119,10 @@ METHOD(pa_tnc_attr_t, build, void,
|
||||
{
|
||||
bio_writer_t *writer;
|
||||
|
||||
if (this->value.ptr)
|
||||
{
|
||||
return;
|
||||
}
|
||||
writer = bio_writer_create(PTS_DH_NONCE_PARAMS_REQ_SIZE);
|
||||
writer->write_uint8 (writer, PTS_DH_NONCE_PARAMS_REQ_RESERVED);
|
||||
writer->write_uint8 (writer, this->min_nonce_len);
|
||||
|
||||
@@ -135,6 +135,10 @@ METHOD(pa_tnc_attr_t, build, void,
|
||||
{
|
||||
bio_writer_t *writer;
|
||||
|
||||
if (this->value.ptr)
|
||||
{
|
||||
return;
|
||||
}
|
||||
writer = bio_writer_create(PTS_DH_NONCE_PARAMS_RESP_SIZE);
|
||||
writer->write_uint24(writer, PTS_DH_NONCE_PARAMS_RESP_RESERVED);
|
||||
writer->write_uint8 (writer, this->responder_nonce.len);
|
||||
|
||||
@@ -135,6 +135,10 @@ METHOD(pa_tnc_attr_t, build, void,
|
||||
chunk_t measurement;
|
||||
bool first = TRUE;
|
||||
|
||||
if (this->value.ptr)
|
||||
{
|
||||
return;
|
||||
}
|
||||
number_of_files = this->measurements->get_file_count(this->measurements);
|
||||
request_id = this->measurements->get_request_id(this->measurements);
|
||||
|
||||
|
||||
@@ -110,6 +110,10 @@ METHOD(pa_tnc_attr_t, build, void,
|
||||
{
|
||||
bio_writer_t *writer;
|
||||
|
||||
if (this->value.ptr)
|
||||
{
|
||||
return;
|
||||
}
|
||||
writer = bio_writer_create(PTS_GEN_ATTEST_EVID_SIZE);
|
||||
writer->write_uint32 (writer, PTS_GEN_ATTEST_EVID_RESERVED);
|
||||
|
||||
|
||||
@@ -107,6 +107,10 @@ METHOD(pa_tnc_attr_t, build, void,
|
||||
{
|
||||
bio_writer_t *writer;
|
||||
|
||||
if (this->value.ptr)
|
||||
{
|
||||
return;
|
||||
}
|
||||
writer = bio_writer_create(PTS_GET_AIK_SIZE);
|
||||
writer->write_uint32 (writer, PTS_GET_AIK_RESERVED);
|
||||
|
||||
|
||||
@@ -110,6 +110,10 @@ METHOD(pa_tnc_attr_t, build, void,
|
||||
{
|
||||
bio_writer_t *writer;
|
||||
|
||||
if (this->value.ptr)
|
||||
{
|
||||
return;
|
||||
}
|
||||
writer = bio_writer_create(PTS_GET_TPM_VER_INFO_SIZE);
|
||||
writer->write_uint32 (writer, PTS_GET_TPM_VER_INFO_RESERVED);
|
||||
|
||||
|
||||
@@ -113,6 +113,10 @@ METHOD(pa_tnc_attr_t, build, void,
|
||||
{
|
||||
bio_writer_t *writer;
|
||||
|
||||
if (this->value.ptr)
|
||||
{
|
||||
return;
|
||||
}
|
||||
writer = bio_writer_create(PTS_MEAS_ALGO_SIZE);
|
||||
writer->write_uint16(writer, PTS_MEAS_ALGO_RESERVED);
|
||||
writer->write_uint16(writer, this->algorithms);
|
||||
|
||||
@@ -113,6 +113,10 @@ METHOD(pa_tnc_attr_t, build, void,
|
||||
{
|
||||
bio_writer_t *writer;
|
||||
|
||||
if (this->value.ptr)
|
||||
{
|
||||
return;
|
||||
}
|
||||
writer = bio_writer_create(PTS_PROTO_CAPS_SIZE);
|
||||
writer->write_uint16(writer, PTS_PROTO_CAPS_RESERVED);
|
||||
writer->write_uint16(writer, this->flags);
|
||||
|
||||
@@ -136,6 +136,10 @@ METHOD(pa_tnc_attr_t, build, void,
|
||||
chunk_t pathname;
|
||||
bio_writer_t *writer;
|
||||
|
||||
if (this->value.ptr)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (this->directory_flag)
|
||||
{
|
||||
flags |= DIRECTORY_CONTENTS_FLAG;
|
||||
|
||||
@@ -129,6 +129,10 @@ METHOD(pa_tnc_attr_t, build, void,
|
||||
chunk_t pathname;
|
||||
bio_writer_t *writer;
|
||||
|
||||
if (this->value.ptr)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (this->directory_flag)
|
||||
{
|
||||
flags |= DIRECTORY_CONTENTS_FLAG;
|
||||
|
||||
@@ -177,6 +177,10 @@ METHOD(pa_tnc_attr_t, build, void,
|
||||
enumerator_t *enumerator;
|
||||
entry_t *entry;
|
||||
|
||||
if (this->value.ptr)
|
||||
{
|
||||
return;
|
||||
}
|
||||
writer = bio_writer_create(PTS_REQ_FUNC_COMP_EVID_SIZE);
|
||||
|
||||
enumerator = this->list->create_enumerator(this->list);
|
||||
|
||||
@@ -195,6 +195,11 @@ METHOD(pa_tnc_attr_t, build, void,
|
||||
time_t measurement_time;
|
||||
chunk_t measurement, utc_time, pcr_before, pcr_after, policy_uri;
|
||||
|
||||
if (this->value.ptr)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
/* Extract parameters from comp_evidence_t object */
|
||||
name = this->evidence->get_comp_func_name(this->evidence,
|
||||
&depth);
|
||||
|
||||
@@ -169,6 +169,10 @@ METHOD(pa_tnc_attr_t, build, void,
|
||||
bio_writer_t *writer;
|
||||
u_int8_t flags;
|
||||
|
||||
if (this->value.ptr)
|
||||
{
|
||||
return;
|
||||
}
|
||||
flags = this->flags & PTS_SIMPLE_EVID_FINAL_FLAG_MASK;
|
||||
|
||||
if (this->has_evid_sig)
|
||||
|
||||
@@ -114,6 +114,10 @@ METHOD(pa_tnc_attr_t, build, void,
|
||||
{
|
||||
bio_writer_t *writer;
|
||||
|
||||
if (this->value.ptr)
|
||||
{
|
||||
return;
|
||||
}
|
||||
writer = bio_writer_create(PTS_TPM_VER_INFO_SIZE);
|
||||
writer->write_data(writer, this->tpm_version_info);
|
||||
|
||||
|
||||
@@ -148,6 +148,10 @@ METHOD(pa_tnc_attr_t, build, void,
|
||||
pts_file_metadata_t *entry;
|
||||
u_int64_t number_of_files;
|
||||
|
||||
if (this->value.ptr)
|
||||
{
|
||||
return;
|
||||
}
|
||||
number_of_files = this->metadata->get_file_count(this->metadata);
|
||||
writer = bio_writer_create(PTS_FILE_META_SIZE);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user