diff options
-rw-r--r-- | src/swanctl/commands/list_conns.c | 8 | ||||
-rwxr-xr-x | testing/tests/swanctl/manual-prio/hosts/moon/etc/swanctl/swanctl.conf | 1 |
2 files changed, 6 insertions, 3 deletions
diff --git a/src/swanctl/commands/list_conns.c b/src/swanctl/commands/list_conns.c index 6167a45da..19e7050da 100644 --- a/src/swanctl/commands/list_conns.c +++ b/src/swanctl/commands/list_conns.c @@ -83,7 +83,7 @@ CALLBACK(children_sn, int, hashtable_t *ike, vici_res_t *res, char *name) { hashtable_t *child; - char *interface, *priority; + char *mode, *interface, *priority; char *rekey_time, *rekey_bytes, *rekey_packets; bool no_time, no_bytes, no_packets, or = FALSE; int ret; @@ -92,7 +92,8 @@ CALLBACK(children_sn, int, ret = vici_parse_cb(res, NULL, values, list, child); if (ret == 0) { - printf(" %s: %s, ", name, child->get(child, "mode")); + mode = child->get(child, "mode"); + printf(" %s: %s, ", name, mode); rekey_time = child->get(child, "rekey_time"); rekey_bytes = child->get(child, "rekey_bytes"); @@ -101,7 +102,8 @@ CALLBACK(children_sn, int, no_bytes = streq(rekey_bytes, "0"); no_packets = streq(rekey_packets, "0"); - if (no_time && no_bytes && no_packets) + if (strcaseeq(mode, "PASS") || strcaseeq(mode, "DROP") || + (no_time && no_bytes && no_packets)) { printf("no rekeying\n"); } diff --git a/testing/tests/swanctl/manual-prio/hosts/moon/etc/swanctl/swanctl.conf b/testing/tests/swanctl/manual-prio/hosts/moon/etc/swanctl/swanctl.conf index 3e8464cb9..53883f79d 100755 --- a/testing/tests/swanctl/manual-prio/hosts/moon/etc/swanctl/swanctl.conf +++ b/testing/tests/swanctl/manual-prio/hosts/moon/etc/swanctl/swanctl.conf @@ -25,6 +25,7 @@ connections { } shunts { + rekey_time = 0 children { drop-eth0-default { |