- uses for some things config_manager
This commit is contained in:
+22
-2
@@ -166,12 +166,25 @@ static status_t initialize_connection(private_ike_sa_t *this, char *name)
|
|||||||
message_t *message;
|
message_t *message;
|
||||||
payload_t *payload;
|
payload_t *payload;
|
||||||
packet_t *packet;
|
packet_t *packet;
|
||||||
|
host_t *source, *destination;
|
||||||
status_t status;
|
status_t status;
|
||||||
|
|
||||||
this->logger->log(this->logger, CONTROL, "initializing connection");
|
this->logger->log(this->logger, CONTROL, "initializing connection");
|
||||||
|
|
||||||
this->original_initiator = TRUE;
|
this->original_initiator = TRUE;
|
||||||
|
|
||||||
|
status = global_configuration_manager->get_local_host(global_configuration_manager, name, &source);
|
||||||
|
if (status != SUCCESS)
|
||||||
|
{
|
||||||
|
return INVALID_ARG;
|
||||||
|
}
|
||||||
|
|
||||||
|
status = global_configuration_manager->get_remote_host(global_configuration_manager, name, &destination);
|
||||||
|
if (status != SUCCESS)
|
||||||
|
{
|
||||||
|
return INVALID_ARG;
|
||||||
|
}
|
||||||
|
|
||||||
message = message_create();
|
message = message_create();
|
||||||
|
|
||||||
if (message == NULL)
|
if (message == NULL)
|
||||||
@@ -180,6 +193,9 @@ static status_t initialize_connection(private_ike_sa_t *this, char *name)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
message->set_source(message, source);
|
||||||
|
message->set_destination(message, destination);
|
||||||
|
|
||||||
message->set_exchange_type(message, IKE_SA_INIT);
|
message->set_exchange_type(message, IKE_SA_INIT);
|
||||||
message->set_original_initiator(message, this->original_initiator);
|
message->set_original_initiator(message, this->original_initiator);
|
||||||
message->set_message_id(message, 0);
|
message->set_message_id(message, 0);
|
||||||
@@ -189,6 +205,7 @@ static status_t initialize_connection(private_ike_sa_t *this, char *name)
|
|||||||
status = this->build_sa_payload(this, (sa_payload_t**)&payload);
|
status = this->build_sa_payload(this, (sa_payload_t**)&payload);
|
||||||
if (status != SUCCESS)
|
if (status != SUCCESS)
|
||||||
{
|
{
|
||||||
|
this->logger->log(this->logger, ERROR, "Could not build SA payload");
|
||||||
message->destroy(message);
|
message->destroy(message);
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
@@ -198,6 +215,7 @@ static status_t initialize_connection(private_ike_sa_t *this, char *name)
|
|||||||
status = this->build_ke_payload(this, (ke_payload_t**)&payload);
|
status = this->build_ke_payload(this, (ke_payload_t**)&payload);
|
||||||
if (status != SUCCESS)
|
if (status != SUCCESS)
|
||||||
{
|
{
|
||||||
|
this->logger->log(this->logger, ERROR, "Could not build KE payload");
|
||||||
message->destroy(message);
|
message->destroy(message);
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
@@ -207,6 +225,7 @@ static status_t initialize_connection(private_ike_sa_t *this, char *name)
|
|||||||
status = this->build_nonce_payload(this, (nonce_payload_t**)&payload);
|
status = this->build_nonce_payload(this, (nonce_payload_t**)&payload);
|
||||||
if (status != SUCCESS)
|
if (status != SUCCESS)
|
||||||
{
|
{
|
||||||
|
this->logger->log(this->logger, ERROR, "Could not build NONCE payload");
|
||||||
message->destroy(message);
|
message->destroy(message);
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
@@ -216,17 +235,18 @@ static status_t initialize_connection(private_ike_sa_t *this, char *name)
|
|||||||
status = message->generate(message, &packet);
|
status = message->generate(message, &packet);
|
||||||
if (status != SUCCESS)
|
if (status != SUCCESS)
|
||||||
{
|
{
|
||||||
|
this->logger->log(this->logger, ERROR, "Could not generate message");
|
||||||
message->destroy(message);
|
message->destroy(message);
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
global_send_queue->add(global_send_queue, packet);
|
|
||||||
|
|
||||||
|
global_send_queue->add(global_send_queue, packet);
|
||||||
|
|
||||||
message->destroy(message);
|
message->destroy(message);
|
||||||
|
|
||||||
|
|
||||||
return OUT_OF_RES;
|
return SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user