aboutsummaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorVANHULLEBUS Yvan <vanhu@FreeBSD.org>2009-03-23 20:37:37 +0000
committerVANHULLEBUS Yvan <vanhu@FreeBSD.org>2009-03-23 20:37:37 +0000
commit9bc0d3095a112d1d0f15793c2f82c31ed604c774 (patch)
treea758964a760d2fcd81c23502eaca80b0e82966ce /sys
parent0cd2926f896cd9efb2de336a31c0f8a4ca90f301 (diff)
Notes
Diffstat (limited to 'sys')
-rw-r--r--sys/netipsec/key.c26
1 files changed, 12 insertions, 14 deletions
diff --git a/sys/netipsec/key.c b/sys/netipsec/key.c
index dbe7b59f9bdf..45625e200c0d 100644
--- a/sys/netipsec/key.c
+++ b/sys/netipsec/key.c
@@ -4109,22 +4109,20 @@ key_flush_sad(time_t now)
/* check SOFT lifetime */
if (sav->lft_s->addtime != 0 &&
now - sav->created > sav->lft_s->addtime) {
- /*
- * check SA to be used whether or not.
- * when SA hasn't been used, delete it.
+ key_sa_chgstate(sav, SADB_SASTATE_DYING);
+ /*
+ * Actually, only send expire message if
+ * SA has been used, as it was done before,
+ * but should we always send such message,
+ * and let IKE daemon decide if it should be
+ * renegotiated or not ?
+ * XXX expire message will actually NOT be
+ * sent if SA is only used after soft
+ * lifetime has been reached, see below
+ * (DYING state)
*/
- if (sav->lft_c->usetime == 0) {
- key_sa_chgstate(sav, SADB_SASTATE_DEAD);
- KEY_FREESAV(&sav);
- } else {
- key_sa_chgstate(sav, SADB_SASTATE_DYING);
- /*
- * XXX If we keep to send expire
- * message in the status of
- * DYING. Do remove below code.
- */
+ if (sav->lft_c->usetime != 0)
key_expire(sav);
- }
}
/* check SOFT lifetime by bytes */
/*