From: Tobias Brunner Date: Fri, 13 May 2016 06:50:17 +0000 (+0200) Subject: unit-tests: Make IKE SPIs predictable X-Git-Tag: 5.5.0dr1~4^2~72 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=29f1637b9a30da6933f0de5034073b62e112b8f1;p=thirdparty%2Fstrongswan.git unit-tests: Make IKE SPIs predictable --- diff --git a/src/libcharon/tests/utils/exchange_test_helper.c b/src/libcharon/tests/utils/exchange_test_helper.c index 488a5ee9b1..17553bc810 100644 --- a/src/libcharon/tests/utils/exchange_test_helper.c +++ b/src/libcharon/tests/utils/exchange_test_helper.c @@ -39,8 +39,19 @@ struct private_exchange_test_helper_t { * Credentials */ mem_cred_t *creds; + + /** + * IKE_SA SPI counter + */ + refcount_t ike_spi; }; +CALLBACK(get_ike_spi, uint64_t, + private_exchange_test_helper_t *this) +{ + return (uint64_t)ref_get(&this->ike_spi); +} + /* * Described in header */ @@ -215,6 +226,9 @@ void exchange_test_helper_init(char *plugins) /* and there is no kernel plugin loaded * TODO: we'd have more control if we'd implement kernel_interface_t */ charon->kernel->add_ipsec_interface(charon->kernel, mock_ipsec_create); + /* like SPIs for IPsec SAs, make IKE SPIs predictable */ + charon->ike_sa_manager->set_spi_cb(charon->ike_sa_manager, get_ike_spi, + this); charon->backends->add_backend(charon->backends, &this->backend); lib->credmgr->add_set(lib->credmgr, &this->creds->set);