diff options
Diffstat (limited to 'src/libimcv/plugins/imv_test/imv_test_state.c')
-rw-r--r-- | src/libimcv/plugins/imv_test/imv_test_state.c | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/src/libimcv/plugins/imv_test/imv_test_state.c b/src/libimcv/plugins/imv_test/imv_test_state.c index 9b9344bf6..385a37452 100644 --- a/src/libimcv/plugins/imv_test/imv_test_state.c +++ b/src/libimcv/plugins/imv_test/imv_test_state.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2011-2012 Andreas Steffen + * Copyright (C) 2011-2013 Andreas Steffen * HSR Hochschule fuer Technik Rapperswil * * This program is free software; you can redistribute it and/or modify it @@ -59,6 +59,11 @@ struct private_imv_test_state_t { u_int32_t max_msg_len; /** + * Access Requestor ID + */ + identification_t *ar_id; + + /** * IMV action recommendation */ TNC_IMV_Action_Recommendation rec; @@ -143,6 +148,19 @@ METHOD(imv_state_t, get_max_msg_len, u_int32_t, return this->max_msg_len; } +METHOD(imv_state_t, set_ar_id, void, + private_imv_test_state_t *this, identification_t *ar_id) +{ + /* no cloning, caller must not destroy object */ + this->ar_id = ar_id; +} + +METHOD(imv_state_t, get_ar_id, identification_t*, + private_imv_test_state_t *this) +{ + return this->ar_id; +} + METHOD(imv_state_t, change_state, void, private_imv_test_state_t *this, TNC_ConnectionState new_state) { @@ -191,6 +209,7 @@ METHOD(imv_state_t, get_remediation_instructions, bool, METHOD(imv_state_t, destroy, void, private_imv_test_state_t *this) { + DESTROY_IF(this->ar_id); DESTROY_IF(this->reason_string); this->imcs->destroy_function(this->imcs, free); free(this); @@ -277,6 +296,8 @@ imv_state_t *imv_test_state_create(TNC_ConnectionID connection_id) .set_flags = _set_flags, .set_max_msg_len = _set_max_msg_len, .get_max_msg_len = _get_max_msg_len, + .set_ar_id = _set_ar_id, + .get_ar_id = _get_ar_id, .change_state = _change_state, .get_recommendation = _get_recommendation, .set_recommendation = _set_recommendation, |