aboutsummaryrefslogtreecommitdiffstats
path: root/Source
diff options
context:
space:
mode:
Diffstat (limited to 'Source')
-rw-r--r--Source/charon/config/sa_config.h18
1 files changed, 16 insertions, 2 deletions
diff --git a/Source/charon/config/sa_config.h b/Source/charon/config/sa_config.h
index d6bd15290..060d3fcae 100644
--- a/Source/charon/config/sa_config.h
+++ b/Source/charon/config/sa_config.h
@@ -54,6 +54,7 @@ struct child_proposal_t {
size_t integrity_algorithm_key_size;
diffie_hellman_group_t diffie_hellman_group;
extended_sequence_numbers_t extended_sequence_numbers;
+ u_int8_t spi[4];
} ah;
/**
@@ -67,6 +68,7 @@ struct child_proposal_t {
size_t integrity_algorithm_key_size;
diffie_hellman_group_t diffie_hellman_group;
extended_sequence_numbers_t extended_sequence_numbers;
+ u_int8_t spi[4];
} esp;
};
@@ -85,6 +87,18 @@ struct traffic_selector_t {
* Protocol for which this ts applies (TCP/UDP/ICMP)
*/
u_int8_t protocol;
+
+ union {
+ struct {
+
+
+ } ipv4;
+ struct {
+ /* ipv6 support */
+ } ipv6;
+
+ };
+
/**
* Start address and port for allowed range
*/
@@ -167,7 +181,7 @@ struct sa_config_t {
* @param[out]traffic_selectors pointer where proposals will be allocated
* @return number of allocated proposals
*/
- size_t (*get_proposals) (sa_config_t *this, child_proposal_t **proposals);
+ size_t (*get_proposals) (sa_config_t *this, u_int8_t ah_spi[4], u_int8_t esp_spi[4], child_proposal_t **proposals);
/**
* @brief Select a proposal from a supplied list
@@ -179,7 +193,7 @@ struct sa_config_t {
* @param count number of proposals stored at supplied
* @return the selected proposal
*/
- child_proposal_t* (*select_proposal) (sa_config_t *this, child_proposal_t *supplied, size_t count);
+ child_proposal_t* (*select_proposal) (sa_config_t *this, u_int8_t ah_spi[4], u_int8_t esp_spi[4], child_proposal_t *supplied, size_t count);
/**
* @brief Add a traffic selector to the list.