From: Sansar Choinyambuu Date: Wed, 21 Sep 2011 08:36:50 +0000 (+0200) Subject: Implemented Diffie Hellman Nonce attributes X-Git-Tag: 4.6.2~259 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=8a55b83319c353f8af5f77fb5e7de2655b0bcfd5;p=thirdparty%2Fstrongswan.git Implemented Diffie Hellman Nonce attributes --- diff --git a/src/libimcv/plugins/imc_attestation/imc_attestation.c b/src/libimcv/plugins/imc_attestation/imc_attestation.c index ddc152b6c3..46e4b73844 100644 --- a/src/libimcv/plugins/imc_attestation/imc_attestation.c +++ b/src/libimcv/plugins/imc_attestation/imc_attestation.c @@ -27,6 +27,9 @@ #include #include +#include +#include +#include #include #include diff --git a/src/libpts/tcg/tcg_pts_attr_dh_nonce_finish.c b/src/libpts/tcg/tcg_pts_attr_dh_nonce_finish.c index a32583822a..89a0078fb6 100644 --- a/src/libpts/tcg/tcg_pts_attr_dh_nonce_finish.c +++ b/src/libpts/tcg/tcg_pts_attr_dh_nonce_finish.c @@ -20,8 +20,12 @@ #include #include +<<<<<<< HEAD typedef struct private_tcg_pts_attr_dh_nonce_finish_t private_tcg_pts_attr_dh_nonce_finish_t; +======= +typedef struct private_tcg_pts_attr_dh_nonce_finish_t private_tcg_pts_attr_dh_nonce_finish_t; +>>>>>>> Implemented Diffie Hellman Nonce attributes /** * PTS DH Nonce Finish @@ -73,6 +77,14 @@ struct private_tcg_pts_attr_dh_nonce_finish_t { bool noskip_flag; /** +<<<<<<< HEAD +======= + * Length of nonce + */ + u_int8_t nonce_len; + + /** +>>>>>>> Implemented Diffie Hellman Nonce attributes * Selected Hashing Algorithm */ pts_meas_algorithms_t hash_algo; @@ -80,7 +92,11 @@ struct private_tcg_pts_attr_dh_nonce_finish_t { /** * DH Initiator Public Value */ +<<<<<<< HEAD chunk_t initiator_value; +======= + chunk_t initiator_pub_val; +>>>>>>> Implemented Diffie Hellman Nonce attributes /** * DH Initiator Nonce @@ -125,9 +141,15 @@ METHOD(pa_tnc_attr_t, build, void, writer = bio_writer_create(PTS_DH_NONCE_FINISH_SIZE); writer->write_uint8 (writer, PTS_DH_NONCE_FINISH_RESERVED); +<<<<<<< HEAD writer->write_uint8 (writer, this->initiator_nonce.len); writer->write_uint16(writer, this->hash_algo); writer->write_data (writer, this->initiator_value); +======= + writer->write_uint8 (writer, this->nonce_len); + writer->write_uint16(writer, this->hash_algo); + writer->write_data (writer, this->initiator_pub_val); +>>>>>>> Implemented Diffie Hellman Nonce attributes writer->write_data (writer, this->initiator_nonce); this->value = chunk_clone(writer->get_buf(writer)); @@ -138,7 +160,11 @@ METHOD(pa_tnc_attr_t, process, status_t, private_tcg_pts_attr_dh_nonce_finish_t *this, u_int32_t *offset) { bio_reader_t *reader; +<<<<<<< HEAD u_int8_t reserved, nonce_len; +======= + u_int8_t reserved; +>>>>>>> Implemented Diffie Hellman Nonce attributes u_int16_t hash_algo; if (this->value.len < PTS_DH_NONCE_FINISH_SIZE) @@ -149,6 +175,7 @@ METHOD(pa_tnc_attr_t, process, status_t, } reader = bio_reader_create(this->value); reader->read_uint8 (reader, &reserved); +<<<<<<< HEAD reader->read_uint8 (reader, &nonce_len); reader->read_uint16(reader, &hash_algo); reader->read_data(reader, reader->remaining(reader) - nonce_len, @@ -157,6 +184,15 @@ METHOD(pa_tnc_attr_t, process, status_t, this->hash_algo = hash_algo; this->initiator_value = chunk_clone(this->initiator_value); this->initiator_nonce = chunk_clone(this->initiator_nonce); +======= + reader->read_uint8 (reader, &this->nonce_len); + reader->read_uint16(reader, &hash_algo); + this->hash_algo = hash_algo; + reader->read_data(reader, reader->remaining(reader) - this->nonce_len, + &this->initiator_pub_val); + reader->read_data(reader, this->nonce_len, &this->initiator_nonce); + +>>>>>>> Implemented Diffie Hellman Nonce attributes reader->destroy(reader); return SUCCESS;