From: Adrian-Ken Rueegsegger Date: Mon, 12 Nov 2012 18:05:28 +0000 (+0100) Subject: Call Esa_Select after creation of child SA X-Git-Tag: 5.0.3rc1~39^2~28 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1c1400f0079f7ded06ad66156d6d0398358fe1c2;p=thirdparty%2Fstrongswan.git Call Esa_Select after creation of child SA This tells the TKM which child SA is the currently active SA. --- diff --git a/src/charon-tkm/src/tkm/tkm_kernel_ipsec.c b/src/charon-tkm/src/tkm/tkm_kernel_ipsec.c index 4e813a035c..623942b620 100644 --- a/src/charon-tkm/src/tkm/tkm_kernel_ipsec.c +++ b/src/charon-tkm/src/tkm/tkm_kernel_ipsec.c @@ -169,6 +169,16 @@ METHOD(kernel_ipsec_t, add_sa, status_t, } tkm->idmgr->release_id(tkm->idmgr, TKM_CTX_NONCE, nonce_loc_id); } + if (ike_esa_select(esa_id) != TKM_OK) + { + DBG1(DBG_KNL, "error selecting new child SA (%llu)", esa_id); + if (ike_esa_reset(esa_id) != TKM_OK) + { + DBG1(DBG_KNL, "child SA (%llu) deletion failed", esa_id); + } + goto failure; + } + DBG1(DBG_KNL, "added child SA (esa: %llu, isa: %llu, esp_spi_loc: %x, " "esp_spi_rem: %x, role: %s)", esa_id, esa.isa_id, ntohl(spi_loc), ntohl(spi_rem), initiator ? "initiator" : "responder");