From fd3aa004e448a9dd72b765de81fe45317f9039f3 Mon Sep 17 00:00:00 2001 From: Tobias Brunner Date: Thu, 2 May 2013 18:48:05 +0200 Subject: [PATCH] android: Android IMC state provides a Platform Trust Service (PTS) instance --- .../jni/libandroidbridge/byod/imc_android_state.c | 14 ++++++++++++++ .../jni/libandroidbridge/byod/imc_android_state.h | 6 ++++++ 2 files changed, 20 insertions(+) diff --git a/src/frontends/android/jni/libandroidbridge/byod/imc_android_state.c b/src/frontends/android/jni/libandroidbridge/byod/imc_android_state.c index 2018f9d9be..d429b90b7a 100644 --- a/src/frontends/android/jni/libandroidbridge/byod/imc_android_state.c +++ b/src/frontends/android/jni/libandroidbridge/byod/imc_android_state.c @@ -61,6 +61,11 @@ struct private_imc_android_state_t { * Maximum PA-TNC message size for this TNCCS connection */ u_int32_t max_msg_len; + + /** + * TCG Platform Trust Service (PTS) + */ + pts_t *pts; }; METHOD(imc_state_t, get_connection_id, TNC_ConnectionID, @@ -125,9 +130,16 @@ METHOD(imc_state_t, get_result, bool, METHOD(imc_state_t, destroy, void, private_imc_android_state_t *this) { + this->pts->destroy(this->pts); free(this); } +METHOD(imc_android_state_t, get_pts, pts_t*, + private_imc_android_state_t *this) +{ + return this->pts; +} + /** * Described in header. */ @@ -149,10 +161,12 @@ imc_state_t *imc_android_state_create(TNC_ConnectionID connection_id) .get_result = _get_result, .destroy = _destroy, }, + .get_pts = _get_pts, }, .state = TNC_CONNECTION_STATE_CREATE, .result = TNC_IMV_EVALUATION_RESULT_DONT_KNOW, .connection_id = connection_id, + .pts = pts_create(TRUE), ); return &this->public.interface; diff --git a/src/frontends/android/jni/libandroidbridge/byod/imc_android_state.h b/src/frontends/android/jni/libandroidbridge/byod/imc_android_state.h index 51bff32cfa..68197f3319 100644 --- a/src/frontends/android/jni/libandroidbridge/byod/imc_android_state.h +++ b/src/frontends/android/jni/libandroidbridge/byod/imc_android_state.h @@ -22,6 +22,7 @@ #define IMC_ANDROID_STATE_H_ #include +#include typedef struct imc_android_state_t imc_android_state_t; @@ -34,6 +35,11 @@ struct imc_android_state_t { * imc_state_t interface */ imc_state_t interface; + + /** + * Get TCG Platform Trust Service (PTS) object + */ + pts_t *(*get_pts)(imc_android_state_t *this); }; /** -- 2.47.3