aboutsummaryrefslogtreecommitdiffstats
path: root/src/charon/threads/stroke_interface.c
diff options
context:
space:
mode:
authorAndreas Steffen <andreas.steffen@strongswan.org>2006-06-20 06:05:01 +0000
committerAndreas Steffen <andreas.steffen@strongswan.org>2006-06-20 06:05:01 +0000
commit21b433c64181a9ba25a558745a5850fe0ff32eb0 (patch)
treefdd7f3f4b4cc6902415b14dea6aa154a65227abf /src/charon/threads/stroke_interface.c
parentdb959e6ea364122140f5531958f59b096356d764 (diff)
downloadstrongswan-21b433c64181a9ba25a558745a5850fe0ff32eb0.tar.bz2
strongswan-21b433c64181a9ba25a558745a5850fe0ff32eb0.tar.xz
implemented rereadcrls rereadcacerts
Diffstat (limited to 'src/charon/threads/stroke_interface.c')
-rwxr-xr-xsrc/charon/threads/stroke_interface.c27
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");
}