From 483a258ad81c65e85a44b98691d9d29efb23e5da Mon Sep 17 00:00:00 2001 From: Martin Willi Date: Wed, 5 Jun 2013 11:43:19 +0200 Subject: [PATCH] stroke: support %dynamic in left/rightsubnet for dynamic selectors This has the same meaning as omitting left/rightsubnet, i.e. replace it by the IKE address. Supporting %dynamic allows configurations with multiple dynamic selectors in a left/rightsubnet, each with potentially different proto/port selectors. --- src/libcharon/plugins/stroke/stroke_config.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/libcharon/plugins/stroke/stroke_config.c b/src/libcharon/plugins/stroke/stroke_config.c index 9db9e01fda..64af5bb9cb 100644 --- a/src/libcharon/plugins/stroke/stroke_config.c +++ b/src/libcharon/plugins/stroke/stroke_config.c @@ -1020,8 +1020,16 @@ static void add_ts(private_stroke_config_t *this, continue; } } - ts = traffic_selector_create_from_cidr(subnet, proto, - from_port, to_port); + if (streq(subnet, "%dynamic")) + { + ts = traffic_selector_create_dynamic(proto, + from_port, to_port); + } + else + { + ts = traffic_selector_create_from_cidr(subnet, proto, + from_port, to_port); + } if (ts) { child_cfg->add_traffic_selector(child_cfg, local, ts); -- 2.47.3