From owner-freebsd-bugs@FreeBSD.ORG Sat Oct 6 11:10:17 2012 Return-Path: Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 1F2AC106564A for ; Sat, 6 Oct 2012 11:10:17 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id D3CB88FC24 for ; Sat, 6 Oct 2012 11:10:15 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.5/8.14.5) with ESMTP id q96BADRn030685 for ; Sat, 6 Oct 2012 11:10:13 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.5/8.14.5/Submit) id q96BADpA030683; Sat, 6 Oct 2012 11:10:13 GMT (envelope-from gnats) Resent-Date: Sat, 6 Oct 2012 11:10:13 GMT Resent-Message-Id: <201210061110.q96BADpA030683@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Antonio Querubin Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 1D411106566B for ; Sat, 6 Oct 2012 11:06:36 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from red.freebsd.org (red.freebsd.org [IPv6:2001:4f8:fff6::22]) by mx1.freebsd.org (Postfix) with ESMTP id 07CD68FC16 for ; Sat, 6 Oct 2012 11:06:36 +0000 (UTC) Received: from red.freebsd.org (localhost [127.0.0.1]) by red.freebsd.org (8.14.5/8.14.5) with ESMTP id q96B6ZTB071395 for ; Sat, 6 Oct 2012 11:06:35 GMT (envelope-from nobody@red.freebsd.org) Received: (from nobody@localhost) by red.freebsd.org (8.14.5/8.14.5/Submit) id q96B6Z3A071394; Sat, 6 Oct 2012 11:06:35 GMT (envelope-from nobody) Message-Id: <201210061106.q96B6Z3A071394@red.freebsd.org> Date: Sat, 6 Oct 2012 11:06:35 GMT From: Antonio Querubin To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-3.1 Cc: Subject: misc/172390: __res_state_ext missing from system headers X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 06 Oct 2012 11:10:17 -0000 >Number: 172390 >Category: misc >Synopsis: __res_state_ext missing from system headers >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Sat Oct 06 11:10:13 UTC 2012 >Closed-Date: >Last-Modified: >Originator: Antonio Querubin >Release: 9.0 >Organization: >Environment: FreeBSD vm2 9.0-RELEASE FreeBSD 9.0-RELEASE #0: Tue Jan 3 07:15:25 UTC 2012 root@obrian.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC i386 >Description: 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. >How-To-Repeat: The following will fail to compile: #include #include #include #include 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); } >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]; }; >Release-Note: >Audit-Trail: >Unformatted: