4 #ifdef HAVE_NETINET_IN_H
5 #include <netinet/in.h>
29 in_addr addressnum = {};
33 if (ai->ai_family != AF_INET)
35 if (
reinterpret_cast<sockaddr_in*
>(ai->ai_addr)->sin_addr.s_addr ==
45 in6_addr addressnum = {};
54 addressnum.s6_addr,
sizeof(addressnum.s6_addr)))
67 .WillByDefault(SetReply(&
server_, &rsp1));
73 .WillByDefault(SetReply(&
server_, &rsp2));
112 .WillOnce(SetReply(&
server_, &rsptruncated))
113 .WillOnce(SetReply(&
server_, &rspok));
129 std::vector<byte> one = {0x01};
131 .WillOnce(SetReplyData(&
server_, one));
149 .WillOnce(SetReply(&
server_, &rsp));
167 .WillOnce(SetReply(&
server_, &rsp));
186 .WillOnce(SetReply(&
server_, &rsp));
205 .WillOnce(SetReply(&
server_, &rsp));
224 .WillOnce(SetReply(&
server_, &rsp));
247 opts->socket_send_buffer_size = 514;
248 opts->socket_receive_buffer_size = 514;
257 byte addr6[16] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
258 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01};
267 .WillByDefault(SetReply(&
server_, &rsp));
292 opts->socket_send_buffer_size = 514;
293 opts->socket_receive_buffer_size = 514;
308 byte addr6[16] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
309 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01};
316 .
add_answer(
new DNSARR(
"dynamodb.us-east-1.amazonaws.com", 100, {123, 45, 67, 8}));
318 .WillByDefault(SetReply(&
server_, &rsp));
359 .WillByDefault(SetReply(&
server_, &rsp));
377 .WillByDefault(SetReply(&
server_, &rsp));
395 .WillByDefault(SetReply(&
server_, &rsp));
412 {0x21, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
413 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03}));
415 .WillByDefault(SetReply(&
server_, &rsp6));
425 EXPECT_THAT(
result.ai_, IncludesV6Address(
"2121:0000:0000:0000:0000:0000:0000:0303"));
434 .WillByDefault(SetReply(&
server_, &rsp4));
454 .WillByDefault(SetReply(&
server_, &rsp4));
463 std::stringstream ss;
465 EXPECT_EQ(
"{addr=[2.3.4.5], addr=[7.8.9.0]}", ss.str());
473 {0x21, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
474 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03}));
476 .WillByDefault(SetReply(&
server_, &rsp6));
482 .WillByDefault(SetReply(&
server_, &rsp4));
493 EXPECT_THAT(
result.ai_, IncludesV6Address(
"2121:0000:0000:0000:0000:0000:0000:0303"));
510 .WillOnce(SetReply(&
server_, &rspfail))
511 .WillOnce(SetReply(&
server_, &rspok));
529 .WillByDefault(SetReply(&
server_, &nofirst));
534 .WillByDefault(SetReply(&
server_, &nosecond));
540 .WillByDefault(SetReply(&
server_, &yesthird));
558 .WillByDefault(SetReply(&
server_, &nofirst));
563 .WillByDefault(SetReply(&
server_, &nofirst4));
569 .WillByDefault(SetReply(&
server_, &nosecond));
575 .WillByDefault(SetReply(&
server_, &yessecond4));
581 .WillByDefault(SetReply(&
server_, &failthird));
586 .WillByDefault(SetReply(&
server_, &failthird4));
649 .WillOnce(SetReply(
servers_[0].
get(), &servfailrsp));
651 .WillOnce(SetReply(
servers_[1].
get(), ¬implrsp));
658 .WillOnce(SetReply(
servers_[1].
get(), &servfailrsp));
660 .WillOnce(SetReply(
servers_[2].
get(), ¬implrsp));
667 .WillOnce(SetReply(
servers_[2].
get(), &servfailrsp));
669 .WillOnce(SetReply(
servers_[0].
get(), ¬implrsp));
694 .WillOnce(SetReply(
servers_[0].
get(), &servfailrsp));
696 .WillOnce(SetReply(
servers_[1].
get(), ¬implrsp));
703 .WillOnce(SetReply(
servers_[0].
get(), &servfailrsp));
705 .WillOnce(SetReply(
servers_[1].
get(), ¬implrsp));
712 .WillOnce(SetReply(
servers_[0].
get(), &servfailrsp));
714 .WillOnce(SetReply(
servers_[1].
get(), ¬implrsp));
727 .WillByDefault(SetReply(&
server_, &rsp4));
735 std::stringstream ss;
737 EXPECT_EQ(
"{addr=[1.1.1.1:80], addr=[2.2.2.2:80]}", ss.str());