From 21efa8dbe5aab423b452277d6aa70f9c14e2f440 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20Ter=C3=A4s?= Date: Thu, 28 May 2015 13:06:51 +0300 Subject: [PATCH] vici: support asynchronous initiation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Timo Teräs --- src/libcharon/plugins/vici/vici_control.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/libcharon/plugins/vici/vici_control.c b/src/libcharon/plugins/vici/vici_control.c index 55f667b..da2b68f 100644 --- a/src/libcharon/plugins/vici/vici_control.c +++ b/src/libcharon/plugins/vici/vici_control.c @@ -187,7 +187,7 @@ CALLBACK(initiate, vici_message_t*, host_t *my_host = NULL, *other_host = NULL; char *child, *my_host_str, *other_host_str; u_int timeout; - bool limits; + bool limits, async; log_info_t log = { .dispatcher = this->dispatcher, .id = id, @@ -196,6 +196,7 @@ CALLBACK(initiate, vici_message_t*, child = request->get_str(request, NULL, "child"); timeout = request->get_int(request, 0, "timeout"); limits = request->get_bool(request, FALSE, "init-limits"); + async = request->get_bool(request, FALSE, "async"); log.level = request->get_int(request, 1, "loglevel"); my_host_str = request->get_str(request, NULL, "my-host"); other_host_str = request->get_str(request, NULL, "other-host"); @@ -224,7 +225,8 @@ CALLBACK(initiate, vici_message_t*, } switch (charon->controller->initiate(charon->controller, peer_cfg, child_cfg, my_host, other_host, - (controller_cb_t)log_vici, &log, timeout, limits)) + async ? NULL : (controller_cb_t)log_vici, + &log, timeout, limits)) { case SUCCESS: msg = send_reply(this, NULL); -- 2.4.6