Bug 15066 – std.net.curl.get should support IPv6 addresses on Windows

Status
RESOLVED
Resolution
FIXED
Severity
normal
Priority
P1
Component
phobos
Product
D
Version
D2
Platform
x86
OS
Windows
Creation time
2015-09-16T01:10:00Z
Last change time
2015-10-15T16:49:30Z
Assigned to
nobody
Creator
luis

Comments

Comment #0 by luis — 2015-09-16T01:10:49Z
This works on OS X but not on Windows: void main() { import std.net.curl; // neither work (IPv6 addresses, no DNS needed): get("http://[::1]:8080/"); get("http://[2a00:1450:4004:801::200e]/"); } Error: "std.net.curl.CurlException@std\net\curl.d(3705): Couldn't resolve host name on handle 1D80048"
Comment #1 by electrolysis.jp+d — 2015-09-22T14:52:34Z
The bundled libcurl.dll lacks IPv6 features? curl_DLL_ONLY.7z/nossl/libcurl.dll from http://www.paehl.com/open_source/?CURL_7.44.0 looks fine: std.net.curl.CurlException@std\net\curl.d(3705): Couldn't connect to server on handle 16B0048 With http://[2001:200:dff:fff1:216:3eff:feb1:44d7]/, i.e. www.kame.net, it works well.
Comment #2 by luis — 2015-09-22T15:59:13Z
Yeah, a proper curl DLL with all the good features should be provided with DMD. (In any case, I would argue that no curl version should mistake an IPv6 address for a host name, even if support for processing IPv6 requests is not included; the current behavior is really misleading)
Comment #3 by brocolis — 2015-10-02T02:52:28Z
Comment #4 by dlang-bugzilla — 2015-10-15T16:49:30Z
PR was merged.