diff options
author | Adrian-Ken Rueegsegger <ken@codelabs.ch> | 2012-08-22 11:17:14 +0200 |
---|---|---|
committer | Tobias Brunner <tobias@strongswan.org> | 2013-03-19 15:23:46 +0100 |
commit | 528fc21ffe01f4b7a0fcc277aeb5af3f993dbed3 (patch) | |
tree | 6cc13614e356566bc95e00d04140eb88b7ba54e4 /src | |
parent | ba0d7d9a76ec8dd8f53e92c8dd4b6bed794e6bf9 (diff) | |
download | strongswan-528fc21ffe01f4b7a0fcc277aeb5af3f993dbed3.tar.bz2 strongswan-528fc21ffe01f4b7a0fcc277aeb5af3f993dbed3.tar.xz |
Add context id getter to TKM DH implementation
Diffstat (limited to 'src')
-rw-r--r-- | src/charon-tkm/src/tkm/tkm_diffie_hellman.c | 7 | ||||
-rw-r--r-- | src/charon-tkm/src/tkm/tkm_diffie_hellman.h | 9 | ||||
-rw-r--r-- | src/charon-tkm/tests/diffie_hellman_tests.c | 1 |
3 files changed, 17 insertions, 0 deletions
diff --git a/src/charon-tkm/src/tkm/tkm_diffie_hellman.c b/src/charon-tkm/src/tkm/tkm_diffie_hellman.c index 21378da5a..9a38c1637 100644 --- a/src/charon-tkm/src/tkm/tkm_diffie_hellman.c +++ b/src/charon-tkm/src/tkm/tkm_diffie_hellman.c @@ -103,6 +103,12 @@ METHOD(diffie_hellman_t, destroy, void, free(this); } +METHOD(tkm_diffie_hellman_t, get_id, dh_id_type, + private_tkm_diffie_hellman_t *this) +{ + return this->context_id; +} + /* * Described in header. */ @@ -119,6 +125,7 @@ tkm_diffie_hellman_t *tkm_diffie_hellman_create(diffie_hellman_group_t group) .get_dh_group = _get_dh_group, .destroy = _destroy, }, + .get_id = _get_id, }, .group = group, .context_id = tkm->idmgr->acquire_id(tkm->idmgr, TKM_CTX_DH), diff --git a/src/charon-tkm/src/tkm/tkm_diffie_hellman.h b/src/charon-tkm/src/tkm/tkm_diffie_hellman.h index 25d196764..0f457931a 100644 --- a/src/charon-tkm/src/tkm/tkm_diffie_hellman.h +++ b/src/charon-tkm/src/tkm/tkm_diffie_hellman.h @@ -20,6 +20,7 @@ typedef struct tkm_diffie_hellman_t tkm_diffie_hellman_t; #include <library.h> +#include <tkm/types.h> /** * diffie_hellman_t implementation using the trusted key manager. @@ -30,6 +31,14 @@ struct tkm_diffie_hellman_t { * Implements diffie_hellman_t interface. */ diffie_hellman_t dh; + + /** + * Get Diffie-Hellman context id. + * + * @return id of this DH context. + */ + dh_id_type (*get_id)(tkm_diffie_hellman_t * const this); + }; /** diff --git a/src/charon-tkm/tests/diffie_hellman_tests.c b/src/charon-tkm/tests/diffie_hellman_tests.c index c2e905e76..ffe99614d 100644 --- a/src/charon-tkm/tests/diffie_hellman_tests.c +++ b/src/charon-tkm/tests/diffie_hellman_tests.c @@ -27,6 +27,7 @@ START_TEST(test_dh_creation) dh = tkm_diffie_hellman_create(MODP_4096_BIT); fail_if(!dh, "MODP_4096 not created"); + fail_if(!dh->get_id(dh), "Invalid context id (0)"); dh->dh.destroy(&dh->dh); } |