aboutsummaryrefslogtreecommitdiffstats
path: root/src/charon-tkm
diff options
context:
space:
mode:
authorAdrian-Ken Rueegsegger <ken@codelabs.ch>2017-09-05 15:56:12 +0200
committerTobias Brunner <tobias@strongswan.org>2017-09-15 12:16:57 +0200
commitfc08e6af8a92816b5f1ae2805c22cc82c3a7be4f (patch)
tree4fc2389bad41becc46a35204ad57993e00d3a869 /src/charon-tkm
parent59e7298ff9d879493391f06b95189c23dedb7740 (diff)
downloadstrongswan-fc08e6af8a92816b5f1ae2805c22cc82c3a7be4f.tar.bz2
strongswan-fc08e6af8a92816b5f1ae2805c22cc82c3a7be4f.tar.xz
charon-tkm: Reset ESA on child SA create failure
Since we are also releasing the ESA ID we have to make sure that the ESA context is reset and in a clean state in order for it to be actually reusable.
Diffstat (limited to 'src/charon-tkm')
-rw-r--r--src/charon-tkm/src/tkm/tkm_kernel_ipsec.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/charon-tkm/src/tkm/tkm_kernel_ipsec.c b/src/charon-tkm/src/tkm/tkm_kernel_ipsec.c
index 87b516d43..48dd40aa5 100644
--- a/src/charon-tkm/src/tkm/tkm_kernel_ipsec.c
+++ b/src/charon-tkm/src/tkm/tkm_kernel_ipsec.c
@@ -199,6 +199,7 @@ METHOD(kernel_ipsec_t, add_sa, status_t,
return SUCCESS;
failure:
+ ike_esa_reset(esa_id);
tkm->sad->remove(tkm->sad, esa_id);
sad_failure:
tkm->idmgr->release_id(tkm->idmgr, TKM_CTX_ESA, esa_id);