aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMartin Willi <martin@revosec.ch>2012-02-29 10:10:45 +0100
committerMartin Willi <martin@revosec.ch>2012-03-05 18:08:04 +0100
commit4cd176d525fbf20159e22d7cd4baeeb0c2e7ad1b (patch)
tree1d8eab866738d52ca6bb3b99d64eacdb2262cc74 /src
parent0853ff39c52d30e10f3506cae0d7aecb51ae388a (diff)
downloadstrongswan-4cd176d525fbf20159e22d7cd4baeeb0c2e7ad1b.tar.bz2
strongswan-4cd176d525fbf20159e22d7cd4baeeb0c2e7ad1b.tar.xz
Invoke ike_updown hook on authentication failure not before response sent
Diffstat (limited to 'src')
-rw-r--r--src/libcharon/sa/task_manager.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/libcharon/sa/task_manager.c b/src/libcharon/sa/task_manager.c
index 7cdcf7052..77d36f975 100644
--- a/src/libcharon/sa/task_manager.c
+++ b/src/libcharon/sa/task_manager.c
@@ -641,11 +641,9 @@ static status_t build_response(private_task_manager_t *this, message_t *request)
enumerator);
}
break;
+ case DESTROY_ME:
case FAILED:
default:
- charon->bus->ike_updown(charon->bus, this->ike_sa, FALSE);
- /* FALL */
- case DESTROY_ME:
/* destroy IKE_SA, but SEND response first */
delete = TRUE;
break;
@@ -680,6 +678,7 @@ static status_t build_response(private_task_manager_t *this, message_t *request)
this->responding.packet->clone(this->responding.packet));
if (delete)
{
+ charon->bus->ike_updown(charon->bus, this->ike_sa, FALSE);
return DESTROY_ME;
}
return SUCCESS;