aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorReto Buerki <reet@codelabs.ch>2012-08-31 11:24:45 +0200
committerTobias Brunner <tobias@strongswan.org>2013-03-19 15:23:47 +0100
commitd91acfdb5d25b5993e12f70f05f185458abcd901 (patch)
tree61d5e13eb5c1c76d7e6f1c253e17da0f675850a1
parentcdd4d73ff5e012814bdc896eefb1977c2b0372b7 (diff)
downloadstrongswan-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.c7
-rw-r--r--src/charon-tkm/src/tkm/tkm_keymat.h8
-rw-r--r--src/charon-tkm/tests/keymat_tests.c1
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();