fixed retransmission policy for responder

This commit is contained in:
Martin Willi
2006-09-25 07:24:08 +00:00
parent 397f344879
commit 1ce2ad09c3
3 changed files with 9 additions and 9 deletions
+5 -4
View File
@@ -300,11 +300,12 @@ static void set_name(private_ike_sa_t *this, char* name)
} }
/** /**
* Implementation of ike_sa_t.set_dpd_delay. * Implementation of ike_sa_t.apply_connection.
*/ */
static void set_dpd_delay(private_ike_sa_t *this, u_int32_t delay) static void apply_connection(private_ike_sa_t *this, connection_t *connection)
{ {
this->dpd_delay = delay; this->dpd_delay = connection->get_dpd_delay(connection);
this->retrans_sequences = connection->get_retrans_seq(connection);
} }
/** /**
@@ -2058,7 +2059,7 @@ ike_sa_t * ike_sa_create(ike_sa_id_t *ike_sa_id)
this->public.enable_natt = (void(*)(ike_sa_t*, bool)) enable_natt; this->public.enable_natt = (void(*)(ike_sa_t*, bool)) enable_natt;
this->public.is_natt_enabled = (bool(*)(ike_sa_t*)) is_natt_enabled; this->public.is_natt_enabled = (bool(*)(ike_sa_t*)) is_natt_enabled;
this->public.set_lifetimes = (void(*)(ike_sa_t*,u_int32_t,u_int32_t))set_lifetimes; this->public.set_lifetimes = (void(*)(ike_sa_t*,u_int32_t,u_int32_t))set_lifetimes;
this->public.set_dpd_delay = (void(*)(ike_sa_t*,u_int32_t))set_dpd_delay; this->public.apply_connection = (void(*)(ike_sa_t*,connection_t*))apply_connection;
this->public.rekey = (status_t(*)(ike_sa_t*))rekey; this->public.rekey = (status_t(*)(ike_sa_t*))rekey;
this->public.get_rekeying_transaction = (void*(*)(ike_sa_t*))get_rekeying_transaction; this->public.get_rekeying_transaction = (void*(*)(ike_sa_t*))get_rekeying_transaction;
this->public.set_rekeying_transaction = (void(*)(ike_sa_t*,void*))set_rekeying_transaction; this->public.set_rekeying_transaction = (void(*)(ike_sa_t*,void*))set_rekeying_transaction;
+3 -3
View File
@@ -371,12 +371,12 @@ struct ike_sa_t {
void (*enable_natt) (ike_sa_t *this, bool local); void (*enable_natt) (ike_sa_t *this, bool local);
/** /**
* @brief Set the delay before starting a DPD check in case of inactivity. * @brief Apply connection parameters for this IKE_SA.
* *
* @param this calling object * @param this calling object
* @param delay dpd delay in seconds * @param connection connection definition
*/ */
void (*set_dpd_delay) (ike_sa_t *this, u_int32_t delay); void (*apply_connection) (ike_sa_t *this, connection_t *connection);
/** /**
* @brief Sends a DPD request to the peer. * @brief Sends a DPD request to the peer.
+1 -2
View File
@@ -581,8 +581,7 @@ static status_t get_response(private_ike_sa_init_t *this,
{ {
this->ike_sa->set_name(this->ike_sa, name); this->ike_sa->set_name(this->ike_sa, name);
} }
this->ike_sa->set_dpd_delay(this->ike_sa, this->ike_sa->apply_connection(this->ike_sa, this->connection);
this->connection->get_dpd_delay(this->connection));
/* Precompute NAT-D hashes for incoming NAT notify comparison */ /* Precompute NAT-D hashes for incoming NAT notify comparison */
ike_sa_id = request->get_ike_sa_id(request); ike_sa_id = request->get_ike_sa_id(request);