implement proper handling of most simultaneous IKE_SA rekeying cases
This commit is contained in:
1 parent
c3f97102f1
commit
3183006de2
8 files changed
+288
-57
No files matched your search
@@ -256,6 +256,17 @@ static status_t get_response(private_delete_child_sa_t *this, message_t *request
|
||||
return FAILED;
|
||||
}
|
||||
|
||||
/* we can't handle a delete for a CHILD when we are rekeying. There
|
||||
* is no proper solution for this. We send a empty informational response,
|
||||
* as described in ikev2-clarifications draft */
|
||||
if (this->ike_sa->get_state(this->ike_sa) == IKE_REKEYING ||
|
||||
this->ike_sa->get_state(this->ike_sa) == IKE_DELETING)
|
||||
{
|
||||
this->logger->log(this->logger, AUDIT,
|
||||
"unable to delete CHILD_SA, as rekeying in progress");
|
||||
return FAILED;
|
||||
}
|
||||
|
||||
/* iterate over all payloads */
|
||||
payloads = request->get_payload_iterator(request);
|
||||
while (payloads->has_next(payloads))
|
||||
|
||||
Reference in new issue
Block a user