467c6a0996
The code as is never checks the requested address family when doing a DNS query, so resolving an IPv6 only host with AddressFamily.INET would still return an IPv6.
40 lines
781 B
D
40 lines
781 B
D
/+ dub.sdl:
|
|
name "test"
|
|
dependency "vibe-core" path=".."
|
|
+/
|
|
module test;
|
|
|
|
import std.socket: AddressFamily;
|
|
|
|
import vibe.core.core;
|
|
import vibe.core.net;
|
|
|
|
void main()
|
|
{
|
|
runTask({
|
|
scope(exit) exitEventLoop();
|
|
|
|
auto addr = resolveHost("ip6.me", AddressFamily.INET);
|
|
assert(addr.family == AddressFamily.INET);
|
|
|
|
addr = resolveHost("ip6.me", AddressFamily.INET6);
|
|
assert(addr.family == AddressFamily.INET6);
|
|
|
|
try
|
|
{
|
|
resolveHost("ip4only.me", AddressFamily.INET6);
|
|
assert(false);
|
|
}
|
|
catch(Exception) {}
|
|
|
|
try
|
|
{
|
|
resolveHost("ip6only.me", AddressFamily.INET);
|
|
assert(false);
|
|
}
|
|
catch(Exception) {}
|
|
});
|
|
|
|
runEventLoop();
|
|
}
|