aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAdrian-Ken Rueegsegger <ken@codelabs.ch>2012-08-21 14:31:13 +0200
committerTobias Brunner <tobias@strongswan.org>2013-03-19 15:23:46 +0100
commit601de9f36f0ed811d9af243c052a925b4bbca807 (patch)
treee27f0c887f541c5e8dfd670510274f043b002b23 /src
parentebe592a393b175d274cc8ac3a7b25521d595622b (diff)
downloadstrongswan-601de9f36f0ed811d9af243c052a925b4bbca807.tar.bz2
strongswan-601de9f36f0ed811d9af243c052a925b4bbca807.tar.xz
Add context id getter to TKM nonce generator
Diffstat (limited to 'src')
-rw-r--r--src/charon-tkm/src/tkm/tkm_nonceg.c7
-rw-r--r--src/charon-tkm/src/tkm/tkm_nonceg.h9
-rw-r--r--src/charon-tkm/tests/nonceg_tests.c1
3 files changed, 17 insertions, 0 deletions
diff --git a/src/charon-tkm/src/tkm/tkm_nonceg.c b/src/charon-tkm/src/tkm/tkm_nonceg.c
index 90b033f9f..7079412cd 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 907890bbd..25ec48a64 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 <library.h>
+#include <tkm/types.h>
/**
* 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 202a9e5c7..3a1effab8 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);
}