vibe-core/tests/pull-218-resolvehost-dns-address-family.d
Steven Dwy 467c6a0996 resolveHost: Check expected address family on returned address
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.
2020-08-21 07:19:39 +02:00

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();
}