aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/charon/sa/ike_sa.c6
-rw-r--r--src/libstrongswan/utils/host.c4
2 files changed, 10 insertions, 0 deletions
diff --git a/src/charon/sa/ike_sa.c b/src/charon/sa/ike_sa.c
index 30141f551..17ba15e27 100644
--- a/src/charon/sa/ike_sa.c
+++ b/src/charon/sa/ike_sa.c
@@ -1102,6 +1102,12 @@ static void resolve_hosts(private_ike_sa_t *this)
{
host->set_port(host, IKEV2_UDP_PORT);
}
+ else
+ { /* fallback to address family specific %any(6), if configured */
+ host = host_create_from_dns(
+ this->ike_cfg->get_my_addr(this->ike_cfg),
+ 0, IKEV2_UDP_PORT);
+ }
}
}
if (host)
diff --git a/src/libstrongswan/utils/host.c b/src/libstrongswan/utils/host.c
index cb2b6a10f..e11017c1e 100644
--- a/src/libstrongswan/utils/host.c
+++ b/src/libstrongswan/utils/host.c
@@ -374,6 +374,10 @@ host_t *host_create_from_string(char *string, u_int16_t port)
{
return host_create_any(AF_INET);
}
+ if (streq(string, "%any6"))
+ {
+ return host_create_any(AF_INET6);
+ }
this = host_create_empty();
if (strchr(string, '.'))