From: Adrian-Ken Rueegsegger Date: Tue, 21 Aug 2012 12:31:13 +0000 (+0200) Subject: Add context id getter to TKM nonce generator X-Git-Tag: 5.0.3rc1~39^2~89 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=601de9f36f0ed811d9af243c052a925b4bbca807;p=thirdparty%2Fstrongswan.git Add context id getter to TKM nonce generator --- diff --git a/src/charon-tkm/src/tkm/tkm_nonceg.c b/src/charon-tkm/src/tkm/tkm_nonceg.c index 90b033f9f6..7079412cd4 100644 --- a/src/charon-tkm/src/tkm/tkm_nonceg.c +++ b/src/charon-tkm/src/tkm/tkm_nonceg.c @@ -65,6 +65,12 @@ METHOD(nonce_gen_t, destroy, void, free(this); } +METHOD(tkm_nonceg_t, get_id, nc_id_type, + private_tkm_nonceg_t *this) +{ + return this->context_id; +} + /* * Described in header. */ @@ -79,6 +85,7 @@ tkm_nonceg_t *tkm_nonceg_create() .allocate_nonce = _allocate_nonce, .destroy = _destroy, }, + .get_id = _get_id, }, .context_id = tkm->idmgr->acquire_id(tkm->idmgr, TKM_CTX_NONCE), ); diff --git a/src/charon-tkm/src/tkm/tkm_nonceg.h b/src/charon-tkm/src/tkm/tkm_nonceg.h index 907890bbd1..25ec48a64a 100644 --- a/src/charon-tkm/src/tkm/tkm_nonceg.h +++ b/src/charon-tkm/src/tkm/tkm_nonceg.h @@ -20,6 +20,7 @@ typedef struct tkm_nonceg_t tkm_nonceg_t; #include +#include /** * nonce_gen_t implementation using the trusted key manager. @@ -30,6 +31,14 @@ struct tkm_nonceg_t { * Implements nonce_gen_t. */ nonce_gen_t nonce_gen; + + /** + * Get nonce context id. + * + * @return context id of this nonce generator. + */ + nc_id_type (*get_id)(tkm_nonceg_t * const this); + }; /** diff --git a/src/charon-tkm/tests/nonceg_tests.c b/src/charon-tkm/tests/nonceg_tests.c index 202a9e5c74..3a1effab8e 100644 --- a/src/charon-tkm/tests/nonceg_tests.c +++ b/src/charon-tkm/tests/nonceg_tests.c @@ -26,6 +26,7 @@ START_TEST(test_nonceg_creation) ng = tkm_nonceg_create(); fail_if(ng == NULL, "Error creating tkm nonce generator"); + fail_if(ng->get_id(ng) == 0, "Invalid context id (0)"); ng->nonce_gen.destroy(&ng->nonce_gen); }