diff options
author | Andreas Steffen <andreas.steffen@strongswan.org> | 2006-06-20 06:05:01 +0000 |
---|---|---|
committer | Andreas Steffen <andreas.steffen@strongswan.org> | 2006-06-20 06:05:01 +0000 |
commit | 21b433c64181a9ba25a558745a5850fe0ff32eb0 (patch) | |
tree | fdd7f3f4b4cc6902415b14dea6aa154a65227abf /src/charon/threads/stroke_interface.c | |
parent | db959e6ea364122140f5531958f59b096356d764 (diff) | |
download | strongswan-21b433c64181a9ba25a558745a5850fe0ff32eb0.tar.bz2 strongswan-21b433c64181a9ba25a558745a5850fe0ff32eb0.tar.xz |
implemented rereadcrls rereadcacerts
Diffstat (limited to 'src/charon/threads/stroke_interface.c')
-rwxr-xr-x | src/charon/threads/stroke_interface.c | 27 |
1 files changed, 24 insertions, 3 deletions
diff --git a/src/charon/threads/stroke_interface.c b/src/charon/threads/stroke_interface.c index 1dc45fed4..6a86edbe9 100755 --- a/src/charon/threads/stroke_interface.c +++ b/src/charon/threads/stroke_interface.c @@ -414,7 +414,8 @@ static void stroke_add_conn(private_stroke_t *this, stroke_msg_t *msg) proposal = proposal_create_from_string(PROTO_ESP, proposal_string); if (proposal == NULL) { - this->logger->log(this->logger, ERROR, "invalid ESP proposal string: %s", msg->add_conn.algorithms.esp); + this->logger->log(this->logger, ERROR, + "invalid ESP proposal string: %s", msg->add_conn.algorithms.esp); policy->destroy(policy); connection->destroy(connection); return; @@ -494,13 +495,15 @@ static void stroke_initiate(private_stroke_t *this, stroke_msg_t *msg) ike_sas = charon->ike_sa_manager->get_ike_sa_list_by_name(charon->ike_sa_manager, msg->initiate.name); if (ike_sas->get_count(ike_sas) == 0) { - this->stroke_logger->log(this->stroke_logger, CONTROL, "initiating connection \"%s\" (see log)...", msg->initiate.name); + this->stroke_logger->log(this->stroke_logger, CONTROL, + "initiating connection \"%s\" (see log)...", msg->initiate.name); job = initiate_ike_sa_job_create(connection); charon->job_queue->add(charon->job_queue, (job_t*)job); } else { - this->stroke_logger->log(this->stroke_logger, CONTROL, "connection \"%s\" already up", msg->initiate.name); + this->stroke_logger->log(this->stroke_logger, CONTROL, + "connection \"%s\" already up", msg->initiate.name); } while (ike_sas->remove_last(ike_sas, (void**)&ike_sa_id) == SUCCESS) { @@ -601,6 +604,21 @@ static void stroke_list(private_stroke_t *this, stroke_msg_t *msg) } } +/** + * reread various information + */ +static void stroke_reread(private_stroke_t *this, stroke_msg_t *msg) +{ + if (msg->reread.flags & REREAD_CACERTS) + { + charon->credentials->load_ca_certificates(charon->credentials, CA_CERTIFICATE_DIR); + } + if (msg->reread.flags & REREAD_CRLS) + { + charon->credentials->load_crls(charon->credentials, CRL_DIR); + } +} + logger_context_t get_context(char *context) { if (strcasecmp(context, "ALL") == 0) return ALL_LOGGERS; @@ -797,6 +815,9 @@ static void stroke_receive(private_stroke_t *this) case STR_LIST: stroke_list(this, msg); break; + case STR_REREAD: + stroke_reread(this, msg); + break; default: this->logger->log(this->logger, ERROR, "received invalid stroke"); } |