mirror of
https://github.com/strongswan/strongswan.git
synced 2025-10-04 00:00:14 -04:00
Select requested virtual IP family based on remote TS, if no local TS available
This commit is contained in:
parent
f2fc138e8e
commit
e2dd114f37
@ -705,7 +705,7 @@ static peer_cfg_t *build_peer_cfg(private_stroke_config_t *this,
|
||||
if (!vip)
|
||||
{ /* if it is set to something like %poolname, request an address */
|
||||
if (msg->add_conn.me.subnets)
|
||||
{ /* use the same address as in subnet, if any */
|
||||
{ /* use the same family as in local subnet, if any */
|
||||
if (strchr(msg->add_conn.me.subnets, '.'))
|
||||
{
|
||||
vip = host_create_any(AF_INET);
|
||||
@ -715,6 +715,17 @@ static peer_cfg_t *build_peer_cfg(private_stroke_config_t *this,
|
||||
vip = host_create_any(AF_INET6);
|
||||
}
|
||||
}
|
||||
else if (msg->add_conn.other.subnets)
|
||||
{ /* use the same family as in remote subnet, if any */
|
||||
if (strchr(msg->add_conn.other.subnets, '.'))
|
||||
{
|
||||
vip = host_create_any(AF_INET);
|
||||
}
|
||||
else
|
||||
{
|
||||
vip = host_create_any(AF_INET6);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (strchr(ike_cfg->get_my_addr(ike_cfg, NULL), ':'))
|
||||
|
Loading…
x
Reference in New Issue
Block a user