From e70d5576fa89e62ef7499e7398e5dc07739921c1 Mon Sep 17 00:00:00 2001 From: Martin Willi Date: Tue, 20 Mar 2007 14:56:41 +0000 Subject: [PATCH] fixed statusall rekey time jitter bug (again) --- src/charon/sa/child_sa.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/charon/sa/child_sa.c b/src/charon/sa/child_sa.c index ea7590cebb..19131389d9 100644 --- a/src/charon/sa/child_sa.c +++ b/src/charon/sa/child_sa.c @@ -128,6 +128,11 @@ struct private_child_sa_t { */ time_t install_time; + /** + * absolute time when rekeying is sceduled + */ + time_t rekey_time; + /** * state of the CHILD_SA */ @@ -537,6 +542,7 @@ static status_t install(private_child_sa_t *this, proposal_t *proposal, this->encryption = *enc_algo; this->integrity = *int_algo; this->install_time = time(NULL); + this->rekey_time = soft; return status; } @@ -743,7 +749,7 @@ static int print(FILE *stream, const struct printf_info *info, private_child_sa_t *this = *((private_child_sa_t**)(args[0])); iterator_t *iterator; sa_policy_t *policy; - u_int32_t now, rekeying, soft; + u_int32_t now, rekeying; u_int32_t use, use_in, use_fwd; status_t status; size_t written = 0; @@ -792,11 +798,10 @@ static int print(FILE *stream, const struct printf_info *info, } written += fprintf(stream, ", rekeying "); - soft = this->policy->get_soft_lifetime(this->policy); /* calculate rekey times */ - if (soft) + if (this->rekey_time) { - rekeying = this->install_time + soft - now; + rekeying = this->install_time + this->rekey_time - now; written += fprintf(stream, "in %ds", rekeying); } else -- 2.47.2