aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTobias Brunner <tobias@strongswan.org>2012-09-12 18:07:41 +0200
committerTobias Brunner <tobias@strongswan.org>2012-09-12 18:13:47 +0200
commit455accc68799bbdc3cad980ae3e1e0f23c3190bb (patch)
treed9c4da97616a1b0d285b3460903a2c06e2e287d7 /src
parentfa96a350c20306da9a7785bb99b24a352b966a52 (diff)
downloadstrongswan-455accc68799bbdc3cad980ae3e1e0f23c3190bb.tar.bz2
strongswan-455accc68799bbdc3cad980ae3e1e0f23c3190bb.tar.xz
Ensure traffic selectors are dynamic before calling set_address() when deriving them
Diffstat (limited to 'src')
-rw-r--r--src/libcharon/config/child_cfg.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/libcharon/config/child_cfg.c b/src/libcharon/config/child_cfg.c
index 1598ce090..b037158d3 100644
--- a/src/libcharon/config/child_cfg.c
+++ b/src/libcharon/config/child_cfg.c
@@ -261,7 +261,7 @@ METHOD(child_cfg_t, get_traffic_selectors, linked_list_t*,
{
/* we make a copy of the TS, this allows us to update dynamic TS' */
selected = ts1->clone(ts1);
- if (host)
+ if (host && selected->is_dynamic(selected))
{
selected->set_address(selected, host);
}
@@ -280,7 +280,7 @@ METHOD(child_cfg_t, get_traffic_selectors, linked_list_t*,
{
/* we make a copy of the TS, as we have to update dynamic TS' */
ts1 = ts1->clone(ts1);
- if (host)
+ if (host && ts1->is_dynamic(ts1))
{
ts1->set_address(ts1, host);
}