Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add address family for inet:gethostbyname/2 call #155

Merged
merged 1 commit into from Sep 2, 2017

Conversation

nroi
Copy link
Contributor

@nroi nroi commented Jun 13, 2017

I was wondering why ibrowse was unable to complete a get request to an IPv6-only host:

> ibrowse:send_req("http://ipv6.helios.click", [], get).
{error,{conn_failed,{error,nxdomain}}}

Turns out the function is_ipv6_host/1 returns false, although the domain has an AAAA record set. The problem is that it calls inet:gethostbyname/1, which will use IPv6 only if inet_db:res_option(inet6) is set to true. By default, this setting is set to false (see the Erlang repository)

I'm wondering if this is intended behavior, or if it is a bug, because as of now, IPv6 hosts are not resolved correctly if the standard setting is used. If it is a bug, this PR should fix it.

The previously used inet:gethostbyname/1 would use IPv6 only if
inet_db:res_option(inet6) returned true, but the default resolver
setting for inet6 is false.
@cmullaparthi cmullaparthi merged commit 555f707 into cmullaparthi:master Sep 2, 2017
@cmullaparthi
Copy link
Owner

This is a bug - thanks for fixing it.

@dch
Copy link
Contributor

dch commented Jul 4, 2018

@cmullaparthi would you mind tagging a new release and uploading it to hex.pm so we can have this fix by default?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants