From: Martin Willi Date: Wed, 16 Apr 2014 12:55:43 +0000 (+0200) Subject: swanctl: List local and remote addresses in list-conns X-Git-Tag: 5.2.0dr3~8^2~12 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a2875525ae6bc000cbd4f877f4957e2f258ac16e;p=thirdparty%2Fstrongswan.git swanctl: List local and remote addresses in list-conns --- 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,