diff options
author | Reto Buerki <reet@codelabs.ch> | 2012-08-31 11:24:45 +0200 |
---|---|---|
committer | Tobias Brunner <tobias@strongswan.org> | 2013-03-19 15:23:47 +0100 |
commit | d91acfdb5d25b5993e12f70f05f185458abcd901 (patch) | |
tree | 61d5e13eb5c1c76d7e6f1c253e17da0f675850a1 | |
parent | cdd4d73ff5e012814bdc896eefb1977c2b0372b7 (diff) | |
download | strongswan-d91acfdb5d25b5993e12f70f05f185458abcd901.tar.bz2 strongswan-d91acfdb5d25b5993e12f70f05f185458abcd901.tar.xz |
Add ISA context id getter to TKM keymat
-rw-r--r-- | src/charon-tkm/src/tkm/tkm_keymat.c | 7 | ||||
-rw-r--r-- | src/charon-tkm/src/tkm/tkm_keymat.h | 8 | ||||
-rw-r--r-- | src/charon-tkm/tests/keymat_tests.c | 1 |
3 files changed, 16 insertions, 0 deletions
diff --git a/src/charon-tkm/src/tkm/tkm_keymat.c b/src/charon-tkm/src/tkm/tkm_keymat.c index d055c3847..bb085b86f 100644 --- a/src/charon-tkm/src/tkm/tkm_keymat.c +++ b/src/charon-tkm/src/tkm/tkm_keymat.c @@ -356,6 +356,12 @@ METHOD(keymat_t, destroy, void, free(this); } +METHOD(tkm_keymat_t, get_isa_id, isa_id_type, + private_tkm_keymat_t *this) +{ + return this->isa_ctx_id; +} + /** * See header. */ @@ -377,6 +383,7 @@ tkm_keymat_t *tkm_keymat_create(bool initiator) .get_skd = _get_skd, .get_auth_octets = _get_auth_octets, .get_psk_sig = _get_psk_sig, + .get_isa_id = _get_isa_id, }, .initiator = initiator, .isa_ctx_id = tkm->idmgr->acquire_id(tkm->idmgr, TKM_CTX_ISA), diff --git a/src/charon-tkm/src/tkm/tkm_keymat.h b/src/charon-tkm/src/tkm/tkm_keymat.h index 2def71fb3..1fb15596a 100644 --- a/src/charon-tkm/src/tkm/tkm_keymat.h +++ b/src/charon-tkm/src/tkm/tkm_keymat.h @@ -106,6 +106,14 @@ struct tkm_keymat_t { bool (*get_psk_sig)(tkm_keymat_t *this, bool verify, chunk_t ike_sa_init, chunk_t nonce, chunk_t secret, identification_t *id, char reserved[3], chunk_t *sig); + + /** + * Get ISA context id. + * + * @return id of associated ISA context. + */ + isa_id_type (*get_isa_id)(tkm_keymat_t * const this); + }; /** diff --git a/src/charon-tkm/tests/keymat_tests.c b/src/charon-tkm/tests/keymat_tests.c index fbaed24e4..0fde2fb6e 100644 --- a/src/charon-tkm/tests/keymat_tests.c +++ b/src/charon-tkm/tests/keymat_tests.c @@ -54,6 +54,7 @@ START_TEST(test_derive_ike_keys) tkm_keymat_t *keymat = tkm_keymat_create(TRUE); fail_if(!keymat, "Unable to create keymat"); + fail_if(!keymat->get_isa_id(keymat), "Invalid ISA context id (0)"); chunk_t nonce; tkm_nonceg_t *ng = tkm_nonceg_create(); |