diff options
author | Martin Willi <martin@revosec.ch> | 2013-02-21 11:04:35 +0100 |
---|---|---|
committer | Martin Willi <martin@revosec.ch> | 2013-02-21 11:52:33 +0100 |
commit | a1db77de7c90bb80beaf2f7a1c6c3d8a1bba12c0 (patch) | |
tree | 2c517d4287b953c1b81350f67d786f44484988d6 /src/libcharon/plugins | |
parent | c572b5c8c1c81756477a6df6148fd47c6f427020 (diff) | |
download | strongswan-a1db77de7c90bb80beaf2f7a1c6c3d8a1bba12c0.tar.bz2 strongswan-a1db77de7c90bb80beaf2f7a1c6c3d8a1bba12c0.tar.xz |
Use a complete port range in traffic_selector_create_from_{subnet,cidr}
Diffstat (limited to 'src/libcharon/plugins')
-rw-r--r-- | src/libcharon/plugins/load_tester/load_tester_config.c | 2 | ||||
-rw-r--r-- | src/libcharon/plugins/medcli/medcli_config.c | 3 | ||||
-rw-r--r-- | src/libcharon/plugins/stroke/stroke_config.c | 20 | ||||
-rw-r--r-- | src/libcharon/plugins/uci/uci_config.c | 3 | ||||
-rw-r--r-- | src/libcharon/plugins/unity/unity_handler.c | 6 |
5 files changed, 22 insertions, 12 deletions
diff --git a/src/libcharon/plugins/load_tester/load_tester_config.c b/src/libcharon/plugins/load_tester/load_tester_config.c index c6288c5d9..1033eb517 100644 --- a/src/libcharon/plugins/load_tester/load_tester_config.c +++ b/src/libcharon/plugins/load_tester/load_tester_config.c @@ -369,7 +369,7 @@ static void add_ts(char *string, child_cfg_t *cfg, bool local) if (string) { - ts = traffic_selector_create_from_cidr(string, 0, 0); + ts = traffic_selector_create_from_cidr(string, 0, 0, 65535); if (!ts) { DBG1(DBG_CFG, "parsing TS string '%s' failed", string); diff --git a/src/libcharon/plugins/medcli/medcli_config.c b/src/libcharon/plugins/medcli/medcli_config.c index 4be3dea02..73e128abe 100644 --- a/src/libcharon/plugins/medcli/medcli_config.c +++ b/src/libcharon/plugins/medcli/medcli_config.c @@ -63,7 +63,7 @@ static traffic_selector_t *ts_from_string(char *str) { traffic_selector_t *ts; - ts = traffic_selector_create_from_cidr(str, 0, 0); + ts = traffic_selector_create_from_cidr(str, 0, 0, 65535); if (ts) { return ts; @@ -389,4 +389,3 @@ medcli_config_t *medcli_config_create(database_t *db) return &this->public; } - diff --git a/src/libcharon/plugins/stroke/stroke_config.c b/src/libcharon/plugins/stroke/stroke_config.c index 9f6124dc9..70d6ce562 100644 --- a/src/libcharon/plugins/stroke/stroke_config.c +++ b/src/libcharon/plugins/stroke/stroke_config.c @@ -873,11 +873,21 @@ static void add_ts(private_stroke_config_t *this, stroke_end_t *end, child_cfg_t *child_cfg, bool local) { traffic_selector_t *ts; + u_int16_t from_port, to_port; + + if (end->port) + { + from_port = to_port = end->port; + } + else + { + from_port = 0; + to_port = 65535; + } if (end->tohost) { - ts = traffic_selector_create_dynamic(end->protocol, - end->port ? end->port : 0, end->port ? end->port : 65535); + ts = traffic_selector_create_dynamic(end->protocol, from_port, to_port); child_cfg->add_traffic_selector(child_cfg, local, ts); } else @@ -890,7 +900,7 @@ static void add_ts(private_stroke_config_t *this, if (net) { ts = traffic_selector_create_from_subnet(net, 0, end->protocol, - end->port); + from_port, to_port); child_cfg->add_traffic_selector(child_cfg, local, ts); } } @@ -902,8 +912,8 @@ static void add_ts(private_stroke_config_t *this, enumerator = enumerator_create_token(end->subnets, ",", " "); while (enumerator->enumerate(enumerator, &subnet)) { - ts = traffic_selector_create_from_cidr(subnet, - end->protocol, end->port); + ts = traffic_selector_create_from_cidr(subnet, end->protocol, + from_port, to_port); if (ts) { child_cfg->add_traffic_selector(child_cfg, local, ts); diff --git a/src/libcharon/plugins/uci/uci_config.c b/src/libcharon/plugins/uci/uci_config.c index de0bf91af..b7df65d1c 100644 --- a/src/libcharon/plugins/uci/uci_config.c +++ b/src/libcharon/plugins/uci/uci_config.c @@ -89,7 +89,7 @@ static traffic_selector_t *create_ts(char *string) { traffic_selector_t *ts; - ts = traffic_selector_create_from_cidr(string, 0, 0); + ts = traffic_selector_create_from_cidr(string, 0, 0, 65535); if (ts) { return ts; @@ -343,4 +343,3 @@ uci_config_t *uci_config_create(uci_parser_t *parser) return &this->public; } - diff --git a/src/libcharon/plugins/unity/unity_handler.c b/src/libcharon/plugins/unity/unity_handler.c index 31d13add2..39dd5f096 100644 --- a/src/libcharon/plugins/unity/unity_handler.c +++ b/src/libcharon/plugins/unity/unity_handler.c @@ -192,7 +192,8 @@ static job_requeue_t add_exclude_async(entry_t *entry) { has_vip = TRUE; child_cfg->add_traffic_selector(child_cfg, TRUE, - traffic_selector_create_from_subnet(host->clone(host), 32, 0, 0)); + traffic_selector_create_from_subnet(host->clone(host), + 32, 0, 0, 65535)); } enumerator->destroy(enumerator); @@ -200,7 +201,8 @@ static job_requeue_t add_exclude_async(entry_t *entry) { host = ike_sa->get_my_host(ike_sa); child_cfg->add_traffic_selector(child_cfg, TRUE, - traffic_selector_create_from_subnet(host->clone(host), 32, 0, 0)); + traffic_selector_create_from_subnet(host->clone(host), 32, 0, + 0, 65535)); } charon->ike_sa_manager->checkin(charon->ike_sa_manager, ike_sa); |