aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Willi <martin@strongswan.org>2009-09-03 17:32:41 +0200
committerMartin Willi <martin@strongswan.org>2009-09-03 17:32:41 +0200
commit72e2faf291f9866d27bf8b07c40f01dd7bb9434d (patch)
tree725906ae06c6ef2c5a0eafa6cbc3fc7ade6a968c
parent9beb83868fa3cdaff7eeccc1cc7afc31188e0b03 (diff)
downloadstrongswan-72e2faf291f9866d27bf8b07c40f01dd7bb9434d.tar.bz2
strongswan-72e2faf291f9866d27bf8b07c40f01dd7bb9434d.tar.xz
Convert empty CREATE_CHILD_SA exchange to an INFORMATIONAL
-rw-r--r--src/charon/sa/tasks/child_rekey.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/charon/sa/tasks/child_rekey.c b/src/charon/sa/tasks/child_rekey.c
index b08e1a34d..ff018d3f3 100644
--- a/src/charon/sa/tasks/child_rekey.c
+++ b/src/charon/sa/tasks/child_rekey.c
@@ -135,7 +135,9 @@ static status_t build_i(private_child_rekey_t *this, message_t *message)
this->child_sa = this->ike_sa->get_child_sa(this->ike_sa, this->protocol,
this->spi, FALSE);
if (!this->child_sa)
- { /* CHILD_SA is gone, unable to rekey */
+ { /* CHILD_SA is gone, unable to rekey. As an empty CREATE_CHILD_SA
+ * exchange is invalid, we fall back to an INFORMATIONAL exchange.*/
+ message->set_exchange_type(message, INFORMATIONAL);
return SUCCESS;
}
/* we work only with the inbound SPI */