Date: Tue, 11 Feb 2014 16:35:30 +0000 (UTC) From: Clément Vasseur <clement.vasseur@...il.com> To: musl@...ts.openwall.com Subject: getaddrinfo behaviour with AI_V4MAPPED Hi, I noticed a difference between musl and glibc for the following code: struct addrinfo hints; struct addrinfo *res; memset(&hints, 0, sizeof hints); hints.ai_family = AF_INET6; hints.ai_flags = AI_NUMERICHOST | AI_V4MAPPED | AI_ALL; ret = getaddrinfo("192.168.0.1", NULL, &hints, &res); musl returns EAI_NONAME (Name does not resolve) glibc returns the correct ipv6 address in ipv4-mapped format. The POSIX specification for AI_V4MAPPED says: If the AI_V4MAPPED flag is specified along with an ai_family of AF_INET6, then getaddrinfo() shall return IPv4-mapped IPv6 addresses on finding no matching IPv6 addresses ( ai_addrlen shall be 16). The AI_V4MAPPED flag shall be ignored unless ai_family equals AF_INET6. If the AI_ALL flag is used with the AI_V4MAPPED flag, then getaddrinfo() shall return all matching IPv6 and IPv4 addresses. The AI_ALL flag without the AI_V4MAPPED flag is ignored. [Option End] Shouldn't musl behave like glibc in this example?
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.