From: Reto Buerki Date: Tue, 12 Jun 2012 09:05:14 +0000 (+0200) Subject: tkm_nonceg: Return nonce generated by TKM X-Git-Tag: 5.0.3rc1~39^2~102 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8e95bf455dda5fd528065167617a33a8251ee35f;p=thirdparty%2Fstrongswan.git tkm_nonceg: Return nonce generated by TKM --- diff --git a/src/charon-tkm/src/tkm/tkm_nonceg.c b/src/charon-tkm/src/tkm/tkm_nonceg.c index 1a83a5b162..9ac32a7c7f 100644 --- a/src/charon-tkm/src/tkm/tkm_nonceg.c +++ b/src/charon-tkm/src/tkm/tkm_nonceg.c @@ -16,6 +16,9 @@ #include "tkm_nonceg.h" +#include +#include + typedef struct private_tkm_nonceg_t private_tkm_nonceg_t; /** @@ -33,7 +36,16 @@ struct private_tkm_nonceg_t { METHOD(nonce_gen_t, get_nonce, bool, private_tkm_nonceg_t *this, size_t size, u_int8_t *buffer) { - // TODO: Request nonce from TKM and fill it into buffer. + nonce_type nonce; + + /* request nonce from TKM, the context is not yet used */ + const result_type result = ike_nc_create(1, size, &nonce); + if (result != TKM_OK) + { + return FALSE; + } + + memcpy(buffer, &nonce.data, size); return TRUE; }