ikev1: Allow immediate deletion of rekeyed CHILD_SAs
authorTobias Brunner <tobias@strongswan.org>
Wed, 17 Feb 2016 16:31:51 +0000 (17:31 +0100)
committerTobias Brunner <tobias@strongswan.org>
Thu, 3 Mar 2016 16:28:03 +0000 (17:28 +0100)
commit2f3c08d268a6ead9e7d9e74b523600d76e3e5722
tree92c5feb3413000eec81b7e2777875ecaaaf92b34
parent904f93f65562fef83c945348e02fa24600a510ec
ikev1: Allow immediate deletion of rekeyed CHILD_SAs

When charon rekeys a CHILD_SA after a soft limit expired, it is only
deleted after the hard limit is reached.  In case of packet/byte limits
this may not be the case for a long time since the packets/bytes are
usually sent using the new SA.  This may result in a very large number of
stale CHILD_SAs and kernel states.  With enough connections configured this
will ultimately exhaust the memory of the system.

This patch adds a strongswan.conf setting that, if enabled, causes the old
CHILD_SA to be deleted by the initiator after a successful rekeying.

Enabling this setting might create problems with implementations that
continue to use rekeyed SAs (e.g. if the DELETE notify is lost).
conf/options/charon.opt
src/libcharon/sa/ikev1/tasks/quick_mode.c