diff options
Diffstat (limited to 'src/libcharon/plugins/vici')
-rw-r--r-- | src/libcharon/plugins/vici/vici_control.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/libcharon/plugins/vici/vici_control.c b/src/libcharon/plugins/vici/vici_control.c index 94bb2eecb..73e5c662c 100644 --- a/src/libcharon/plugins/vici/vici_control.c +++ b/src/libcharon/plugins/vici/vici_control.c @@ -197,7 +197,7 @@ CALLBACK(initiate, vici_message_t*, host_t *my_host = NULL, *other_host = NULL; char *child, *ike, *my_host_str, *other_host_str; int timeout; - bool limits; + bool limits, async; controller_cb_t log_cb = NULL; log_info_t log = { .dispatcher = this->dispatcher, @@ -208,6 +208,7 @@ CALLBACK(initiate, vici_message_t*, ike = request->get_str(request, NULL, "ike"); 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"); @@ -216,7 +217,7 @@ CALLBACK(initiate, vici_message_t*, { return send_reply(this, "missing configuration name"); } - if (timeout >= 0) + if (timeout >= 0 && !async) { log_cb = (controller_cb_t)log_vici; } |