diff options
author | Jan Hutter <jhutter@hsr.ch> | 2005-12-02 11:38:56 +0000 |
---|---|---|
committer | Jan Hutter <jhutter@hsr.ch> | 2005-12-02 11:38:56 +0000 |
commit | ae3012a0ea0e06e29212f1967b5b71e90460fb43 (patch) | |
tree | a4c055426b079946c4e803fd5534e56b79a41323 /Source/charon/threads | |
parent | 2848a7ba33ee0158c9dfee383c3ea8be02060f7e (diff) | |
download | strongswan-ae3012a0ea0e06e29212f1967b5b71e90460fb43.tar.bz2 strongswan-ae3012a0ea0e06e29212f1967b5b71e90460fb43.tar.xz |
- added notify message handling to ike_sa_init_requested_t and
responder_init_t
Diffstat (limited to 'Source/charon/threads')
-rw-r--r-- | Source/charon/threads/thread_pool.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/Source/charon/threads/thread_pool.c b/Source/charon/threads/thread_pool.c index 661d0fdb7..f6f5278f5 100644 --- a/Source/charon/threads/thread_pool.c +++ b/Source/charon/threads/thread_pool.c @@ -182,7 +182,9 @@ static void process_incoming_packet_job(private_thread_pool_t *this, incoming_pa this->worker_logger->log(this->worker_logger, ERROR, "IKE version %d.%d not supported", message->get_major_version(message), message->get_minor_version(message)); - /* Todo send notify */ + /* + * TODO send notify reply of type INVALID_MAJOR_VERSION + */ } message->get_ike_sa_id(message, &ike_sa_id); @@ -200,16 +202,22 @@ static void process_incoming_packet_job(private_thread_pool_t *this, incoming_pa this->worker_logger->log(this->worker_logger, ERROR, "IKE SA could not be checked out"); ike_sa_id->destroy(ike_sa_id); message->destroy(message); + + /* + * TODO send notify reply of type INVALID_IKE_SPI if SPI could not be found + */ + return; } status = ike_sa->process_message(ike_sa, message); - if (status != SUCCESS) + if ((status != SUCCESS) && (status != DELETE_ME)) { this->worker_logger->log(this->worker_logger, ERROR, "message could not be processed by IKE SA"); } - this->worker_logger->log(this->worker_logger, CONTROL|MOST, "checking in IKE SA %lld:%lld, role %s", + this->worker_logger->log(this->worker_logger, CONTROL|MOST, "%s IKE SA %lld:%lld, role %s", + (status == DELETE_ME) ? "Checkin and delete" : "Checkin", ike_sa_id->get_initiator_spi(ike_sa_id), ike_sa_id->get_responder_spi(ike_sa_id), ike_sa_id->is_initiator(ike_sa_id) ? "initiator" : "responder"); |