Programs that use the resolver library but query IPv6 resolvers directly require access to the IPv6 extensions in resolv.h. However, the definition for struct __res_state_ext is missing from the standard system header files. Fix: Include a definition for struct __res_state_ext in resolv.h struct __res_state_ext { union res_sockaddr_union nsaddrs[MAXNS]; struct sort_list { int af; union { struct in_addr ina; struct in6_addr in6a; } addr, mask; } sort_list[MAXRESOLVSORT]; char nsuffix[64]; char nsuffix2[64]; }; How-To-Repeat: The following will fail to compile: #include <sys/types.h> #include <netinet/in.h> #include <arpa/nameser.h> #include <resolv.h> int main(void) { struct __res_state myres; struct __res_state_ext *myres6; struct sockaddr_in6 *mysockaddr6; res_ninit(&myres); myres6 = myres._u._ext.ext; mysockaddr6 = &(myres6->nsaddrs[0].sin6); }
For bugs matching the following criteria: Status: In Progress Changed: (is less than) 2014-06-01 Reset to default assignee and clear in-progress tags. Mail being skipped