ike-rekey: Handle undetected collisions also if delete is delayed
authorTobias Brunner <tobias@strongswan.org>
Tue, 31 May 2016 12:41:19 +0000 (14:41 +0200)
committerTobias Brunner <tobias@strongswan.org>
Fri, 17 Jun 2016 16:48:06 +0000 (18:48 +0200)
commitf67199378df96b330ec5dbf35abd44a0cfb5efa1
tree96eaae0babc2addd0f15e4465bc0bcf0510c1495
parent74265761844810985615ff2243145d53408c9b69
ike-rekey: Handle undetected collisions also if delete is delayed

If the peer does not detect the rekey collision and deletes the old
IKE_SA and then receives the colliding rekey request it will respond with
TEMPORARY_FAILURE.  That notify may arrive before the DELETE does, in
which case we may just conclude the rekeying initiated by the peer.

Also, since the IKE_SA is destroyed in any case when we receive a delete
there is no point in storing the delete task in collide() as process_i()
in the ike-rekey task will never be called.
src/libcharon/sa/ikev2/tasks/ike_rekey.c