host: Don't try to resolve %any* keywords with mismatched address family

While host_create_from_string_and_family() usually replaces %any*
keywords, this fails if the address family doesn't match (e.g. %any4 with
AF_INET6).  There is no point in trying to resolve these keywords via
DNS as % is no valid character for host names.

Closes strongswan/strongswan#2880
This commit is contained in:
Tobias Brunner
2025-09-16 10:14:26 +02:00
parent e33dddffea
commit ac0272cad1
+1 -1
View File
@@ -461,7 +461,7 @@ host_t *host_create_from_dns(char *string, int af, uint16_t port)
host_t *this;
this = host_create_from_string_and_family(string, af, port);
if (!this)
if (!this && string && string[0] != '%')
{
this = lib->hosts->resolve(lib->hosts, string, af);
}