aboutsummaryrefslogtreecommitdiffstats
path: root/src/charon/sa/tasks/child_rekey.c
diff options
context:
space:
mode:
authorMartin Willi <martin@strongswan.org>2007-04-19 08:02:19 +0000
committerMartin Willi <martin@strongswan.org>2007-04-19 08:02:19 +0000
commit1fd5383e61d82d3dbb5b9d3087290f0741b147e6 (patch)
treeaeef2b3ca5a8bc1cbbce731d877c2464a3887d40 /src/charon/sa/tasks/child_rekey.c
parent41ab00da6bf977cba823d29fc087e8fa508d94f8 (diff)
downloadstrongswan-1fd5383e61d82d3dbb5b9d3087290f0741b147e6.tar.bz2
strongswan-1fd5383e61d82d3dbb5b9d3087290f0741b147e6.tar.xz
added PDF support for CHILD_SAs
support for INVALID_KE_PAYLOAD negotiation for rekeying
Diffstat (limited to 'src/charon/sa/tasks/child_rekey.c')
-rw-r--r--src/charon/sa/tasks/child_rekey.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/charon/sa/tasks/child_rekey.c b/src/charon/sa/tasks/child_rekey.c
index 1621357cc..4f3c69034 100644
--- a/src/charon/sa/tasks/child_rekey.c
+++ b/src/charon/sa/tasks/child_rekey.c
@@ -183,7 +183,12 @@ static status_t process_i(private_child_rekey_t *this, message_t *message)
u_int32_t spi;
child_sa_t *to_delete;
- this->child_create->task.process(&this->child_create->task, message);
+ if (this->child_create->task.process(&this->child_create->task, message) == NEED_MORE)
+ {
+ /* bad DH group while rekeying, try again */
+ this->child_create->task.migrate(&this->child_create->task, this->ike_sa);
+ return NEED_MORE;
+ }
if (message->get_payload(message, SECURITY_ASSOCIATION) == NULL)
{
/* establishing new child failed, reuse old. but not when we