summaryrefslogtreecommitdiff
path: root/src/libpts/pts/components/pts_comp_evidence.c
diff options
context:
space:
mode:
authorRomain Francoise <rfrancoise@debian.org>2014-10-21 19:28:38 +0200
committerRomain Francoise <rfrancoise@debian.org>2014-10-21 19:41:50 +0200
commitb23b0e5609ed4b3d29396a1727aab035fa4a395f (patch)
tree091d0b144dd92a0c124b7fbe9eae68f79cb975dc /src/libpts/pts/components/pts_comp_evidence.c
parent4a01a7e2574040cf246fd00ebff173b873c17349 (diff)
downloadvyos-strongswan-b23b0e5609ed4b3d29396a1727aab035fa4a395f.tar.gz
vyos-strongswan-b23b0e5609ed4b3d29396a1727aab035fa4a395f.zip
Import upstream release 5.2.1
Diffstat (limited to 'src/libpts/pts/components/pts_comp_evidence.c')
-rw-r--r--src/libpts/pts/components/pts_comp_evidence.c255
1 files changed, 0 insertions, 255 deletions
diff --git a/src/libpts/pts/components/pts_comp_evidence.c b/src/libpts/pts/components/pts_comp_evidence.c
deleted file mode 100644
index 08c3d5e9a..000000000
--- a/src/libpts/pts/components/pts_comp_evidence.c
+++ /dev/null
@@ -1,255 +0,0 @@
-/*
- * Copyright (C) 2011 Sansar Choinyambuu, Andreas Steffen
- * HSR Hochschule fuer Technik Rapperswil
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version. See <http://www.fsf.org/copyleft/gpl.txt>.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * for more details.
- */
-
-#include "pts/components/pts_comp_evidence.h"
-
-#include <utils/debug.h>
-
-typedef struct private_pts_comp_evidence_t private_pts_comp_evidence_t;
-
-/**
- * Private data of a pts_comp_evidence_t object.
- */
-struct private_pts_comp_evidence_t {
-
- /**
- * Public pts_comp_evidence_t interface.
- */
- pts_comp_evidence_t public;
-
- /**
- * Component Functional Name
- */
- pts_comp_func_name_t *name;
-
- /**
- * Sub-Component Depth
- */
- u_int32_t depth;
-
- /**
- * Measurement Time
- */
- time_t measurement_time;
-
- /**
- * Measurement Time
- */
- chunk_t measurement;
-
- /**
- * Measurement Hash Algorithm
- */
- pts_meas_algorithms_t hash_algorithm;
-
- /**
- * Is PCR Information included?
- */
- bool has_pcr_info;
-
- /**
- * PCR the measurement was extended into
- */
- u_int32_t extended_pcr;
-
- /**
- * PCR value before extension
- */
- chunk_t pcr_before;
-
- /**
- * PCR value after extension
- */
- chunk_t pcr_after;
-
- /**
- * Transformation used for extending measurement into PCR
- */
- pts_pcr_transform_t transform;
-
- /**
- * Component Validation Result
- */
- pts_comp_evid_validation_t validation;
-
- /**
- * Verification Policy URI
- */
- char *policy_uri;
-
-};
-
-METHOD(pts_comp_evidence_t, get_comp_func_name, pts_comp_func_name_t*,
- private_pts_comp_evidence_t *this, u_int32_t *depth)
-{
- if (depth)
- {
- *depth = this->depth;
- }
- return this->name;
-}
-
-METHOD(pts_comp_evidence_t, get_extended_pcr, u_int32_t,
- private_pts_comp_evidence_t *this)
-{
- return this->extended_pcr;
-}
-
-METHOD(pts_comp_evidence_t, get_measurement, chunk_t,
- private_pts_comp_evidence_t *this, u_int32_t *extended_pcr,
- pts_meas_algorithms_t *algo, pts_pcr_transform_t *transform,
- time_t *measurement_time)
-{
- if (extended_pcr)
- {
- *extended_pcr = this->extended_pcr;
- }
- if (algo)
- {
- *algo = this->hash_algorithm;
- }
- if (transform)
- {
- *transform = this->transform;
- }
- if (measurement_time)
- {
- *measurement_time = this->measurement_time;
- }
- return this->measurement;
-}
-
-METHOD(pts_comp_evidence_t, get_pcr_info, bool,
- private_pts_comp_evidence_t *this, chunk_t *pcr_before, chunk_t *pcr_after)
-{
- if (pcr_before)
- {
- *pcr_before = this->pcr_before;
- }
- if (pcr_after)
- {
- *pcr_after = this->pcr_after;
- }
- return this->has_pcr_info;
-}
-
-METHOD(pts_comp_evidence_t, set_pcr_info, void,
- private_pts_comp_evidence_t *this, chunk_t pcr_before, chunk_t pcr_after)
-{
- this->has_pcr_info = TRUE;
- this->pcr_before = pcr_before;
- this->pcr_after = pcr_after;
-
- DBG3(DBG_PTS, "PCR %2d before value : %#B", this->extended_pcr, &pcr_before);
- DBG3(DBG_PTS, "PCR %2d after value : %#B", this->extended_pcr, &pcr_after);
-}
-
-METHOD(pts_comp_evidence_t, get_validation, pts_comp_evid_validation_t,
- private_pts_comp_evidence_t *this, char **uri)
-{
- if (uri)
- {
- *uri = this->policy_uri;
- }
- return this->validation;
-}
-
-METHOD(pts_comp_evidence_t, set_validation, void,
- private_pts_comp_evidence_t *this, pts_comp_evid_validation_t validation,
- char *uri)
-{
- this->validation = validation;
- if (uri)
- {
- this->policy_uri = strdup(uri);
- DBG3(DBG_PTS, "'%s'", uri);
- }
-}
-
-METHOD(pts_comp_evidence_t, destroy, void,
- private_pts_comp_evidence_t *this)
-{
- this->name->destroy(this->name);
- free(this->measurement.ptr);
- free(this->pcr_before.ptr);
- free(this->pcr_after.ptr);
- free(this->policy_uri);
- free(this);
-}
-
-/**
- * See header
- */
-pts_comp_evidence_t *pts_comp_evidence_create(pts_comp_func_name_t *name,
- u_int32_t depth,
- u_int32_t extended_pcr,
- pts_meas_algorithms_t algo,
- pts_pcr_transform_t transform,
- time_t measurement_time,
- chunk_t measurement)
-{
- private_pts_comp_evidence_t *this;
-
- INIT(this,
- .public = {
- .get_comp_func_name = _get_comp_func_name,
- .get_extended_pcr = _get_extended_pcr,
- .get_measurement = _get_measurement,
- .get_pcr_info = _get_pcr_info,
- .set_pcr_info = _set_pcr_info,
- .get_validation = _get_validation,
- .set_validation = _set_validation,
- .destroy = _destroy,
- },
- .name = name,
- .depth = depth,
- .extended_pcr = extended_pcr,
- .hash_algorithm = algo,
- .transform = transform,
- .measurement_time = measurement_time,
- .measurement = measurement,
- );
-
- name->log(name, "");
- DBG3(DBG_PTS, "measurement time: %T", &measurement_time, FALSE);
- DBG3(DBG_PTS, "PCR %2d extended with: %#B", extended_pcr, &measurement);
-
- return &this->public;
-}
-
-/**
- * See header
- */
-pts_pcr_transform_t pts_meas_algo_to_pcr_transform(pts_meas_algorithms_t algo,
- size_t pcr_len)
-{
- size_t hash_size;
-
- hash_size = pts_meas_algo_hash_size(algo);
- if (hash_size == 0)
- {
- return PTS_PCR_TRANSFORM_NO;
- }
- if (hash_size == pcr_len)
- {
- return PTS_PCR_TRANSFORM_MATCH;
- }
- if (hash_size > pcr_len)
- {
- return PTS_PCR_TRANSFORM_LONG;
- }
- return PTS_PCR_TRANSFORM_SHORT;
-}
-