implemented RFC4478 (repeated authentication)

changed %V printf handler to take a time delta, %#V now takes two arguments
This commit is contained in:
Martin Willi
2007-11-20 12:06:40 +00:00
parent 7b36b734a4
commit ee61471113
17 changed files with 382 additions and 162 deletions
+36 -9
View File
@@ -29,6 +29,7 @@
typedef enum ike_extension_t ike_extension_t;
typedef enum ike_condition_t ike_condition_t;
typedef enum ike_sa_state_t ike_sa_state_t;
typedef enum statistic_t statistic_t;
typedef struct ike_sa_t ike_sa_t;
#include <library.h>
@@ -115,9 +116,25 @@ enum ike_condition_t {
COND_NAT_FAKE = (1<<3),
/**
* peer is currently not reachable (due missing route, ...)
* peer has ben authenticated using EAP
*/
COND_STALE = (1<<4),
COND_EAP_AUTHENTICATED = (1<<4),
};
/**
* Information and statistics to query from an SA
*/
enum statistic_t {
/**
* Relative time for scheduled rekeying
*/
STAT_REKEY_TIME,
/**
* Relative time for scheduled reauthentication
*/
STAT_REAUTH_TIME,
};
/**
@@ -233,13 +250,6 @@ struct ike_sa_t {
*/
ike_sa_state_t (*get_state) (ike_sa_t *this);
/**
* @brief Get some statistics about this IKE_SA.
*
* @param next_rekeying when the next rekeying is scheduled
*/
void (*get_stats)(ike_sa_t *this, u_int32_t *next_rekeying);
/**
* @brief Set the state of the IKE_SA.
*
@@ -256,6 +266,15 @@ struct ike_sa_t {
*/
char* (*get_name) (ike_sa_t *this);
/**
* @brief Get statistic values from the IKE_SA.
*
* @param this calling object
* @param kind kind of requested value
* @return value as integer
*/
u_int32_t (*get_statistic)(ike_sa_t *this, statistic_t kind);
/**
* @brief Get the own host address.
*
@@ -845,6 +864,14 @@ struct ike_sa_t {
*/
status_t (*reestablish) (ike_sa_t *this);
/**
* @brief Set the lifetime limit received from a AUTH_LIFETIME notify.
*
* @param this calling object
* @param lifetime lifetime in seconds
*/
void (*set_auth_lifetime)(ike_sa_t *this, u_int32_t lifetime);
/**
* @brief Set the virtual IP to use for this IKE_SA and its children.
*