From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.org/gmane.linux.lib.musl.general/4304 Path: news.gmane.org!not-for-mail From: Rich Felker Newsgroups: gmane.linux.lib.musl.general Subject: Re: IPv4 and IPv6 addresses in resolv.conf Date: Fri, 29 Nov 2013 22:51:16 -0500 Message-ID: <20131130035116.GO24286@brightrain.aerifal.cx> References: <761df492-c2ee-41d5-84f8-faef313164bf@email.android.com> <20131129174410.GD24286@brightrain.aerifal.cx> <20131130003704.GL24286@brightrain.aerifal.cx> <20131130031744.GM24286@brightrain.aerifal.cx> Reply-To: musl@lists.openwall.com NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1385783484 21126 80.91.229.3 (30 Nov 2013 03:51:24 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 30 Nov 2013 03:51:24 +0000 (UTC) To: musl@lists.openwall.com Original-X-From: musl-return-4308-gllmg-musl=m.gmane.org@lists.openwall.com Sat Nov 30 04:51:30 2013 Return-path: Envelope-to: gllmg-musl@plane.gmane.org Original-Received: from mother.openwall.net ([195.42.179.200]) by plane.gmane.org with smtp (Exim 4.69) (envelope-from ) id 1Vmbab-0000fj-Gj for gllmg-musl@plane.gmane.org; Sat, 30 Nov 2013 04:51:29 +0100 Original-Received: (qmail 8131 invoked by uid 550); 30 Nov 2013 03:51:28 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: Original-Received: (qmail 8120 invoked from network); 30 Nov 2013 03:51:28 -0000 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) Xref: news.gmane.org gmane.linux.lib.musl.general:4304 Archived-At: On Fri, Nov 29, 2013 at 10:45:26PM -0500, Strake wrote: > On 29/11/2013, Rich Felker wrote: > > But that would mean complete unconditional DNS failure on systems > > lacking IPv6. > > We could do so iff system has IPv6. Switching on whether system has > IPv6 rather than whether resolv.conf has any IPv6 nameservers means > * no check whether resolv.conf includes v6 server > * that adding a v6 server to resolv.conf can not break DNS even on > systems lacking v6 > which seems saner. OK, so how do we detect if the system "has IPv6"? I don't think it's an easy question to answer, but it's not just a rhetorical question either since we need to know for the AI_ADDRCONFIG flag that's not yet working, so this may very well be the right way to go. One other option that's of course the safest is just opening two sockets, one for IPv4 and one for IPv6, if both are needed, but that of course complicates, bloats, and slows down the code and adds failure cases so I'd rather avoid it. Rich