diff options
Diffstat (limited to 'util')
-rw-r--r-- | util/qemu-sockets.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/util/qemu-sockets.c b/util/qemu-sockets.c index fe1d07aaef..b6d99cbf42 100644 --- a/util/qemu-sockets.c +++ b/util/qemu-sockets.c @@ -38,6 +38,10 @@ # define AI_V4MAPPED 0 #endif +#ifndef AI_NUMERICSERV +# define AI_NUMERICSERV 0 +#endif + static int inet_getport(struct addrinfo *e) { @@ -141,6 +145,9 @@ static int inet_listen_saddr(InetSocketAddress *saddr, memset(&ai,0, sizeof(ai)); ai.ai_flags = AI_PASSIVE; + if (saddr->has_numeric && saddr->numeric) { + ai.ai_flags |= AI_NUMERICHOST | AI_NUMERICSERV; + } ai.ai_family = inet_ai_family_from_address(saddr, &err); ai.ai_socktype = SOCK_STREAM; |