From a2875525ae6bc000cbd4f877f4957e2f258ac16e Mon Sep 17 00:00:00 2001 From: Martin Willi Date: Wed, 16 Apr 2014 14:55:43 +0200 Subject: [PATCH] swanctl: List local and remote addresses in list-conns --- src/swanctl/commands/list_conns.c | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/src/swanctl/commands/list_conns.c b/src/swanctl/commands/list_conns.c index 9eae557a42..4a7cd3583b 100644 --- a/src/swanctl/commands/list_conns.c +++ b/src/swanctl/commands/list_conns.c @@ -135,12 +135,29 @@ CALLBACK(conn_sn, int, return ret; } +CALLBACK(conn_list, int, + hashtable_t *sa, vici_res_t *res, char *name, void *value, int len) +{ + if (chunk_printable(chunk_create(value, len), NULL, ' ')) + { + if (streq(name, "local_addrs")) + { + printf(" local: %.*s\n", len, value); + } + if (streq(name, "remote_addrs")) + { + printf(" remote: %.*s\n", len, value); + } + } + return 0; +} + CALLBACK(conns, int, void *null, vici_res_t *res, char *name) { printf("%s: %s\n", name, vici_find_str(res, "", "%s.version", name)); - return vici_parse_cb(res, conn_sn, NULL, NULL, NULL); + return vici_parse_cb(res, conn_sn, NULL, conn_list, NULL); } CALLBACK(list_cb, void, -- 2.47.2