initial support for IPv6 (more testing needed)

socket works (without v6 filter)
  traffic selector handle IPv4/v4 cleanly
    improvements in traffic selector code
  kernel interface accepts v6 traffic selectors and hosts
  host_t class has full IPv6 support
This commit is contained in:
Martin Willi
2006-08-30 17:12:56 +00:00
parent 51d4876814
commit 48d9883a3e
16 changed files with 1075 additions and 375 deletions
+3 -3
View File
@@ -1784,13 +1784,13 @@ static status_t delete_(private_ike_sa_t *this)
case IKE_ESTABLISHED:
{
delete_ike_sa_t *delete_ike_sa;
delete_ike_sa = delete_ike_sa_create(&this->public);
if (this->transaction_out)
{
/* already a transaction in progress. As this may hang
* around a while, we don't inform the other peer. */
return DESTROY_ME;
}
delete_ike_sa = delete_ike_sa_create(&this->public);
return queue_transaction(this, (transaction_t*)delete_ike_sa, FALSE);
}
case IKE_CREATED:
@@ -1956,8 +1956,8 @@ ike_sa_t * ike_sa_create(ike_sa_id_t *ike_sa_id)
this->ike_sa_id = ike_sa_id->clone(ike_sa_id);
this->name = strdup("(uninitialized)");
this->child_sas = linked_list_create();
this->my_host = host_create(AF_INET, "0.0.0.0", 0);
this->other_host = host_create(AF_INET, "0.0.0.0", 0);
this->my_host = host_create_from_string("0.0.0.0", 0);
this->other_host = host_create_from_string("0.0.0.0", 0);
this->my_id = identification_create_from_encoding(ID_ANY, CHUNK_INITIALIZER);
this->other_id = identification_create_from_encoding(ID_ANY, CHUNK_INITIALIZER);
this->crypter_in = NULL;
+2
View File
@@ -375,6 +375,8 @@ static status_t get_request(private_ike_sa_init_t *this, message_t **result)
list = charon->socket->create_local_address_list(charon->socket);
while (list->remove_first(list, (void**)&host) == SUCCESS)
{
/* TODO: should we only include NAT payloads for addresses
* of used address family? */
notify = build_natd_payload(this, NAT_DETECTION_SOURCE_IP, host);
host->destroy(host);
request->add_payload(request, (payload_t*)notify);