aboutsummaryrefslogtreecommitdiffstats
path: root/src/libimcv/pa_tnc
diff options
context:
space:
mode:
authorAndreas Steffen <andreas.steffen@strongswan.org>2011-08-17 22:12:29 +0200
committerAndreas Steffen <andreas.steffen@strongswan.org>2011-09-08 12:08:10 +0200
commit5b7d55e097a0bcb4b59237d42f72071bab94e3d5 (patch)
tree4c88ff90143bc8cf65f52cfcc48b00f169760b0d /src/libimcv/pa_tnc
parent1dd8f9f6b1d44bddee758eaf81a9e131eea100b1 (diff)
downloadstrongswan-5b7d55e097a0bcb4b59237d42f72071bab94e3d5.tar.bz2
strongswan-5b7d55e097a0bcb4b59237d42f72071bab94e3d5.tar.xz
automatically parse TCG PTS attributes
Diffstat (limited to 'src/libimcv/pa_tnc')
-rw-r--r--src/libimcv/pa_tnc/pa_tnc_attr.c46
1 files changed, 37 insertions, 9 deletions
diff --git a/src/libimcv/pa_tnc/pa_tnc_attr.c b/src/libimcv/pa_tnc/pa_tnc_attr.c
index e4617f54e..6f410a6cd 100644
--- a/src/libimcv/pa_tnc/pa_tnc_attr.c
+++ b/src/libimcv/pa_tnc/pa_tnc_attr.c
@@ -18,12 +18,26 @@
#include "ietf/ietf_attr_pa_tnc_error.h"
#include "ietf/ietf_attr_port_filter.h"
#include "tcg/tcg_attr.h"
+#include "tcg/tcg_pts_attr_req_proto_caps.h"
+#include "tcg/tcg_pts_attr_proto_caps.h"
+#include "tcg/tcg_pts_attr_meas_algo.h"
+#include "tcg/tcg_pts_attr_meas_algo_selection.h"
+#include "tcg/tcg_pts_attr_get_tpm_version_info.h"
+#include "tcg/tcg_pts_attr_tpm_version_info.h"
+#include "tcg/tcg_pts_attr_get_aik.h"
+#include "tcg/tcg_pts_attr_aik.h"
+#include "tcg/tcg_pts_attr_req_funct_comp_evid.h"
+#include "tcg/tcg_pts_attr_gen_attest_evid.h"
+#include "tcg/tcg_pts_attr_simple_comp_evid.h"
+#include "tcg/tcg_pts_attr_simple_evid_final.h"
+#include "tcg/tcg_pts_attr_req_file_meas.h"
+#include "tcg/tcg_pts_attr_file_meas.h"
#include "ita/ita_attr_command.h"
/**
* See header
*/
-pa_tnc_attr_t* pa_tnc_attr_create_from_data(pen_t vendor_id, u_int32_t type,
+pa_tnc_attr_t* pa_tnc_attr_create_create_from_data(pen_t vendor_id, u_int32_t type,
chunk_t value)
{
switch (vendor_id)
@@ -55,23 +69,39 @@ pa_tnc_attr_t* pa_tnc_attr_create_from_data(pen_t vendor_id, u_int32_t type,
switch (type)
{
case TCG_PTS_REQ_PROTO_CAPS:
+ return tcg_pts_attr_req_proto_caps_create_from_data(value);
case TCG_PTS_PROTO_CAPS:
- case TCG_PTS_DH_NONCE_PARAMS_REQ:
- case TCG_PTS_DH_NONCE_PARAMS_RESP:
- case TCG_PTS_DH_NONCE_FINISH:
+ return tcg_pts_attr_proto_caps_create_from_data(value);
case TCG_PTS_MEAS_ALGO:
+ return tcg_pts_attr_meas_algo_create_from_data(value);
case TCG_PTS_MEAS_ALGO_SELECTION:
+ return tcg_pts_attr_meas_algo_selection_create_from_data(value);
case TCG_PTS_GET_TPM_VERSION_INFO:
+ return tcg_pts_attr_get_tpm_version_info_create_from_data(value);
case TCG_PTS_TPM_VERSION_INFO:
- case TCG_PTS_REQ_TEMPL_REF_MANI_SET_META:
- case TCG_PTS_TEMPL_REF_MANI_SET_META:
- case TCG_PTS_UPDATE_TEMPL_REF_MANI:
+ return tcg_pts_attr_tpm_version_info_create_from_data(value);
case TCG_PTS_GET_AIK:
+ return tcg_pts_attr_get_aik_create_from_data(value);
case TCG_PTS_AIK:
+ return tcg_pts_attr_aik_create_from_data(value);
case TCG_PTS_REQ_FUNCT_COMP_EVID:
+ return tcg_pts_attr_req_funct_comp_evid_create_from_data(value);
case TCG_PTS_GEN_ATTEST_EVID:
+ return tcg_pts_attr_gen_attest_evid_create_from_data(value);
case TCG_PTS_SIMPLE_COMP_EVID:
+ return tcg_pts_attr_simple_comp_evid_create_from_data(value);
case TCG_PTS_SIMPLE_EVID_FINAL:
+ return tcg_pts_attr_simple_evid_final_create_from_data(value);
+ case TCG_PTS_REQ_FILE_MEAS:
+ return tcg_pts_attr_req_file_meas_create_from_data(value);
+ case TCG_PTS_FILE_MEAS:
+ return tcg_pts_attr_file_meas_create_from_data(value);
+ case TCG_PTS_DH_NONCE_PARAMS_REQ:
+ case TCG_PTS_DH_NONCE_PARAMS_RESP:
+ case TCG_PTS_DH_NONCE_FINISH:
+ case TCG_PTS_REQ_TEMPL_REF_MANI_SET_META:
+ case TCG_PTS_TEMPL_REF_MANI_SET_META:
+ case TCG_PTS_UPDATE_TEMPL_REF_MANI:
case TCG_PTS_VERIFICATION_RESULT:
case TCG_PTS_INTEG_REPORT:
case TCG_PTS_REQ_FILE_META:
@@ -79,8 +109,6 @@ pa_tnc_attr_t* pa_tnc_attr_create_from_data(pen_t vendor_id, u_int32_t type,
case TCG_PTS_UNIX_FILE_META:
case TCG_PTS_REQ_REGISTRY_VALUE:
case TCG_PTS_REGISTRY_VALUE:
- case TCG_PTS_REQ_FILE_MEAS:
- case TCG_PTS_FILE_MEAS:
case TCG_PTS_REQ_INTEG_MEAS_LOG:
case TCG_PTS_INTEG_MEAS_LOG:
default: