On Tue, Jan 20, 2026 at 10:12:27AM +0100, Michal Privoznik via Devel wrote:
> From: Michal Privoznik <[email protected]>
> 
> When connecting to a VMWare server, the hostname from URI is
> resolved using esxUtil_ResolveHostname() which in turn calls
> getaddrinfo(). But in the hints argument, we restrict the return
> address to be IPv4 (AF_INET) which obviously fails if the address
> to resolve is an IPv6 address. Set the hint to AF_UNSPEC which
> allows both IPv4 and IPv6. While at it, also allow IPv4 addresses
> mapped in IPv6 by setting AI_V4MAPPED flag.
> 
> Resolves: https://issues.redhat.com/browse/RHEL-138300
> Signed-off-by: Michal Privoznik <[email protected]>
> ---
>  src/esx/esx_util.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)

Reviewed-by: Daniel P. Berrangé <[email protected]>

> 
> diff --git a/src/esx/esx_util.c b/src/esx/esx_util.c
> index 88b3dc893f..a6275babd5 100644
> --- a/src/esx/esx_util.c
> +++ b/src/esx/esx_util.c
> @@ -275,8 +275,8 @@ esxUtil_ResolveHostname(const char *hostname, char 
> **ipAddress)
>      int errcode;
>      g_autofree char *address = NULL;
>  
> -    hints.ai_flags = AI_ADDRCONFIG;
> -    hints.ai_family = AF_INET;
> +    hints.ai_flags = AI_ADDRCONFIG | AI_V4MAPPED;
> +    hints.ai_family = AF_UNSPEC;
>      hints.ai_socktype = SOCK_STREAM;
>      hints.ai_protocol = 0;
>  
> -- 
> 2.52.0
> 

With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|

Reply via email to