diff options
author | shadchin <shadchin@yandex-team.ru> | 2022-02-17 23:09:13 +0300 |
---|---|---|
committer | shadchin <shadchin@yandex-team.ru> | 2022-02-17 23:09:13 +0300 |
commit | 1e12ad07b2ad2362e06100f7f32e772e628bef66 (patch) | |
tree | 9981af0beb469cfef0d3d1658040f6bbf4206313 /contrib/libs/c-ares/test | |
parent | 55c6ad7179b9300375e9a16a3956dc706fcb560b (diff) | |
download | ydb-1e12ad07b2ad2362e06100f7f32e772e628bef66.tar.gz |
Update c-ares from 0.16.1 to 0.17.2
MAKEAYAMLHAPPY-12345
ref:6a83ac3af883b2fc963128b7993f0a467b0000cb
Diffstat (limited to 'contrib/libs/c-ares/test')
23 files changed, 904 insertions, 538 deletions
diff --git a/contrib/libs/c-ares/test/README.md b/contrib/libs/c-ares/test/README.md new file mode 100644 index 0000000000..9881446784 --- /dev/null +++ b/contrib/libs/c-ares/test/README.md @@ -0,0 +1,153 @@ +c-ares Unit Test Suite +====================== + + +This directory holds unit tests for the c-ares library. To build the tests: + + - Build the main c-ares library first, in the directory above this. To + enable tests of internal functions, configure the library build to expose + hidden symbols with `./configure --disable-symbol-hiding`. + - Generate a `configure` file by running `autoreconf -iv` (which requires + a local installation of + [autotools](https://www.gnu.org/software/automake/manual/html_node/Autotools-Introduction.html)). + - `./configure` + - `make` + - Run the tests with `./arestest`, or `./arestest -v` for extra debug info. + +Points to note: + + - The tests are written in C++11, and so need a C++ compiler that supports + this. To avoid adding this as a requirement for the library, the + configuration and build of the tests is independent from the library. + - The tests include some live queries, which will fail when run on a machine + without internet connectivity. To skip live tests, run with + `./arestest --gtest_filter=-*.Live*`. + - The tests include queries of a mock DNS server. This server listens on port + 5300 by default, but the port can be changed with the `-p 5300` option to + `arestest`. + + +Test Types +---------- + +The test suite includes various different types of test. + + - There are live tests (`ares-test-live.cc`), which assume that the + current machine has a valid DNS setup and connection to the + internet; these tests issue queries for real domains but don't + particularly check what gets returned. The tests will fail on + an offline machine. + - There are some mock tests (`ares-test-mock.cc`) that set up a fake DNS + server and inject its port into the c-ares library configuration. + These tests allow specific response messages to be crafted and + injected, and so are likely to be used for many more tests in + future. + - To make this generation/injection easier, the `dns-proto.h` + file includes C++ helper classes for building DNS packets. + - Other library entrypoints that don't require network activity + (e.g. `ares_parse_*_reply`) are tested directly. + - A couple of the tests use a helper method of the test fixture to + inject memory allocation failures, using a recent change to the + c-ares library that allows override of `malloc`/`free`. + - There are some tests of the internal entrypoints of the library + (`ares-test-internal.c`), but these are only enabled if the library + was configured with `--disable-symbol-hiding` and/or + `--enable-expose-statics`. + - There is also an entrypoint to allow Clang's + [libfuzzer](http://llvm.org/docs/LibFuzzer.html) to drive + the packet parsing code in `ares_parse_*_reply`, together with a + standalone wrapper for it (`./aresfuzz`) to allow use of command + line fuzzers (such as [afl-fuzz](http://lcamtuf.coredump.cx/afl/)) + for further [fuzz testing](#fuzzing). + + +Code Coverage Information +------------------------- + +To generate code coverage information: + + - Configure both the library and the tests with `./configure + --enable-code-coverage` before building. This requires the relevant code + coverage tools ([gcov](https://gcc.gnu.org/onlinedocs/gcc/Gcov.html), + [lcov](http://ltp.sourceforge.net/coverage/lcov.php)) to be installed locally. + - Run the tests with `test/arestest`. + - Generate code coverage output with `make code-coverage-capture` in the + library directory (i.e. not in `test/`). + + +Fuzzing +------- + +### libFuzzer + +To fuzz the packet parsing code with libFuzzer, follow the main +[libFuzzer instructions](http://llvm.org/docs/LibFuzzer.html): + + - Configure the c-ares library and test suite with a recent Clang and a sanitizer, for example: + + ```console + % export CFLAGS="-fsanitize=fuzzer-no-link,address" + % export CC=clang + % ./configure --disable-shared && make + ``` + - Link each of the fuzzer entrypoints in with `ares-fuzz.cc`: + + ``` + % clang -I.. -c ares-test-fuzz.c + % clang -I.. -c ares-test-fuzz-name.c + % clang++ -fsanitize=fuzzer,address ares-test-fuzz.o ../.libs/libcares.a -o ares-libfuzzer + % clang++ -fsanitize=fuzzer,address ares-test-fuzz-name.o ../.libs/libcares.a -o ares-libfuzzer-name + ``` + - Run the fuzzer using the starting corpus with: + + ```console + % ./ares-libfuzzer fuzzinput/ # OR + % ./ares-libfuzzer-name fuzznames/ + ``` + +### AFL + +To fuzz using AFL, follow the +[AFL quick start guide](http://lcamtuf.coredump.cx/afl/QuickStartGuide.txt): + + - Download and build AFL. + - Configure the c-ares library and test tool to use AFL's compiler wrappers: + + ```console + % export CC=$AFLDIR/afl-gcc + % ./configure --disable-shared && make + % cd test && ./configure && make aresfuzz aresfuzzname + ``` + + - Run the AFL fuzzer against the starting corpus: + + ```console + % mkdir fuzzoutput + % $AFLDIR/afl-fuzz -i fuzzinput -o fuzzoutput -- ./aresfuzz # OR + % $AFLDIR/afl-fuzz -i fuzznames -o fuzzoutput -- ./aresfuzzname + ``` + +### AFL Persistent Mode + +If a recent version of Clang is available, AFL can use its built-in compiler +instrumentation; this configuration also allows the use of a (much) faster +persistent mode, where multiple fuzz inputs are run for each process invocation. + + - Download and build a recent AFL, and run `make` in the `llvm_mode` + subdirectory to ensure that `afl-clang-fast` gets built. + - Configure the c-ares library and test tool to use AFL's clang wrappers that + use compiler instrumentation: + + ```console + % export CC=$AFLDIR/afl-clang-fast + % ./configure --disable-shared && make + % cd test && ./configure && make aresfuzz + ``` + + - Run the AFL fuzzer (in persistent mode) against the starting corpus: + + ```console + % mkdir fuzzoutput + % $AFLDIR/afl-fuzz -i fuzzinput -o fuzzoutput -- ./aresfuzz + ``` + diff --git a/contrib/libs/c-ares/test/ares-test-live.cc b/contrib/libs/c-ares/test/ares-test-live.cc index 5510163e95..8107f19d08 100644 --- a/contrib/libs/c-ares/test/ares-test-live.cc +++ b/contrib/libs/c-ares/test/ares-test-live.cc @@ -273,7 +273,7 @@ INSTANTIATE_TEST_CASE_P(Modes, DefaultChannelModeTest, VIRT_NONVIRT_TEST_F(DefaultChannelTest, DISABLED_LiveSearchA) { SearchResult result; - ares_search(channel_, "www.youtube.com.", ns_c_in, ns_t_a, + ares_search(channel_, "www.youtube.com.", C_IN, T_A, SearchCallback, &result); Process(); EXPECT_TRUE(result.done_); @@ -282,7 +282,7 @@ VIRT_NONVIRT_TEST_F(DefaultChannelTest, DISABLED_LiveSearchA) { VIRT_NONVIRT_TEST_F(DefaultChannelTest, LiveSearchEmptyA) { SearchResult result; - ares_search(channel_, "", ns_c_in, ns_t_a, + ares_search(channel_, "", C_IN, T_A, SearchCallback, &result); Process(); EXPECT_TRUE(result.done_); @@ -291,7 +291,7 @@ VIRT_NONVIRT_TEST_F(DefaultChannelTest, LiveSearchEmptyA) { VIRT_NONVIRT_TEST_F(DefaultChannelTest, DISABLED_LiveSearchNS) { SearchResult result; - ares_search(channel_, "google.com.", ns_c_in, ns_t_ns, + ares_search(channel_, "google.com.", C_IN, T_NS, SearchCallback, &result); Process(); EXPECT_TRUE(result.done_); @@ -300,7 +300,7 @@ VIRT_NONVIRT_TEST_F(DefaultChannelTest, DISABLED_LiveSearchNS) { VIRT_NONVIRT_TEST_F(DefaultChannelTest, DISABLED_LiveSearchMX) { SearchResult result; - ares_search(channel_, "google.com.", ns_c_in, ns_t_mx, + ares_search(channel_, "google.com.", C_IN, T_MX, SearchCallback, &result); Process(); EXPECT_TRUE(result.done_); @@ -309,7 +309,7 @@ VIRT_NONVIRT_TEST_F(DefaultChannelTest, DISABLED_LiveSearchMX) { VIRT_NONVIRT_TEST_F(DefaultChannelTest, DISABLED_LiveSearchTXT) { SearchResult result; - ares_search(channel_, "google.com.", ns_c_in, ns_t_txt, + ares_search(channel_, "google.com.", C_IN, T_TXT, SearchCallback, &result); Process(); EXPECT_TRUE(result.done_); @@ -318,7 +318,7 @@ VIRT_NONVIRT_TEST_F(DefaultChannelTest, DISABLED_LiveSearchTXT) { VIRT_NONVIRT_TEST_F(DefaultChannelTest, DISABLED_LiveSearchSOA) { SearchResult result; - ares_search(channel_, "google.com.", ns_c_in, ns_t_soa, + ares_search(channel_, "google.com.", C_IN, T_SOA, SearchCallback, &result); Process(); EXPECT_TRUE(result.done_); @@ -327,7 +327,7 @@ VIRT_NONVIRT_TEST_F(DefaultChannelTest, DISABLED_LiveSearchSOA) { VIRT_NONVIRT_TEST_F(DefaultChannelTest, DISABLED_LiveSearchSRV) { SearchResult result; - ares_search(channel_, "_imap._tcp.gmail.com.", ns_c_in, ns_t_srv, + ares_search(channel_, "_imap._tcp.gmail.com.", C_IN, T_SRV, SearchCallback, &result); Process(); EXPECT_TRUE(result.done_); @@ -336,7 +336,7 @@ VIRT_NONVIRT_TEST_F(DefaultChannelTest, DISABLED_LiveSearchSRV) { VIRT_NONVIRT_TEST_F(DefaultChannelTest, DISABLED_LiveSearchANY) { SearchResult result; - ares_search(channel_, "google.com.", ns_c_in, ns_t_any, + ares_search(channel_, "google.com.", C_IN, T_ANY, SearchCallback, &result); Process(); EXPECT_TRUE(result.done_); diff --git a/contrib/libs/c-ares/test/ares-test-misc.cc b/contrib/libs/c-ares/test/ares-test-misc.cc index 6fc28a8f97..b11b04babc 100644 --- a/contrib/libs/c-ares/test/ares-test-misc.cc +++ b/contrib/libs/c-ares/test/ares-test-misc.cc @@ -166,13 +166,13 @@ TEST_F(LibraryTest, InetNtoP) { TEST_F(LibraryTest, Mkquery) { byte* p; int len; - ares_mkquery("example.com", ns_c_in, ns_t_a, 0x1234, 0, &p, &len); + ares_mkquery("example.com", C_IN, T_A, 0x1234, 0, &p, &len); std::vector<byte> data(p, p + len); ares_free_string(p); std::string actual = PacketToString(data); DNSPacket pkt; - pkt.set_qid(0x1234).add_question(new DNSQuestion("example.com", ns_t_a)); + pkt.set_qid(0x1234).add_question(new DNSQuestion("example.com", T_A)); std::string expected = PacketToString(pkt.data()); EXPECT_EQ(expected, actual); } @@ -181,14 +181,14 @@ TEST_F(LibraryTest, CreateQuery) { byte* p; int len; EXPECT_EQ(ARES_SUCCESS, - ares_create_query("exam\\@le.com", ns_c_in, ns_t_a, 0x1234, 0, + ares_create_query("exam\\@le.com", C_IN, T_A, 0x1234, 0, &p, &len, 0)); std::vector<byte> data(p, p + len); ares_free_string(p); std::string actual = PacketToString(data); DNSPacket pkt; - pkt.set_qid(0x1234).add_question(new DNSQuestion("exam@le.com", ns_t_a)); + pkt.set_qid(0x1234).add_question(new DNSQuestion("exam@le.com", T_A)); std::string expected = PacketToString(pkt.data()); EXPECT_EQ(expected, actual); } @@ -197,7 +197,7 @@ TEST_F(LibraryTest, CreateQueryTrailingEscapedDot) { byte* p; int len; EXPECT_EQ(ARES_SUCCESS, - ares_create_query("example.com\\.", ns_c_in, ns_t_a, 0x1234, 0, + ares_create_query("example.com\\.", C_IN, T_A, 0x1234, 0, &p, &len, 0)); std::vector<byte> data(p, p + len); ares_free_string(p); @@ -215,7 +215,7 @@ TEST_F(LibraryTest, CreateQueryNameTooLong) { "a1234567890123456789.b1234567890123456789.c1234567890123456789.d1234567890123456789." "a1234567890123456789.b1234567890123456789.c1234567890123456789.d1234567890123456789." "x1234567890123456789.y1234567890123456789.", - ns_c_in, ns_t_a, 0x1234, 0, &p, &len, 0)); + C_IN, T_A, 0x1234, 0, &p, &len, 0)); } TEST_F(LibraryTest, CreateQueryFailures) { @@ -228,7 +228,7 @@ TEST_F(LibraryTest, CreateQueryFailures) { } p = nullptr; EXPECT_EQ(ARES_EBADNAME, - ares_create_query(longname.c_str(), ns_c_in, ns_t_a, 0x1234, 0, + ares_create_query(longname.c_str(), C_IN, T_A, 0x1234, 0, &p, &len, 0)); if (p) ares_free_string(p); @@ -236,7 +236,7 @@ TEST_F(LibraryTest, CreateQueryFailures) { p = nullptr; EXPECT_EQ(ARES_ENOMEM, - ares_create_query("example.com", ns_c_in, ns_t_a, 0x1234, 0, + ares_create_query("example.com", C_IN, T_A, 0x1234, 0, &p, &len, 0)); if (p) ares_free_string(p); @@ -244,14 +244,14 @@ TEST_F(LibraryTest, CreateQueryFailures) { std::string longlabel = "a.a123456789b123456789c123456789d123456789e123456789f123456789g123456789.org"; p = nullptr; EXPECT_EQ(ARES_EBADNAME, - ares_create_query(longlabel.c_str(), ns_c_in, ns_t_a, 0x1234, 0, + ares_create_query(longlabel.c_str(), C_IN, T_A, 0x1234, 0, &p, &len, 0)); if (p) ares_free_string(p); // Empty non-terminal label p = nullptr; EXPECT_EQ(ARES_EBADNAME, - ares_create_query("example..com", ns_c_in, ns_t_a, 0x1234, 0, + ares_create_query("example..com", C_IN, T_A, 0x1234, 0, &p, &len, 0)); if (p) ares_free_string(p); } @@ -260,7 +260,7 @@ TEST_F(LibraryTest, CreateQueryOnionDomain) { byte* p; int len; EXPECT_EQ(ARES_ENOTFOUND, - ares_create_query("dontleak.onion", ns_c_in, ns_t_a, 0x1234, 0, + ares_create_query("dontleak.onion", C_IN, T_A, 0x1234, 0, &p, &len, 0)); } @@ -291,7 +291,7 @@ TEST_F(DefaultChannelTest, GetAddrinfoOnionDomain) { // still leaks information about the query to malicious resolvers. TEST_F(DefaultChannelTest, SearchOnionDomain) { SearchResult result; - ares_search(channel_, "dontleak.onion", ns_c_in, ns_t_a, + ares_search(channel_, "dontleak.onion", C_IN, T_A, SearchCallback, &result); EXPECT_TRUE(result.done_); EXPECT_EQ(ARES_ENOTFOUND, result.status_); @@ -454,14 +454,14 @@ TEST_F(LibraryTest, CreateEDNSQuery) { byte* p; int len; EXPECT_EQ(ARES_SUCCESS, - ares_create_query("example.com", ns_c_in, ns_t_a, 0x1234, 0, + ares_create_query("example.com", C_IN, T_A, 0x1234, 0, &p, &len, 1280)); std::vector<byte> data(p, p + len); ares_free_string(p); std::string actual = PacketToString(data); DNSPacket pkt; - pkt.set_qid(0x1234).add_question(new DNSQuestion("example.com", ns_t_a)) + pkt.set_qid(0x1234).add_question(new DNSQuestion("example.com", T_A)) .add_additional(new DNSOptRR(0, 1280)); std::string expected = PacketToString(pkt.data()); EXPECT_EQ(expected, actual); @@ -470,13 +470,13 @@ TEST_F(LibraryTest, CreateEDNSQuery) { TEST_F(LibraryTest, CreateRootQuery) { byte* p; int len; - ares_create_query(".", ns_c_in, ns_t_a, 0x1234, 0, &p, &len, 0); + ares_create_query(".", C_IN, T_A, 0x1234, 0, &p, &len, 0); std::vector<byte> data(p, p + len); ares_free_string(p); std::string actual = PacketToString(data); DNSPacket pkt; - pkt.set_qid(0x1234).add_question(new DNSQuestion("", ns_t_a)); + pkt.set_qid(0x1234).add_question(new DNSQuestion("", T_A)); std::string expected = PacketToString(pkt.data()); EXPECT_EQ(expected, actual); } diff --git a/contrib/libs/c-ares/test/ares-test-mock-ai.cc b/contrib/libs/c-ares/test/ares-test-mock-ai.cc index d0df867fef..0de315a57c 100644 --- a/contrib/libs/c-ares/test/ares-test-mock-ai.cc +++ b/contrib/libs/c-ares/test/ares-test-mock-ai.cc @@ -61,15 +61,15 @@ MATCHER_P(IncludesV6Address, address, "") { TEST_P(MockUDPChannelTestAI, GetAddrInfoParallelLookups) { DNSPacket rsp1; rsp1.set_response().set_aa() - .add_question(new DNSQuestion("www.google.com", ns_t_a)) + .add_question(new DNSQuestion("www.google.com", T_A)) .add_answer(new DNSARR("www.google.com", 100, {2, 3, 4, 5})); - ON_CALL(server_, OnRequest("www.google.com", ns_t_a)) + ON_CALL(server_, OnRequest("www.google.com", T_A)) .WillByDefault(SetReply(&server_, &rsp1)); DNSPacket rsp2; rsp2.set_response().set_aa() - .add_question(new DNSQuestion("www.example.com", ns_t_a)) + .add_question(new DNSQuestion("www.example.com", T_A)) .add_answer(new DNSARR("www.example.com", 100, {1, 2, 3, 4})); - ON_CALL(server_, OnRequest("www.example.com", ns_t_a)) + ON_CALL(server_, OnRequest("www.example.com", T_A)) .WillByDefault(SetReply(&server_, &rsp2)); struct ares_addrinfo_hints hints = {}; @@ -103,12 +103,12 @@ TEST_P(MockUDPChannelTestAI, GetAddrInfoParallelLookups) { TEST_P(MockUDPChannelTestAI, TruncationRetry) { DNSPacket rsptruncated; rsptruncated.set_response().set_aa().set_tc() - .add_question(new DNSQuestion("www.google.com", ns_t_a)); + .add_question(new DNSQuestion("www.google.com", T_A)); DNSPacket rspok; rspok.set_response() - .add_question(new DNSQuestion("www.google.com", ns_t_a)) + .add_question(new DNSQuestion("www.google.com", T_A)) .add_answer(new DNSARR("www.google.com", 100, {1, 2, 3, 4})); - EXPECT_CALL(server_, OnRequest("www.google.com", ns_t_a)) + EXPECT_CALL(server_, OnRequest("www.google.com", T_A)) .WillOnce(SetReply(&server_, &rsptruncated)) .WillOnce(SetReply(&server_, &rspok)); @@ -127,7 +127,7 @@ TEST_P(MockUDPChannelTestAI, TruncationRetry) { // TCP only to prevent retries TEST_P(MockTCPChannelTestAI, MalformedResponse) { std::vector<byte> one = {0x01}; - EXPECT_CALL(server_, OnRequest("www.google.com", ns_t_a)) + EXPECT_CALL(server_, OnRequest("www.google.com", T_A)) .WillOnce(SetReplyData(&server_, one)); AddrInfoResult result; @@ -143,9 +143,9 @@ TEST_P(MockTCPChannelTestAI, MalformedResponse) { TEST_P(MockTCPChannelTestAI, FormErrResponse) { DNSPacket rsp; rsp.set_response().set_aa() - .add_question(new DNSQuestion("www.google.com", ns_t_a)); - rsp.set_rcode(ns_r_formerr); - EXPECT_CALL(server_, OnRequest("www.google.com", ns_t_a)) + .add_question(new DNSQuestion("www.google.com", T_A)); + rsp.set_rcode(FORMERR); + EXPECT_CALL(server_, OnRequest("www.google.com", T_A)) .WillOnce(SetReply(&server_, &rsp)); AddrInfoResult result; @@ -161,9 +161,9 @@ TEST_P(MockTCPChannelTestAI, FormErrResponse) { TEST_P(MockTCPChannelTestAI, ServFailResponse) { DNSPacket rsp; rsp.set_response().set_aa() - .add_question(new DNSQuestion("www.google.com", ns_t_a)); - rsp.set_rcode(ns_r_servfail); - EXPECT_CALL(server_, OnRequest("www.google.com", ns_t_a)) + .add_question(new DNSQuestion("www.google.com", T_A)); + rsp.set_rcode(SERVFAIL); + EXPECT_CALL(server_, OnRequest("www.google.com", T_A)) .WillOnce(SetReply(&server_, &rsp)); AddrInfoResult result; @@ -180,9 +180,9 @@ TEST_P(MockTCPChannelTestAI, ServFailResponse) { TEST_P(MockTCPChannelTestAI, NotImplResponse) { DNSPacket rsp; rsp.set_response().set_aa() - .add_question(new DNSQuestion("www.google.com", ns_t_a)); - rsp.set_rcode(ns_r_notimpl); - EXPECT_CALL(server_, OnRequest("www.google.com", ns_t_a)) + .add_question(new DNSQuestion("www.google.com", T_A)); + rsp.set_rcode(NOTIMP); + EXPECT_CALL(server_, OnRequest("www.google.com", T_A)) .WillOnce(SetReply(&server_, &rsp)); AddrInfoResult result; @@ -192,16 +192,16 @@ TEST_P(MockTCPChannelTestAI, NotImplResponse) { ares_getaddrinfo(channel_, "www.google.com.", NULL, &hints, AddrInfoCallback, &result); Process(); EXPECT_TRUE(result.done_); - // ARES_FLAG_NOCHECKRESP not set, so NOTIMPL consumed + // ARES_FLAG_NOCHECKRESP not set, so NOTIMP consumed EXPECT_EQ(ARES_ECONNREFUSED, result.status_); } TEST_P(MockTCPChannelTestAI, RefusedResponse) { DNSPacket rsp; rsp.set_response().set_aa() - .add_question(new DNSQuestion("www.google.com", ns_t_a)); - rsp.set_rcode(ns_r_refused); - EXPECT_CALL(server_, OnRequest("www.google.com", ns_t_a)) + .add_question(new DNSQuestion("www.google.com", T_A)); + rsp.set_rcode(REFUSED); + EXPECT_CALL(server_, OnRequest("www.google.com", T_A)) .WillOnce(SetReply(&server_, &rsp)); AddrInfoResult result; @@ -218,9 +218,9 @@ TEST_P(MockTCPChannelTestAI, RefusedResponse) { TEST_P(MockTCPChannelTestAI, YXDomainResponse) { DNSPacket rsp; rsp.set_response().set_aa() - .add_question(new DNSQuestion("www.google.com", ns_t_a)); - rsp.set_rcode(ns_r_yxdomain); - EXPECT_CALL(server_, OnRequest("www.google.com", ns_t_a)) + .add_question(new DNSQuestion("www.google.com", T_A)); + rsp.set_rcode(YXDOMAIN); + EXPECT_CALL(server_, OnRequest("www.google.com", T_A)) .WillOnce(SetReply(&server_, &rsp)); AddrInfoResult result; @@ -261,9 +261,9 @@ TEST_P(MockExtraOptsTestAI, SimpleQuery) { DNSPacket rsp; rsp.set_response().set_aa() - .add_question(new DNSQuestion("www.google.com", ns_t_a)) + .add_question(new DNSQuestion("www.google.com", T_A)) .add_answer(new DNSARR("www.google.com", 100, {2, 3, 4, 5})); - ON_CALL(server_, OnRequest("www.google.com", ns_t_a)) + ON_CALL(server_, OnRequest("www.google.com", T_A)) .WillByDefault(SetReply(&server_, &rsp)); AddrInfoResult result; @@ -278,6 +278,57 @@ TEST_P(MockExtraOptsTestAI, SimpleQuery) { EXPECT_THAT(result.ai_, IncludesV4Address("2.3.4.5")); } +class MockExtraOptsNDotsTestAI + : public MockChannelOptsTest, + public ::testing::WithParamInterface< std::pair<int, bool> > { + public: + MockExtraOptsNDotsTestAI(int ndots) + : MockChannelOptsTest(1, GetParam().first, GetParam().second, + FillOptions(&opts_, ndots), + ARES_OPT_SOCK_SNDBUF|ARES_OPT_SOCK_RCVBUF|ARES_OPT_NDOTS) {} + static struct ares_options* FillOptions(struct ares_options * opts, int ndots) { + memset(opts, 0, sizeof(struct ares_options)); + // Set a few options that affect socket communications + opts->socket_send_buffer_size = 514; + opts->socket_receive_buffer_size = 514; + opts->ndots = ndots; + return opts; + } + private: + struct ares_options opts_; +}; + +class MockExtraOptsNDots5TestAI : public MockExtraOptsNDotsTestAI { + public: + MockExtraOptsNDots5TestAI() : MockExtraOptsNDotsTestAI(5) {} +}; + +TEST_P(MockExtraOptsNDots5TestAI, SimpleQuery) { + ares_set_local_ip4(channel_, 0x7F000001); + byte addr6[16] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01}; + ares_set_local_ip6(channel_, addr6); + ares_set_local_dev(channel_, "dummy"); + + DNSPacket rsp; + rsp.set_response().set_aa() + .add_question(new DNSQuestion("dynamodb.us-east-1.amazonaws.com", T_A)) + .add_answer(new DNSARR("dynamodb.us-east-1.amazonaws.com", 100, {123, 45, 67, 8})); + ON_CALL(server_, OnRequest("dynamodb.us-east-1.amazonaws.com", T_A)) + .WillByDefault(SetReply(&server_, &rsp)); + + AddrInfoResult result; + struct ares_addrinfo_hints hints = {}; + hints.ai_family = AF_INET; + hints.ai_flags = ARES_AI_NOSORT; + ares_getaddrinfo(channel_, "dynamodb.us-east-1.amazonaws.com.", NULL, &hints, AddrInfoCallback, &result); + Process(); + EXPECT_TRUE(result.done_); + EXPECT_EQ(ARES_SUCCESS, result.status_); + EXPECT_THAT(result.ai_, IncludesNumAddresses(1)); + EXPECT_THAT(result.ai_, IncludesV4Address("123.45.67.8")); +} + class MockFlagsChannelOptsTestAI : public MockChannelOptsTest, public ::testing::WithParamInterface< std::pair<int, bool> > { @@ -302,9 +353,9 @@ class MockNoCheckRespChannelTestAI : public MockFlagsChannelOptsTestAI { TEST_P(MockNoCheckRespChannelTestAI, ServFailResponse) { DNSPacket rsp; rsp.set_response().set_aa() - .add_question(new DNSQuestion("www.google.com", ns_t_a)); - rsp.set_rcode(ns_r_servfail); - ON_CALL(server_, OnRequest("www.google.com", ns_t_a)) + .add_question(new DNSQuestion("www.google.com", T_A)); + rsp.set_rcode(SERVFAIL); + ON_CALL(server_, OnRequest("www.google.com", T_A)) .WillByDefault(SetReply(&server_, &rsp)); AddrInfoResult result; @@ -320,9 +371,9 @@ TEST_P(MockNoCheckRespChannelTestAI, ServFailResponse) { TEST_P(MockNoCheckRespChannelTestAI, NotImplResponse) { DNSPacket rsp; rsp.set_response().set_aa() - .add_question(new DNSQuestion("www.google.com", ns_t_a)); - rsp.set_rcode(ns_r_notimpl); - ON_CALL(server_, OnRequest("www.google.com", ns_t_a)) + .add_question(new DNSQuestion("www.google.com", T_A)); + rsp.set_rcode(NOTIMP); + ON_CALL(server_, OnRequest("www.google.com", T_A)) .WillByDefault(SetReply(&server_, &rsp)); AddrInfoResult result; @@ -338,9 +389,9 @@ TEST_P(MockNoCheckRespChannelTestAI, NotImplResponse) { TEST_P(MockNoCheckRespChannelTestAI, RefusedResponse) { DNSPacket rsp; rsp.set_response().set_aa() - .add_question(new DNSQuestion("www.google.com", ns_t_a)); - rsp.set_rcode(ns_r_refused); - ON_CALL(server_, OnRequest("www.google.com", ns_t_a)) + .add_question(new DNSQuestion("www.google.com", T_A)); + rsp.set_rcode(REFUSED); + ON_CALL(server_, OnRequest("www.google.com", T_A)) .WillByDefault(SetReply(&server_, &rsp)); AddrInfoResult result; @@ -356,11 +407,11 @@ TEST_P(MockNoCheckRespChannelTestAI, RefusedResponse) { TEST_P(MockChannelTestAI, FamilyV6) { DNSPacket rsp6; rsp6.set_response().set_aa() - .add_question(new DNSQuestion("example.com", ns_t_aaaa)) + .add_question(new DNSQuestion("example.com", T_AAAA)) .add_answer(new DNSAaaaRR("example.com", 100, {0x21, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03})); - ON_CALL(server_, OnRequest("example.com", ns_t_aaaa)) + ON_CALL(server_, OnRequest("example.com", T_AAAA)) .WillByDefault(SetReply(&server_, &rsp6)); AddrInfoResult result; struct ares_addrinfo_hints hints = {}; @@ -377,9 +428,9 @@ TEST_P(MockChannelTestAI, FamilyV6) { TEST_P(MockChannelTestAI, FamilyV4) { DNSPacket rsp4; rsp4.set_response().set_aa() - .add_question(new DNSQuestion("example.com", ns_t_a)) + .add_question(new DNSQuestion("example.com", T_A)) .add_answer(new DNSARR("example.com", 100, {2, 3, 4, 5})); - ON_CALL(server_, OnRequest("example.com", ns_t_a)) + ON_CALL(server_, OnRequest("example.com", T_A)) .WillByDefault(SetReply(&server_, &rsp4)); AddrInfoResult result = {}; struct ares_addrinfo_hints hints = {}; @@ -396,10 +447,10 @@ TEST_P(MockChannelTestAI, FamilyV4) { TEST_P(MockChannelTestAI, FamilyV4_MultipleAddresses) { DNSPacket rsp4; rsp4.set_response().set_aa() - .add_question(new DNSQuestion("example.com", ns_t_a)) + .add_question(new DNSQuestion("example.com", T_A)) .add_answer(new DNSARR("example.com", 100, {2, 3, 4, 5})) .add_answer(new DNSARR("example.com", 100, {7, 8, 9, 0})); - ON_CALL(server_, OnRequest("example.com", ns_t_a)) + ON_CALL(server_, OnRequest("example.com", T_A)) .WillByDefault(SetReply(&server_, &rsp4)); AddrInfoResult result = {}; struct ares_addrinfo_hints hints = {}; @@ -417,17 +468,17 @@ TEST_P(MockChannelTestAI, FamilyV4_MultipleAddresses) { TEST_P(MockChannelTestAI, FamilyUnspecified) { DNSPacket rsp6; rsp6.set_response().set_aa() - .add_question(new DNSQuestion("example.com", ns_t_aaaa)) + .add_question(new DNSQuestion("example.com", T_AAAA)) .add_answer(new DNSAaaaRR("example.com", 100, {0x21, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03})); - ON_CALL(server_, OnRequest("example.com", ns_t_aaaa)) + ON_CALL(server_, OnRequest("example.com", T_AAAA)) .WillByDefault(SetReply(&server_, &rsp6)); DNSPacket rsp4; rsp4.set_response().set_aa() - .add_question(new DNSQuestion("example.com", ns_t_a)) + .add_question(new DNSQuestion("example.com", T_A)) .add_answer(new DNSARR("example.com", 100, {2, 3, 4, 5})); - ON_CALL(server_, OnRequest("example.com", ns_t_a)) + ON_CALL(server_, OnRequest("example.com", T_A)) .WillByDefault(SetReply(&server_, &rsp4)); AddrInfoResult result; struct ares_addrinfo_hints hints = {}; @@ -449,13 +500,13 @@ class MockEDNSChannelTestAI : public MockFlagsChannelOptsTestAI { TEST_P(MockEDNSChannelTestAI, RetryWithoutEDNS) { DNSPacket rspfail; - rspfail.set_response().set_aa().set_rcode(ns_r_servfail) - .add_question(new DNSQuestion("www.google.com", ns_t_a)); + rspfail.set_response().set_aa().set_rcode(FORMERR) + .add_question(new DNSQuestion("www.google.com", T_A)); DNSPacket rspok; rspok.set_response() - .add_question(new DNSQuestion("www.google.com", ns_t_a)) + .add_question(new DNSQuestion("www.google.com", T_A)) .add_answer(new DNSARR("www.google.com", 100, {1, 2, 3, 4})); - EXPECT_CALL(server_, OnRequest("www.google.com", ns_t_a)) + EXPECT_CALL(server_, OnRequest("www.google.com", T_A)) .WillOnce(SetReply(&server_, &rspfail)) .WillOnce(SetReply(&server_, &rspok)); @@ -472,20 +523,20 @@ TEST_P(MockEDNSChannelTestAI, RetryWithoutEDNS) { TEST_P(MockChannelTestAI, SearchDomains) { DNSPacket nofirst; - nofirst.set_response().set_aa().set_rcode(ns_r_nxdomain) - .add_question(new DNSQuestion("www.first.com", ns_t_a)); - ON_CALL(server_, OnRequest("www.first.com", ns_t_a)) + nofirst.set_response().set_aa().set_rcode(NXDOMAIN) + .add_question(new DNSQuestion("www.first.com", T_A)); + ON_CALL(server_, OnRequest("www.first.com", T_A)) .WillByDefault(SetReply(&server_, &nofirst)); DNSPacket nosecond; - nosecond.set_response().set_aa().set_rcode(ns_r_nxdomain) - .add_question(new DNSQuestion("www.second.org", ns_t_a)); - ON_CALL(server_, OnRequest("www.second.org", ns_t_a)) + nosecond.set_response().set_aa().set_rcode(NXDOMAIN) + .add_question(new DNSQuestion("www.second.org", T_A)); + ON_CALL(server_, OnRequest("www.second.org", T_A)) .WillByDefault(SetReply(&server_, &nosecond)); DNSPacket yesthird; yesthird.set_response().set_aa() - .add_question(new DNSQuestion("www.third.gov", ns_t_a)) + .add_question(new DNSQuestion("www.third.gov", T_A)) .add_answer(new DNSARR("www.third.gov", 0x0200, {2, 3, 4, 5})); - ON_CALL(server_, OnRequest("www.third.gov", ns_t_a)) + ON_CALL(server_, OnRequest("www.third.gov", T_A)) .WillByDefault(SetReply(&server_, &yesthird)); AddrInfoResult result; @@ -501,37 +552,37 @@ TEST_P(MockChannelTestAI, SearchDomains) { TEST_P(MockChannelTestAI, SearchDomainsServFailOnAAAA) { DNSPacket nofirst; - nofirst.set_response().set_aa().set_rcode(ns_r_nxdomain) - .add_question(new DNSQuestion("www.first.com", ns_t_aaaa)); - ON_CALL(server_, OnRequest("www.first.com", ns_t_aaaa)) + nofirst.set_response().set_aa().set_rcode(NXDOMAIN) + .add_question(new DNSQuestion("www.first.com", T_AAAA)); + ON_CALL(server_, OnRequest("www.first.com", T_AAAA)) .WillByDefault(SetReply(&server_, &nofirst)); DNSPacket nofirst4; - nofirst4.set_response().set_aa().set_rcode(ns_r_nxdomain) - .add_question(new DNSQuestion("www.first.com", ns_t_a)); - ON_CALL(server_, OnRequest("www.first.com", ns_t_a)) + nofirst4.set_response().set_aa().set_rcode(NXDOMAIN) + .add_question(new DNSQuestion("www.first.com", T_A)); + ON_CALL(server_, OnRequest("www.first.com", T_A)) .WillByDefault(SetReply(&server_, &nofirst4)); DNSPacket nosecond; - nosecond.set_response().set_aa().set_rcode(ns_r_nxdomain) - .add_question(new DNSQuestion("www.second.org", ns_t_aaaa)); - ON_CALL(server_, OnRequest("www.second.org", ns_t_aaaa)) + nosecond.set_response().set_aa().set_rcode(NXDOMAIN) + .add_question(new DNSQuestion("www.second.org", T_AAAA)); + ON_CALL(server_, OnRequest("www.second.org", T_AAAA)) .WillByDefault(SetReply(&server_, &nosecond)); DNSPacket yessecond4; yessecond4.set_response().set_aa() - .add_question(new DNSQuestion("www.second.org", ns_t_a)) + .add_question(new DNSQuestion("www.second.org", T_A)) .add_answer(new DNSARR("www.second.org", 0x0200, {2, 3, 4, 5})); - ON_CALL(server_, OnRequest("www.second.org", ns_t_a)) + ON_CALL(server_, OnRequest("www.second.org", T_A)) .WillByDefault(SetReply(&server_, &yessecond4)); DNSPacket failthird; - failthird.set_response().set_aa().set_rcode(ns_r_servfail) - .add_question(new DNSQuestion("www.third.gov", ns_t_aaaa)); - ON_CALL(server_, OnRequest("www.third.gov", ns_t_aaaa)) + failthird.set_response().set_aa().set_rcode(SERVFAIL) + .add_question(new DNSQuestion("www.third.gov", T_AAAA)); + ON_CALL(server_, OnRequest("www.third.gov", T_AAAA)) .WillByDefault(SetReply(&server_, &failthird)); DNSPacket failthird4; - failthird4.set_response().set_aa().set_rcode(ns_r_servfail) - .add_question(new DNSQuestion("www.third.gov", ns_t_a)); - ON_CALL(server_, OnRequest("www.third.gov", ns_t_a)) + failthird4.set_response().set_aa().set_rcode(SERVFAIL) + .add_question(new DNSQuestion("www.third.gov", T_A)); + ON_CALL(server_, OnRequest("www.third.gov", T_A)) .WillByDefault(SetReply(&server_, &failthird4)); AddrInfoResult result; @@ -584,39 +635,39 @@ TEST_P(RotateMultiMockTestAI, ThirdServer) { ares_destroy_options(&opts); DNSPacket servfailrsp; - servfailrsp.set_response().set_aa().set_rcode(ns_r_servfail) - .add_question(new DNSQuestion("www.example.com", ns_t_a)); + servfailrsp.set_response().set_aa().set_rcode(SERVFAIL) + .add_question(new DNSQuestion("www.example.com", T_A)); DNSPacket notimplrsp; - notimplrsp.set_response().set_aa().set_rcode(ns_r_notimpl) - .add_question(new DNSQuestion("www.example.com", ns_t_a)); + notimplrsp.set_response().set_aa().set_rcode(NOTIMP) + .add_question(new DNSQuestion("www.example.com", T_A)); DNSPacket okrsp; okrsp.set_response().set_aa() - .add_question(new DNSQuestion("www.example.com", ns_t_a)) + .add_question(new DNSQuestion("www.example.com", T_A)) .add_answer(new DNSARR("www.example.com", 100, {2,3,4,5})); - EXPECT_CALL(*servers_[0], OnRequest("www.example.com", ns_t_a)) + EXPECT_CALL(*servers_[0], OnRequest("www.example.com", T_A)) .WillOnce(SetReply(servers_[0].get(), &servfailrsp)); - EXPECT_CALL(*servers_[1], OnRequest("www.example.com", ns_t_a)) + EXPECT_CALL(*servers_[1], OnRequest("www.example.com", T_A)) .WillOnce(SetReply(servers_[1].get(), ¬implrsp)); - EXPECT_CALL(*servers_[2], OnRequest("www.example.com", ns_t_a)) + EXPECT_CALL(*servers_[2], OnRequest("www.example.com", T_A)) .WillOnce(SetReply(servers_[2].get(), &okrsp)); CheckExample(); // Second time around, starts from server [1]. - EXPECT_CALL(*servers_[1], OnRequest("www.example.com", ns_t_a)) + EXPECT_CALL(*servers_[1], OnRequest("www.example.com", T_A)) .WillOnce(SetReply(servers_[1].get(), &servfailrsp)); - EXPECT_CALL(*servers_[2], OnRequest("www.example.com", ns_t_a)) + EXPECT_CALL(*servers_[2], OnRequest("www.example.com", T_A)) .WillOnce(SetReply(servers_[2].get(), ¬implrsp)); - EXPECT_CALL(*servers_[0], OnRequest("www.example.com", ns_t_a)) + EXPECT_CALL(*servers_[0], OnRequest("www.example.com", T_A)) .WillOnce(SetReply(servers_[0].get(), &okrsp)); CheckExample(); // Third time around, starts from server [2]. - EXPECT_CALL(*servers_[2], OnRequest("www.example.com", ns_t_a)) + EXPECT_CALL(*servers_[2], OnRequest("www.example.com", T_A)) .WillOnce(SetReply(servers_[2].get(), &servfailrsp)); - EXPECT_CALL(*servers_[0], OnRequest("www.example.com", ns_t_a)) + EXPECT_CALL(*servers_[0], OnRequest("www.example.com", T_A)) .WillOnce(SetReply(servers_[0].get(), ¬implrsp)); - EXPECT_CALL(*servers_[1], OnRequest("www.example.com", ns_t_a)) + EXPECT_CALL(*servers_[1], OnRequest("www.example.com", T_A)) .WillOnce(SetReply(servers_[1].get(), &okrsp)); CheckExample(); } @@ -629,39 +680,39 @@ TEST_P(NoRotateMultiMockTestAI, ThirdServer) { ares_destroy_options(&opts); DNSPacket servfailrsp; - servfailrsp.set_response().set_aa().set_rcode(ns_r_servfail) - .add_question(new DNSQuestion("www.example.com", ns_t_a)); + servfailrsp.set_response().set_aa().set_rcode(SERVFAIL) + .add_question(new DNSQuestion("www.example.com", T_A)); DNSPacket notimplrsp; - notimplrsp.set_response().set_aa().set_rcode(ns_r_notimpl) - .add_question(new DNSQuestion("www.example.com", ns_t_a)); + notimplrsp.set_response().set_aa().set_rcode(NOTIMP) + .add_question(new DNSQuestion("www.example.com", T_A)); DNSPacket okrsp; okrsp.set_response().set_aa() - .add_question(new DNSQuestion("www.example.com", ns_t_a)) + .add_question(new DNSQuestion("www.example.com", T_A)) .add_answer(new DNSARR("www.example.com", 100, {2,3,4,5})); - EXPECT_CALL(*servers_[0], OnRequest("www.example.com", ns_t_a)) + EXPECT_CALL(*servers_[0], OnRequest("www.example.com", T_A)) .WillOnce(SetReply(servers_[0].get(), &servfailrsp)); - EXPECT_CALL(*servers_[1], OnRequest("www.example.com", ns_t_a)) + EXPECT_CALL(*servers_[1], OnRequest("www.example.com", T_A)) .WillOnce(SetReply(servers_[1].get(), ¬implrsp)); - EXPECT_CALL(*servers_[2], OnRequest("www.example.com", ns_t_a)) + EXPECT_CALL(*servers_[2], OnRequest("www.example.com", T_A)) .WillOnce(SetReply(servers_[2].get(), &okrsp)); CheckExample(); // Second time around, still starts from server [0]. - EXPECT_CALL(*servers_[0], OnRequest("www.example.com", ns_t_a)) + EXPECT_CALL(*servers_[0], OnRequest("www.example.com", T_A)) .WillOnce(SetReply(servers_[0].get(), &servfailrsp)); - EXPECT_CALL(*servers_[1], OnRequest("www.example.com", ns_t_a)) + EXPECT_CALL(*servers_[1], OnRequest("www.example.com", T_A)) .WillOnce(SetReply(servers_[1].get(), ¬implrsp)); - EXPECT_CALL(*servers_[2], OnRequest("www.example.com", ns_t_a)) + EXPECT_CALL(*servers_[2], OnRequest("www.example.com", T_A)) .WillOnce(SetReply(servers_[2].get(), &okrsp)); CheckExample(); // Third time around, still starts from server [0]. - EXPECT_CALL(*servers_[0], OnRequest("www.example.com", ns_t_a)) + EXPECT_CALL(*servers_[0], OnRequest("www.example.com", T_A)) .WillOnce(SetReply(servers_[0].get(), &servfailrsp)); - EXPECT_CALL(*servers_[1], OnRequest("www.example.com", ns_t_a)) + EXPECT_CALL(*servers_[1], OnRequest("www.example.com", T_A)) .WillOnce(SetReply(servers_[1].get(), ¬implrsp)); - EXPECT_CALL(*servers_[2], OnRequest("www.example.com", ns_t_a)) + EXPECT_CALL(*servers_[2], OnRequest("www.example.com", T_A)) .WillOnce(SetReply(servers_[2].get(), &okrsp)); CheckExample(); } @@ -669,10 +720,10 @@ TEST_P(NoRotateMultiMockTestAI, ThirdServer) { TEST_P(MockChannelTestAI, FamilyV4ServiceName) { DNSPacket rsp4; rsp4.set_response().set_aa() - .add_question(new DNSQuestion("example.com", ns_t_a)) + .add_question(new DNSQuestion("example.com", T_A)) .add_answer(new DNSARR("example.com", 100, {1, 1, 1, 1})) .add_answer(new DNSARR("example.com", 100, {2, 2, 2, 2})); - ON_CALL(server_, OnRequest("example.com", ns_t_a)) + ON_CALL(server_, OnRequest("example.com", T_A)) .WillByDefault(SetReply(&server_, &rsp4)); AddrInfoResult result = {}; struct ares_addrinfo_hints hints = {}; @@ -706,6 +757,9 @@ INSTANTIATE_TEST_CASE_P(AddressFamiliesAI, MockTCPChannelTestAI, INSTANTIATE_TEST_CASE_P(AddressFamiliesAI, MockExtraOptsTestAI, ::testing::ValuesIn(ares::test::families_modes)); +INSTANTIATE_TEST_CASE_P(AddressFamiliesAI, MockExtraOptsNDots5TestAI, + ::testing::ValuesIn(ares::test::families_modes)); + INSTANTIATE_TEST_CASE_P(AddressFamiliesAI, MockNoCheckRespChannelTestAI, ::testing::ValuesIn(ares::test::families_modes)); diff --git a/contrib/libs/c-ares/test/ares-test-mock.cc b/contrib/libs/c-ares/test/ares-test-mock.cc index 80e9fc02b0..f4e773cf8f 100644 --- a/contrib/libs/c-ares/test/ares-test-mock.cc +++ b/contrib/libs/c-ares/test/ares-test-mock.cc @@ -38,7 +38,7 @@ TEST_P(MockChannelTest, Basic) { 0x01, 0x02, 0x03, 0x04 }; - ON_CALL(server_, OnRequest("www.google.com", ns_t_a)) + ON_CALL(server_, OnRequest("www.google.com", T_A)) .WillByDefault(SetReplyData(&server_, reply)); HostResult result; @@ -54,15 +54,15 @@ TEST_P(MockChannelTest, Basic) { TEST_P(MockUDPChannelTest, GetHostByNameParallelLookups) { DNSPacket rsp1; rsp1.set_response().set_aa() - .add_question(new DNSQuestion("www.google.com", ns_t_a)) + .add_question(new DNSQuestion("www.google.com", T_A)) .add_answer(new DNSARR("www.google.com", 100, {2, 3, 4, 5})); - ON_CALL(server_, OnRequest("www.google.com", ns_t_a)) + ON_CALL(server_, OnRequest("www.google.com", T_A)) .WillByDefault(SetReply(&server_, &rsp1)); DNSPacket rsp2; rsp2.set_response().set_aa() - .add_question(new DNSQuestion("www.example.com", ns_t_a)) + .add_question(new DNSQuestion("www.example.com", T_A)) .add_answer(new DNSARR("www.example.com", 100, {1, 2, 3, 4})); - ON_CALL(server_, OnRequest("www.example.com", ns_t_a)) + ON_CALL(server_, OnRequest("www.example.com", T_A)) .WillByDefault(SetReply(&server_, &rsp2)); HostResult result1; @@ -90,12 +90,12 @@ TEST_P(MockUDPChannelTest, GetHostByNameParallelLookups) { TEST_P(MockUDPChannelTest, TruncationRetry) { DNSPacket rsptruncated; rsptruncated.set_response().set_aa().set_tc() - .add_question(new DNSQuestion("www.google.com", ns_t_a)); + .add_question(new DNSQuestion("www.google.com", T_A)); DNSPacket rspok; rspok.set_response() - .add_question(new DNSQuestion("www.google.com", ns_t_a)) + .add_question(new DNSQuestion("www.google.com", T_A)) .add_answer(new DNSARR("www.google.com", 100, {1, 2, 3, 4})); - EXPECT_CALL(server_, OnRequest("www.google.com", ns_t_a)) + EXPECT_CALL(server_, OnRequest("www.google.com", T_A)) .WillOnce(SetReply(&server_, &rsptruncated)) .WillOnce(SetReply(&server_, &rspok)); HostResult result; @@ -118,9 +118,9 @@ static int SocketConnectCallback(ares_socket_t fd, int type, void *data) { TEST_P(MockChannelTest, SockCallback) { DNSPacket rsp; rsp.set_response().set_aa() - .add_question(new DNSQuestion("www.google.com", ns_t_a)) + .add_question(new DNSQuestion("www.google.com", T_A)) .add_answer(new DNSARR("www.google.com", 100, {2, 3, 4, 5})); - EXPECT_CALL(server_, OnRequest("www.google.com", ns_t_a)) + EXPECT_CALL(server_, OnRequest("www.google.com", T_A)) .WillOnce(SetReply(&server_, &rsp)); // Get notified of new sockets @@ -163,9 +163,9 @@ static int SocketConfigureCallback(ares_socket_t fd, int type, void *data) { TEST_P(MockChannelTest, SockConfigureCallback) { DNSPacket rsp; rsp.set_response().set_aa() - .add_question(new DNSQuestion("www.google.com", ns_t_a)) + .add_question(new DNSQuestion("www.google.com", T_A)) .add_answer(new DNSARR("www.google.com", 100, {2, 3, 4, 5})); - EXPECT_CALL(server_, OnRequest("www.google.com", ns_t_a)) + EXPECT_CALL(server_, OnRequest("www.google.com", T_A)) .WillOnce(SetReply(&server_, &rsp)); // Get notified of new sockets @@ -200,7 +200,7 @@ TEST_P(MockChannelTest, SockConfigureFailCallback) { // TCP only to prevent retries TEST_P(MockTCPChannelTest, MalformedResponse) { std::vector<byte> one = {0x01}; - EXPECT_CALL(server_, OnRequest("www.google.com", ns_t_a)) + EXPECT_CALL(server_, OnRequest("www.google.com", T_A)) .WillOnce(SetReplyData(&server_, one)); HostResult result; @@ -213,9 +213,9 @@ TEST_P(MockTCPChannelTest, MalformedResponse) { TEST_P(MockTCPChannelTest, FormErrResponse) { DNSPacket rsp; rsp.set_response().set_aa() - .add_question(new DNSQuestion("www.google.com", ns_t_a)); - rsp.set_rcode(ns_r_formerr); - EXPECT_CALL(server_, OnRequest("www.google.com", ns_t_a)) + .add_question(new DNSQuestion("www.google.com", T_A)); + rsp.set_rcode(FORMERR); + EXPECT_CALL(server_, OnRequest("www.google.com", T_A)) .WillOnce(SetReply(&server_, &rsp)); HostResult result; ares_gethostbyname(channel_, "www.google.com.", AF_INET, HostCallback, &result); @@ -227,9 +227,9 @@ TEST_P(MockTCPChannelTest, FormErrResponse) { TEST_P(MockTCPChannelTest, ServFailResponse) { DNSPacket rsp; rsp.set_response().set_aa() - .add_question(new DNSQuestion("www.google.com", ns_t_a)); - rsp.set_rcode(ns_r_servfail); - EXPECT_CALL(server_, OnRequest("www.google.com", ns_t_a)) + .add_question(new DNSQuestion("www.google.com", T_A)); + rsp.set_rcode(SERVFAIL); + EXPECT_CALL(server_, OnRequest("www.google.com", T_A)) .WillOnce(SetReply(&server_, &rsp)); HostResult result; ares_gethostbyname(channel_, "www.google.com.", AF_INET, HostCallback, &result); @@ -242,24 +242,24 @@ TEST_P(MockTCPChannelTest, ServFailResponse) { TEST_P(MockTCPChannelTest, NotImplResponse) { DNSPacket rsp; rsp.set_response().set_aa() - .add_question(new DNSQuestion("www.google.com", ns_t_a)); - rsp.set_rcode(ns_r_notimpl); - EXPECT_CALL(server_, OnRequest("www.google.com", ns_t_a)) + .add_question(new DNSQuestion("www.google.com", T_A)); + rsp.set_rcode(NOTIMP); + EXPECT_CALL(server_, OnRequest("www.google.com", T_A)) .WillOnce(SetReply(&server_, &rsp)); HostResult result; ares_gethostbyname(channel_, "www.google.com.", AF_INET, HostCallback, &result); Process(); EXPECT_TRUE(result.done_); - // ARES_FLAG_NOCHECKRESP not set, so NOTIMPL consumed + // ARES_FLAG_NOCHECKRESP not set, so NOTIMP consumed EXPECT_EQ(ARES_ECONNREFUSED, result.status_); } TEST_P(MockTCPChannelTest, RefusedResponse) { DNSPacket rsp; rsp.set_response().set_aa() - .add_question(new DNSQuestion("www.google.com", ns_t_a)); - rsp.set_rcode(ns_r_refused); - EXPECT_CALL(server_, OnRequest("www.google.com", ns_t_a)) + .add_question(new DNSQuestion("www.google.com", T_A)); + rsp.set_rcode(REFUSED); + EXPECT_CALL(server_, OnRequest("www.google.com", T_A)) .WillOnce(SetReply(&server_, &rsp)); HostResult result; ares_gethostbyname(channel_, "www.google.com.", AF_INET, HostCallback, &result); @@ -272,9 +272,9 @@ TEST_P(MockTCPChannelTest, RefusedResponse) { TEST_P(MockTCPChannelTest, YXDomainResponse) { DNSPacket rsp; rsp.set_response().set_aa() - .add_question(new DNSQuestion("www.google.com", ns_t_a)); - rsp.set_rcode(ns_r_yxdomain); - EXPECT_CALL(server_, OnRequest("www.google.com", ns_t_a)) + .add_question(new DNSQuestion("www.google.com", T_A)); + rsp.set_rcode(YXDOMAIN); + EXPECT_CALL(server_, OnRequest("www.google.com", T_A)) .WillOnce(SetReply(&server_, &rsp)); HostResult result; ares_gethostbyname(channel_, "www.google.com.", AF_INET, HostCallback, &result); @@ -311,9 +311,9 @@ TEST_P(MockExtraOptsTest, SimpleQuery) { DNSPacket rsp; rsp.set_response().set_aa() - .add_question(new DNSQuestion("www.google.com", ns_t_a)) + .add_question(new DNSQuestion("www.google.com", T_A)) .add_answer(new DNSARR("www.google.com", 100, {2, 3, 4, 5})); - ON_CALL(server_, OnRequest("www.google.com", ns_t_a)) + ON_CALL(server_, OnRequest("www.google.com", T_A)) .WillByDefault(SetReply(&server_, &rsp)); HostResult result; @@ -349,9 +349,9 @@ class MockNoCheckRespChannelTest : public MockFlagsChannelOptsTest { TEST_P(MockNoCheckRespChannelTest, ServFailResponse) { DNSPacket rsp; rsp.set_response().set_aa() - .add_question(new DNSQuestion("www.google.com", ns_t_a)); - rsp.set_rcode(ns_r_servfail); - ON_CALL(server_, OnRequest("www.google.com", ns_t_a)) + .add_question(new DNSQuestion("www.google.com", T_A)); + rsp.set_rcode(SERVFAIL); + ON_CALL(server_, OnRequest("www.google.com", T_A)) .WillByDefault(SetReply(&server_, &rsp)); HostResult result; ares_gethostbyname(channel_, "www.google.com.", AF_INET, HostCallback, &result); @@ -363,9 +363,9 @@ TEST_P(MockNoCheckRespChannelTest, ServFailResponse) { TEST_P(MockNoCheckRespChannelTest, NotImplResponse) { DNSPacket rsp; rsp.set_response().set_aa() - .add_question(new DNSQuestion("www.google.com", ns_t_a)); - rsp.set_rcode(ns_r_notimpl); - ON_CALL(server_, OnRequest("www.google.com", ns_t_a)) + .add_question(new DNSQuestion("www.google.com", T_A)); + rsp.set_rcode(NOTIMP); + ON_CALL(server_, OnRequest("www.google.com", T_A)) .WillByDefault(SetReply(&server_, &rsp)); HostResult result; ares_gethostbyname(channel_, "www.google.com.", AF_INET, HostCallback, &result); @@ -377,9 +377,9 @@ TEST_P(MockNoCheckRespChannelTest, NotImplResponse) { TEST_P(MockNoCheckRespChannelTest, RefusedResponse) { DNSPacket rsp; rsp.set_response().set_aa() - .add_question(new DNSQuestion("www.google.com", ns_t_a)); - rsp.set_rcode(ns_r_refused); - ON_CALL(server_, OnRequest("www.google.com", ns_t_a)) + .add_question(new DNSQuestion("www.google.com", T_A)); + rsp.set_rcode(REFUSED); + ON_CALL(server_, OnRequest("www.google.com", T_A)) .WillByDefault(SetReply(&server_, &rsp)); HostResult result; ares_gethostbyname(channel_, "www.google.com.", AF_INET, HostCallback, &result); @@ -395,13 +395,13 @@ class MockEDNSChannelTest : public MockFlagsChannelOptsTest { TEST_P(MockEDNSChannelTest, RetryWithoutEDNS) { DNSPacket rspfail; - rspfail.set_response().set_aa().set_rcode(ns_r_servfail) - .add_question(new DNSQuestion("www.google.com", ns_t_a)); + rspfail.set_response().set_aa().set_rcode(FORMERR) + .add_question(new DNSQuestion("www.google.com", T_A)); DNSPacket rspok; rspok.set_response() - .add_question(new DNSQuestion("www.google.com", ns_t_a)) + .add_question(new DNSQuestion("www.google.com", T_A)) .add_answer(new DNSARR("www.google.com", 100, {1, 2, 3, 4})); - EXPECT_CALL(server_, OnRequest("www.google.com", ns_t_a)) + EXPECT_CALL(server_, OnRequest("www.google.com", T_A)) .WillOnce(SetReply(&server_, &rspfail)) .WillOnce(SetReply(&server_, &rspok)); HostResult result; @@ -415,20 +415,20 @@ TEST_P(MockEDNSChannelTest, RetryWithoutEDNS) { TEST_P(MockChannelTest, SearchDomains) { DNSPacket nofirst; - nofirst.set_response().set_aa().set_rcode(ns_r_nxdomain) - .add_question(new DNSQuestion("www.first.com", ns_t_a)); - ON_CALL(server_, OnRequest("www.first.com", ns_t_a)) + nofirst.set_response().set_aa().set_rcode(NXDOMAIN) + .add_question(new DNSQuestion("www.first.com", T_A)); + ON_CALL(server_, OnRequest("www.first.com", T_A)) .WillByDefault(SetReply(&server_, &nofirst)); DNSPacket nosecond; - nosecond.set_response().set_aa().set_rcode(ns_r_nxdomain) - .add_question(new DNSQuestion("www.second.org", ns_t_a)); - ON_CALL(server_, OnRequest("www.second.org", ns_t_a)) + nosecond.set_response().set_aa().set_rcode(NXDOMAIN) + .add_question(new DNSQuestion("www.second.org", T_A)); + ON_CALL(server_, OnRequest("www.second.org", T_A)) .WillByDefault(SetReply(&server_, &nosecond)); DNSPacket yesthird; yesthird.set_response().set_aa() - .add_question(new DNSQuestion("www.third.gov", ns_t_a)) + .add_question(new DNSQuestion("www.third.gov", T_A)) .add_answer(new DNSARR("www.third.gov", 0x0200, {2, 3, 4, 5})); - ON_CALL(server_, OnRequest("www.third.gov", ns_t_a)) + ON_CALL(server_, OnRequest("www.third.gov", T_A)) .WillByDefault(SetReply(&server_, &yesthird)); HostResult result; @@ -443,21 +443,21 @@ TEST_P(MockChannelTest, SearchDomains) { // Relies on retries so is UDP-only TEST_P(MockUDPChannelTest, SearchDomainsWithResentReply) { DNSPacket nofirst; - nofirst.set_response().set_aa().set_rcode(ns_r_nxdomain) - .add_question(new DNSQuestion("www.first.com", ns_t_a)); - EXPECT_CALL(server_, OnRequest("www.first.com", ns_t_a)) + nofirst.set_response().set_aa().set_rcode(NXDOMAIN) + .add_question(new DNSQuestion("www.first.com", T_A)); + EXPECT_CALL(server_, OnRequest("www.first.com", T_A)) .WillOnce(SetReply(&server_, &nofirst)); DNSPacket nosecond; - nosecond.set_response().set_aa().set_rcode(ns_r_nxdomain) - .add_question(new DNSQuestion("www.second.org", ns_t_a)); - EXPECT_CALL(server_, OnRequest("www.second.org", ns_t_a)) + nosecond.set_response().set_aa().set_rcode(NXDOMAIN) + .add_question(new DNSQuestion("www.second.org", T_A)); + EXPECT_CALL(server_, OnRequest("www.second.org", T_A)) .WillOnce(SetReply(&server_, &nosecond)); DNSPacket yesthird; yesthird.set_response().set_aa() - .add_question(new DNSQuestion("www.third.gov", ns_t_a)) + .add_question(new DNSQuestion("www.third.gov", T_A)) .add_answer(new DNSARR("www.third.gov", 0x0200, {2, 3, 4, 5})); // Before sending the real answer, resend an earlier reply - EXPECT_CALL(server_, OnRequest("www.third.gov", ns_t_a)) + EXPECT_CALL(server_, OnRequest("www.third.gov", T_A)) .WillOnce(DoAll(SetReply(&server_, &nofirst), SetReplyQID(&server_, 123))) .WillOnce(DoAll(SetReply(&server_, &yesthird), @@ -474,25 +474,25 @@ TEST_P(MockUDPChannelTest, SearchDomainsWithResentReply) { TEST_P(MockChannelTest, SearchDomainsBare) { DNSPacket nofirst; - nofirst.set_response().set_aa().set_rcode(ns_r_nxdomain) - .add_question(new DNSQuestion("www.first.com", ns_t_a)); - ON_CALL(server_, OnRequest("www.first.com", ns_t_a)) + nofirst.set_response().set_aa().set_rcode(NXDOMAIN) + .add_question(new DNSQuestion("www.first.com", T_A)); + ON_CALL(server_, OnRequest("www.first.com", T_A)) .WillByDefault(SetReply(&server_, &nofirst)); DNSPacket nosecond; - nosecond.set_response().set_aa().set_rcode(ns_r_nxdomain) - .add_question(new DNSQuestion("www.second.org", ns_t_a)); - ON_CALL(server_, OnRequest("www.second.org", ns_t_a)) + nosecond.set_response().set_aa().set_rcode(NXDOMAIN) + .add_question(new DNSQuestion("www.second.org", T_A)); + ON_CALL(server_, OnRequest("www.second.org", T_A)) .WillByDefault(SetReply(&server_, &nosecond)); DNSPacket nothird; - nothird.set_response().set_aa().set_rcode(ns_r_nxdomain) - .add_question(new DNSQuestion("www.third.gov", ns_t_a)); - ON_CALL(server_, OnRequest("www.third.gov", ns_t_a)) + nothird.set_response().set_aa().set_rcode(NXDOMAIN) + .add_question(new DNSQuestion("www.third.gov", T_A)); + ON_CALL(server_, OnRequest("www.third.gov", T_A)) .WillByDefault(SetReply(&server_, ¬hird)); DNSPacket yesbare; yesbare.set_response().set_aa() - .add_question(new DNSQuestion("www", ns_t_a)) + .add_question(new DNSQuestion("www", T_A)) .add_answer(new DNSARR("www", 0x0200, {2, 3, 4, 5})); - ON_CALL(server_, OnRequest("www", ns_t_a)) + ON_CALL(server_, OnRequest("www", T_A)) .WillByDefault(SetReply(&server_, &yesbare)); HostResult result; @@ -508,19 +508,19 @@ TEST_P(MockChannelTest, SearchNoDataThenSuccess) { // First two search domains recognize the name but have no A records. DNSPacket nofirst; nofirst.set_response().set_aa() - .add_question(new DNSQuestion("www.first.com", ns_t_a)); - ON_CALL(server_, OnRequest("www.first.com", ns_t_a)) + .add_question(new DNSQuestion("www.first.com", T_A)); + ON_CALL(server_, OnRequest("www.first.com", T_A)) .WillByDefault(SetReply(&server_, &nofirst)); DNSPacket nosecond; nosecond.set_response().set_aa() - .add_question(new DNSQuestion("www.second.org", ns_t_a)); - ON_CALL(server_, OnRequest("www.second.org", ns_t_a)) + .add_question(new DNSQuestion("www.second.org", T_A)); + ON_CALL(server_, OnRequest("www.second.org", T_A)) .WillByDefault(SetReply(&server_, &nosecond)); DNSPacket yesthird; yesthird.set_response().set_aa() - .add_question(new DNSQuestion("www.third.gov", ns_t_a)) + .add_question(new DNSQuestion("www.third.gov", T_A)) .add_answer(new DNSARR("www.third.gov", 0x0200, {2, 3, 4, 5})); - ON_CALL(server_, OnRequest("www.third.gov", ns_t_a)) + ON_CALL(server_, OnRequest("www.third.gov", T_A)) .WillByDefault(SetReply(&server_, &yesthird)); HostResult result; @@ -536,23 +536,23 @@ TEST_P(MockChannelTest, SearchNoDataThenNoDataBare) { // First two search domains recognize the name but have no A records. DNSPacket nofirst; nofirst.set_response().set_aa() - .add_question(new DNSQuestion("www.first.com", ns_t_a)); - ON_CALL(server_, OnRequest("www.first.com", ns_t_a)) + .add_question(new DNSQuestion("www.first.com", T_A)); + ON_CALL(server_, OnRequest("www.first.com", T_A)) .WillByDefault(SetReply(&server_, &nofirst)); DNSPacket nosecond; nosecond.set_response().set_aa() - .add_question(new DNSQuestion("www.second.org", ns_t_a)); - ON_CALL(server_, OnRequest("www.second.org", ns_t_a)) + .add_question(new DNSQuestion("www.second.org", T_A)); + ON_CALL(server_, OnRequest("www.second.org", T_A)) .WillByDefault(SetReply(&server_, &nosecond)); DNSPacket nothird; nothird.set_response().set_aa() - .add_question(new DNSQuestion("www.third.gov", ns_t_a)); - ON_CALL(server_, OnRequest("www.third.gov", ns_t_a)) + .add_question(new DNSQuestion("www.third.gov", T_A)); + ON_CALL(server_, OnRequest("www.third.gov", T_A)) .WillByDefault(SetReply(&server_, ¬hird)); DNSPacket nobare; nobare.set_response().set_aa() - .add_question(new DNSQuestion("www", ns_t_a)); - ON_CALL(server_, OnRequest("www", ns_t_a)) + .add_question(new DNSQuestion("www", T_A)); + ON_CALL(server_, OnRequest("www", T_A)) .WillByDefault(SetReply(&server_, &nobare)); HostResult result; @@ -566,23 +566,23 @@ TEST_P(MockChannelTest, SearchNoDataThenFail) { // First two search domains recognize the name but have no A records. DNSPacket nofirst; nofirst.set_response().set_aa() - .add_question(new DNSQuestion("www.first.com", ns_t_a)); - ON_CALL(server_, OnRequest("www.first.com", ns_t_a)) + .add_question(new DNSQuestion("www.first.com", T_A)); + ON_CALL(server_, OnRequest("www.first.com", T_A)) .WillByDefault(SetReply(&server_, &nofirst)); DNSPacket nosecond; nosecond.set_response().set_aa() - .add_question(new DNSQuestion("www.second.org", ns_t_a)); - ON_CALL(server_, OnRequest("www.second.org", ns_t_a)) + .add_question(new DNSQuestion("www.second.org", T_A)); + ON_CALL(server_, OnRequest("www.second.org", T_A)) .WillByDefault(SetReply(&server_, &nosecond)); DNSPacket nothird; nothird.set_response().set_aa() - .add_question(new DNSQuestion("www.third.gov", ns_t_a)); - ON_CALL(server_, OnRequest("www.third.gov", ns_t_a)) + .add_question(new DNSQuestion("www.third.gov", T_A)); + ON_CALL(server_, OnRequest("www.third.gov", T_A)) .WillByDefault(SetReply(&server_, ¬hird)); DNSPacket nobare; - nobare.set_response().set_aa().set_rcode(ns_r_nxdomain) - .add_question(new DNSQuestion("www", ns_t_a)); - ON_CALL(server_, OnRequest("www", ns_t_a)) + nobare.set_response().set_aa().set_rcode(NXDOMAIN) + .add_question(new DNSQuestion("www", T_A)); + ON_CALL(server_, OnRequest("www", T_A)) .WillByDefault(SetReply(&server_, &nobare)); HostResult result; @@ -595,7 +595,7 @@ TEST_P(MockChannelTest, SearchNoDataThenFail) { TEST_P(MockChannelTest, SearchAllocFailure) { SearchResult result; SetAllocFail(1); - ares_search(channel_, "fully.qualified.", ns_c_in, ns_t_a, SearchCallback, &result); + ares_search(channel_, "fully.qualified.", C_IN, T_A, SearchCallback, &result); /* Already done */ EXPECT_TRUE(result.done_); EXPECT_EQ(ARES_ENOMEM, result.status_); @@ -603,19 +603,19 @@ TEST_P(MockChannelTest, SearchAllocFailure) { TEST_P(MockChannelTest, SearchHighNdots) { DNSPacket nobare; - nobare.set_response().set_aa().set_rcode(ns_r_nxdomain) - .add_question(new DNSQuestion("a.b.c.w.w.w", ns_t_a)); - ON_CALL(server_, OnRequest("a.b.c.w.w.w", ns_t_a)) + nobare.set_response().set_aa().set_rcode(NXDOMAIN) + .add_question(new DNSQuestion("a.b.c.w.w.w", T_A)); + ON_CALL(server_, OnRequest("a.b.c.w.w.w", T_A)) .WillByDefault(SetReply(&server_, &nobare)); DNSPacket yesfirst; yesfirst.set_response().set_aa() - .add_question(new DNSQuestion("a.b.c.w.w.w.first.com", ns_t_a)) + .add_question(new DNSQuestion("a.b.c.w.w.w.first.com", T_A)) .add_answer(new DNSARR("a.b.c.w.w.w.first.com", 0x0200, {2, 3, 4, 5})); - ON_CALL(server_, OnRequest("a.b.c.w.w.w.first.com", ns_t_a)) + ON_CALL(server_, OnRequest("a.b.c.w.w.w.first.com", T_A)) .WillByDefault(SetReply(&server_, &yesfirst)); SearchResult result; - ares_search(channel_, "a.b.c.w.w.w", ns_c_in, ns_t_a, SearchCallback, &result); + ares_search(channel_, "a.b.c.w.w.w", C_IN, T_A, SearchCallback, &result); Process(); EXPECT_TRUE(result.done_); EXPECT_EQ(ARES_SUCCESS, result.status_); @@ -629,11 +629,11 @@ TEST_P(MockChannelTest, SearchHighNdots) { TEST_P(MockChannelTest, UnspecifiedFamilyV6) { DNSPacket rsp6; rsp6.set_response().set_aa() - .add_question(new DNSQuestion("example.com", ns_t_aaaa)) + .add_question(new DNSQuestion("example.com", T_AAAA)) .add_answer(new DNSAaaaRR("example.com", 100, {0x21, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03})); - ON_CALL(server_, OnRequest("example.com", ns_t_aaaa)) + ON_CALL(server_, OnRequest("example.com", T_AAAA)) .WillByDefault(SetReply(&server_, &rsp6)); HostResult result; @@ -649,14 +649,14 @@ TEST_P(MockChannelTest, UnspecifiedFamilyV6) { TEST_P(MockChannelTest, UnspecifiedFamilyV4) { DNSPacket rsp6; rsp6.set_response().set_aa() - .add_question(new DNSQuestion("example.com", ns_t_aaaa)); - ON_CALL(server_, OnRequest("example.com", ns_t_aaaa)) + .add_question(new DNSQuestion("example.com", T_AAAA)); + ON_CALL(server_, OnRequest("example.com", T_AAAA)) .WillByDefault(SetReply(&server_, &rsp6)); DNSPacket rsp4; rsp4.set_response().set_aa() - .add_question(new DNSQuestion("example.com", ns_t_a)) + .add_question(new DNSQuestion("example.com", T_A)) .add_answer(new DNSARR("example.com", 100, {2, 3, 4, 5})); - ON_CALL(server_, OnRequest("example.com", ns_t_a)) + ON_CALL(server_, OnRequest("example.com", T_A)) .WillByDefault(SetReply(&server_, &rsp4)); HostResult result; @@ -671,14 +671,14 @@ TEST_P(MockChannelTest, UnspecifiedFamilyV4) { TEST_P(MockChannelTest, UnspecifiedFamilyNoData) { DNSPacket rsp6; rsp6.set_response().set_aa() - .add_question(new DNSQuestion("example.com", ns_t_aaaa)) + .add_question(new DNSQuestion("example.com", T_AAAA)) .add_answer(new DNSCnameRR("example.com", 100, "elsewhere.com")); - ON_CALL(server_, OnRequest("example.com", ns_t_aaaa)) + ON_CALL(server_, OnRequest("example.com", T_AAAA)) .WillByDefault(SetReply(&server_, &rsp6)); DNSPacket rsp4; rsp4.set_response().set_aa() - .add_question(new DNSQuestion("example.com", ns_t_a)); - ON_CALL(server_, OnRequest("example.com", ns_t_a)) + .add_question(new DNSQuestion("example.com", T_A)); + ON_CALL(server_, OnRequest("example.com", T_A)) .WillByDefault(SetReply(&server_, &rsp4)); HostResult result; @@ -693,15 +693,15 @@ TEST_P(MockChannelTest, UnspecifiedFamilyNoData) { TEST_P(MockChannelTest, UnspecifiedFamilyCname6A4) { DNSPacket rsp6; rsp6.set_response().set_aa() - .add_question(new DNSQuestion("example.com", ns_t_aaaa)) + .add_question(new DNSQuestion("example.com", T_AAAA)) .add_answer(new DNSCnameRR("example.com", 100, "elsewhere.com")); - ON_CALL(server_, OnRequest("example.com", ns_t_aaaa)) + ON_CALL(server_, OnRequest("example.com", T_AAAA)) .WillByDefault(SetReply(&server_, &rsp6)); DNSPacket rsp4; rsp4.set_response().set_aa() - .add_question(new DNSQuestion("example.com", ns_t_a)) + .add_question(new DNSQuestion("example.com", T_A)) .add_answer(new DNSARR("example.com", 100, {1, 2, 3, 4})); - ON_CALL(server_, OnRequest("example.com", ns_t_a)) + ON_CALL(server_, OnRequest("example.com", T_A)) .WillByDefault(SetReply(&server_, &rsp4)); HostResult result; @@ -734,11 +734,11 @@ TEST_P(MockChannelTest, ExplicitIPAllocFail) { TEST_P(MockChannelTest, SortListV4) { DNSPacket rsp; rsp.set_response().set_aa() - .add_question(new DNSQuestion("example.com", ns_t_a)) + .add_question(new DNSQuestion("example.com", T_A)) .add_answer(new DNSARR("example.com", 100, {22, 23, 24, 25})) .add_answer(new DNSARR("example.com", 100, {12, 13, 14, 15})) .add_answer(new DNSARR("example.com", 100, {2, 3, 4, 5})); - ON_CALL(server_, OnRequest("example.com", ns_t_a)) + ON_CALL(server_, OnRequest("example.com", T_A)) .WillByDefault(SetReply(&server_, &rsp)); { @@ -772,14 +772,14 @@ TEST_P(MockChannelTest, SortListV4) { TEST_P(MockChannelTest, SortListV6) { DNSPacket rsp; rsp.set_response().set_aa() - .add_question(new DNSQuestion("example.com", ns_t_aaaa)) + .add_question(new DNSQuestion("example.com", T_AAAA)) .add_answer(new DNSAaaaRR("example.com", 100, {0x11, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02})) .add_answer(new DNSAaaaRR("example.com", 100, {0x21, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03})); - ON_CALL(server_, OnRequest("example.com", ns_t_aaaa)) + ON_CALL(server_, OnRequest("example.com", T_AAAA)) .WillByDefault(SetReply(&server_, &rsp)); { @@ -809,20 +809,20 @@ TEST_P(MockChannelTest, SortListV6) { // Relies on retries so is UDP-only TEST_P(MockUDPChannelTest, SearchDomainsAllocFail) { DNSPacket nofirst; - nofirst.set_response().set_aa().set_rcode(ns_r_nxdomain) - .add_question(new DNSQuestion("www.first.com", ns_t_a)); - ON_CALL(server_, OnRequest("www.first.com", ns_t_a)) + nofirst.set_response().set_aa().set_rcode(NXDOMAIN) + .add_question(new DNSQuestion("www.first.com", T_A)); + ON_CALL(server_, OnRequest("www.first.com", T_A)) .WillByDefault(SetReply(&server_, &nofirst)); DNSPacket nosecond; - nosecond.set_response().set_aa().set_rcode(ns_r_nxdomain) - .add_question(new DNSQuestion("www.second.org", ns_t_a)); - ON_CALL(server_, OnRequest("www.second.org", ns_t_a)) + nosecond.set_response().set_aa().set_rcode(NXDOMAIN) + .add_question(new DNSQuestion("www.second.org", T_A)); + ON_CALL(server_, OnRequest("www.second.org", T_A)) .WillByDefault(SetReply(&server_, &nosecond)); DNSPacket yesthird; yesthird.set_response().set_aa() - .add_question(new DNSQuestion("www.third.gov", ns_t_a)) + .add_question(new DNSQuestion("www.third.gov", T_A)) .add_answer(new DNSARR("www.third.gov", 0x0200, {2, 3, 4, 5})); - ON_CALL(server_, OnRequest("www.third.gov", ns_t_a)) + ON_CALL(server_, OnRequest("www.third.gov", T_A)) .WillByDefault(SetReply(&server_, &yesthird)); // Fail a variety of different memory allocations, and confirm @@ -856,10 +856,10 @@ TEST_P(MockUDPChannelTest, Resend) { std::vector<byte> nothing; DNSPacket reply; reply.set_response().set_aa() - .add_question(new DNSQuestion("www.google.com", ns_t_a)) + .add_question(new DNSQuestion("www.google.com", T_A)) .add_answer(new DNSARR("www.google.com", 0x0100, {0x01, 0x02, 0x03, 0x04})); - EXPECT_CALL(server_, OnRequest("www.google.com", ns_t_a)) + EXPECT_CALL(server_, OnRequest("www.google.com", T_A)) .WillOnce(SetReplyData(&server_, nothing)) .WillOnce(SetReplyData(&server_, nothing)) .WillOnce(SetReply(&server_, &reply)); @@ -900,7 +900,7 @@ TEST_P(MockUDPChannelTest, CancelLater) { std::vector<byte> nothing; // On second request, cancel the channel. - EXPECT_CALL(server_, OnRequest("www.google.com", ns_t_a)) + EXPECT_CALL(server_, OnRequest("www.google.com", T_A)) .WillOnce(SetReplyData(&server_, nothing)) .WillOnce(CancelChannel(&server_, channel_)); @@ -939,9 +939,9 @@ TEST_P(MockChannelTest, GetHostByNameDestroyRelative) { TEST_P(MockChannelTest, GetHostByNameCNAMENoData) { DNSPacket response; response.set_response().set_aa() - .add_question(new DNSQuestion("cname.first.com", ns_t_a)) + .add_question(new DNSQuestion("cname.first.com", T_A)) .add_answer(new DNSCnameRR("cname.first.com", 100, "a.first.com")); - ON_CALL(server_, OnRequest("cname.first.com", ns_t_a)) + ON_CALL(server_, OnRequest("cname.first.com", T_A)) .WillByDefault(SetReply(&server_, &response)); HostResult result; @@ -968,9 +968,9 @@ TEST_P(MockChannelTest, GetHostByAddrDestroy) { TEST_P(MockChannelTest, HostAlias) { DNSPacket reply; reply.set_response().set_aa() - .add_question(new DNSQuestion("www.google.com", ns_t_a)) + .add_question(new DNSQuestion("www.google.com", T_A)) .add_answer(new DNSARR("www.google.com", 0x0100, {0x01, 0x02, 0x03, 0x04})); - ON_CALL(server_, OnRequest("www.google.com", ns_t_a)) + ON_CALL(server_, OnRequest("www.google.com", T_A)) .WillByDefault(SetReply(&server_, &reply)); TempFile aliases("\n\n# www commentedout\nwww www.google.com\n"); @@ -988,9 +988,9 @@ TEST_P(MockChannelTest, HostAlias) { TEST_P(MockChannelTest, HostAliasMissing) { DNSPacket yesfirst; yesfirst.set_response().set_aa() - .add_question(new DNSQuestion("www.first.com", ns_t_a)) + .add_question(new DNSQuestion("www.first.com", T_A)) .add_answer(new DNSARR("www.first.com", 0x0200, {2, 3, 4, 5})); - ON_CALL(server_, OnRequest("www.first.com", ns_t_a)) + ON_CALL(server_, OnRequest("www.first.com", T_A)) .WillByDefault(SetReply(&server_, &yesfirst)); TempFile aliases("\n\n# www commentedout\nww www.google.com\n"); @@ -1007,9 +1007,9 @@ TEST_P(MockChannelTest, HostAliasMissing) { TEST_P(MockChannelTest, HostAliasMissingFile) { DNSPacket yesfirst; yesfirst.set_response().set_aa() - .add_question(new DNSQuestion("www.first.com", ns_t_a)) + .add_question(new DNSQuestion("www.first.com", T_A)) .add_answer(new DNSARR("www.first.com", 0x0200, {2, 3, 4, 5})); - ON_CALL(server_, OnRequest("www.first.com", ns_t_a)) + ON_CALL(server_, OnRequest("www.first.com", T_A)) .WillByDefault(SetReply(&server_, &yesfirst)); EnvValue with_env("HOSTALIASES", "bogus.mcfile"); @@ -1071,39 +1071,39 @@ TEST_P(RotateMultiMockTest, ThirdServer) { ares_destroy_options(&opts); DNSPacket servfailrsp; - servfailrsp.set_response().set_aa().set_rcode(ns_r_servfail) - .add_question(new DNSQuestion("www.example.com", ns_t_a)); + servfailrsp.set_response().set_aa().set_rcode(SERVFAIL) + .add_question(new DNSQuestion("www.example.com", T_A)); DNSPacket notimplrsp; - notimplrsp.set_response().set_aa().set_rcode(ns_r_notimpl) - .add_question(new DNSQuestion("www.example.com", ns_t_a)); + notimplrsp.set_response().set_aa().set_rcode(NOTIMP) + .add_question(new DNSQuestion("www.example.com", T_A)); DNSPacket okrsp; okrsp.set_response().set_aa() - .add_question(new DNSQuestion("www.example.com", ns_t_a)) + .add_question(new DNSQuestion("www.example.com", T_A)) .add_answer(new DNSARR("www.example.com", 100, {2,3,4,5})); - EXPECT_CALL(*servers_[0], OnRequest("www.example.com", ns_t_a)) + EXPECT_CALL(*servers_[0], OnRequest("www.example.com", T_A)) .WillOnce(SetReply(servers_[0].get(), &servfailrsp)); - EXPECT_CALL(*servers_[1], OnRequest("www.example.com", ns_t_a)) + EXPECT_CALL(*servers_[1], OnRequest("www.example.com", T_A)) .WillOnce(SetReply(servers_[1].get(), ¬implrsp)); - EXPECT_CALL(*servers_[2], OnRequest("www.example.com", ns_t_a)) + EXPECT_CALL(*servers_[2], OnRequest("www.example.com", T_A)) .WillOnce(SetReply(servers_[2].get(), &okrsp)); CheckExample(); // Second time around, starts from server [1]. - EXPECT_CALL(*servers_[1], OnRequest("www.example.com", ns_t_a)) + EXPECT_CALL(*servers_[1], OnRequest("www.example.com", T_A)) .WillOnce(SetReply(servers_[1].get(), &servfailrsp)); - EXPECT_CALL(*servers_[2], OnRequest("www.example.com", ns_t_a)) + EXPECT_CALL(*servers_[2], OnRequest("www.example.com", T_A)) .WillOnce(SetReply(servers_[2].get(), ¬implrsp)); - EXPECT_CALL(*servers_[0], OnRequest("www.example.com", ns_t_a)) + EXPECT_CALL(*servers_[0], OnRequest("www.example.com", T_A)) .WillOnce(SetReply(servers_[0].get(), &okrsp)); CheckExample(); // Third time around, starts from server [2]. - EXPECT_CALL(*servers_[2], OnRequest("www.example.com", ns_t_a)) + EXPECT_CALL(*servers_[2], OnRequest("www.example.com", T_A)) .WillOnce(SetReply(servers_[2].get(), &servfailrsp)); - EXPECT_CALL(*servers_[0], OnRequest("www.example.com", ns_t_a)) + EXPECT_CALL(*servers_[0], OnRequest("www.example.com", T_A)) .WillOnce(SetReply(servers_[0].get(), ¬implrsp)); - EXPECT_CALL(*servers_[1], OnRequest("www.example.com", ns_t_a)) + EXPECT_CALL(*servers_[1], OnRequest("www.example.com", T_A)) .WillOnce(SetReply(servers_[1].get(), &okrsp)); CheckExample(); } @@ -1116,39 +1116,39 @@ TEST_P(NoRotateMultiMockTest, ThirdServer) { ares_destroy_options(&opts); DNSPacket servfailrsp; - servfailrsp.set_response().set_aa().set_rcode(ns_r_servfail) - .add_question(new DNSQuestion("www.example.com", ns_t_a)); + servfailrsp.set_response().set_aa().set_rcode(SERVFAIL) + .add_question(new DNSQuestion("www.example.com", T_A)); DNSPacket notimplrsp; - notimplrsp.set_response().set_aa().set_rcode(ns_r_notimpl) - .add_question(new DNSQuestion("www.example.com", ns_t_a)); + notimplrsp.set_response().set_aa().set_rcode(NOTIMP) + .add_question(new DNSQuestion("www.example.com", T_A)); DNSPacket okrsp; okrsp.set_response().set_aa() - .add_question(new DNSQuestion("www.example.com", ns_t_a)) + .add_question(new DNSQuestion("www.example.com", T_A)) .add_answer(new DNSARR("www.example.com", 100, {2,3,4,5})); - EXPECT_CALL(*servers_[0], OnRequest("www.example.com", ns_t_a)) + EXPECT_CALL(*servers_[0], OnRequest("www.example.com", T_A)) .WillOnce(SetReply(servers_[0].get(), &servfailrsp)); - EXPECT_CALL(*servers_[1], OnRequest("www.example.com", ns_t_a)) + EXPECT_CALL(*servers_[1], OnRequest("www.example.com", T_A)) .WillOnce(SetReply(servers_[1].get(), ¬implrsp)); - EXPECT_CALL(*servers_[2], OnRequest("www.example.com", ns_t_a)) + EXPECT_CALL(*servers_[2], OnRequest("www.example.com", T_A)) .WillOnce(SetReply(servers_[2].get(), &okrsp)); CheckExample(); // Second time around, still starts from server [0]. - EXPECT_CALL(*servers_[0], OnRequest("www.example.com", ns_t_a)) + EXPECT_CALL(*servers_[0], OnRequest("www.example.com", T_A)) .WillOnce(SetReply(servers_[0].get(), &servfailrsp)); - EXPECT_CALL(*servers_[1], OnRequest("www.example.com", ns_t_a)) + EXPECT_CALL(*servers_[1], OnRequest("www.example.com", T_A)) .WillOnce(SetReply(servers_[1].get(), ¬implrsp)); - EXPECT_CALL(*servers_[2], OnRequest("www.example.com", ns_t_a)) + EXPECT_CALL(*servers_[2], OnRequest("www.example.com", T_A)) .WillOnce(SetReply(servers_[2].get(), &okrsp)); CheckExample(); // Third time around, still starts from server [0]. - EXPECT_CALL(*servers_[0], OnRequest("www.example.com", ns_t_a)) + EXPECT_CALL(*servers_[0], OnRequest("www.example.com", T_A)) .WillOnce(SetReply(servers_[0].get(), &servfailrsp)); - EXPECT_CALL(*servers_[1], OnRequest("www.example.com", ns_t_a)) + EXPECT_CALL(*servers_[1], OnRequest("www.example.com", T_A)) .WillOnce(SetReply(servers_[1].get(), ¬implrsp)); - EXPECT_CALL(*servers_[2], OnRequest("www.example.com", ns_t_a)) + EXPECT_CALL(*servers_[2], OnRequest("www.example.com", T_A)) .WillOnce(SetReply(servers_[2].get(), &okrsp)); CheckExample(); } diff --git a/contrib/libs/c-ares/test/ares-test-parse-a.cc b/contrib/libs/c-ares/test/ares-test-parse-a.cc index 7f6a987c13..f8050ac708 100644 --- a/contrib/libs/c-ares/test/ares-test-parse-a.cc +++ b/contrib/libs/c-ares/test/ares-test-parse-a.cc @@ -10,7 +10,7 @@ namespace test { TEST_F(LibraryTest, ParseAReplyOK) { DNSPacket pkt; pkt.set_qid(0x1234).set_response().set_aa() - .add_question(new DNSQuestion("example.com", ns_t_a)) + .add_question(new DNSQuestion("example.com", T_A)) .add_answer(new DNSARR("example.com", 0x01020304, {2,3,4,5})) .add_answer(new DNSAaaaRR("example.com", 0x01020304, {0,0,0,0,0,0,0,0,0,0,0,0,2,3,4,5})); std::vector<byte> data = { @@ -119,7 +119,7 @@ TEST_F(LibraryTest, ParseMalformedAReply) { TEST_F(LibraryTest, ParseAReplyNoData) { DNSPacket pkt; pkt.set_qid(0x1234).set_response().set_aa() - .add_question(new DNSQuestion("example.com", ns_t_a)); + .add_question(new DNSQuestion("example.com", T_A)); std::vector<byte> data = pkt.data(); struct hostent *host = nullptr; struct ares_addrttl info[2]; @@ -146,7 +146,7 @@ TEST_F(LibraryTest, ParseAReplyNoData) { TEST_F(LibraryTest, ParseAReplyVariantA) { DNSPacket pkt; pkt.set_qid(6366).set_rd().set_ra() - .add_question(new DNSQuestion("mit.edu", ns_t_a)) + .add_question(new DNSQuestion("mit.edu", T_A)) .add_answer(new DNSARR("mit.edu", 52, {18,7,22,69})) .add_auth(new DNSNsRR("mit.edu", 292, "W20NS.mit.edu")) .add_auth(new DNSNsRR("mit.edu", 292, "BITSY.mit.edu")) @@ -167,7 +167,7 @@ TEST_F(LibraryTest, ParseAReplyVariantA) { TEST_F(LibraryTest, ParseAReplyJustCname) { DNSPacket pkt; pkt.set_qid(6366).set_rd().set_ra() - .add_question(new DNSQuestion("mit.edu", ns_t_a)) + .add_question(new DNSQuestion("mit.edu", T_A)) .add_answer(new DNSCnameRR("mit.edu", 52, "other.mit.edu")); struct hostent *host = nullptr; struct ares_addrttl info[2]; @@ -186,7 +186,7 @@ TEST_F(LibraryTest, ParseAReplyJustCname) { TEST_F(LibraryTest, ParseAReplyVariantCname) { DNSPacket pkt; pkt.set_qid(6366).set_rd().set_ra() - .add_question(new DNSQuestion("query.example.com", ns_t_a)) + .add_question(new DNSQuestion("query.example.com", T_A)) .add_answer(new DNSCnameRR("query.example.com", 200, "redirect.query.example.com")) .add_answer(new DNSARR("redirect.query.example.com", 300, {129,97,123,22})) .add_auth(new DNSNsRR("example.com", 218, "aa.ns1.example.com")) @@ -218,7 +218,7 @@ TEST_F(LibraryTest, ParseAReplyVariantCname) { TEST_F(LibraryTest, ParseAReplyVariantCnameChain) { DNSPacket pkt; pkt.set_qid(6366).set_rd().set_ra() - .add_question(new DNSQuestion("c1.localhost", ns_t_a)) + .add_question(new DNSQuestion("c1.localhost", T_A)) .add_answer(new DNSCnameRR("c1.localhost", 604800, "c2.localhost")) .add_answer(new DNSCnameRR("c2.localhost", 604800, "c3.localhost")) .add_answer(new DNSCnameRR("c3.localhost", 604800, "c4.localhost")) @@ -243,7 +243,7 @@ TEST_F(LibraryTest, ParseAReplyVariantCnameChain) { TEST_F(LibraryTest, DISABLED_ParseAReplyVariantCnameLast) { DNSPacket pkt; pkt.set_qid(6366).set_rd().set_ra() - .add_question(new DNSQuestion("query.example.com", ns_t_a)) + .add_question(new DNSQuestion("query.example.com", T_A)) .add_answer(new DNSARR("redirect.query.example.com", 300, {129,97,123,221})) .add_answer(new DNSARR("redirect.query.example.com", 300, {129,97,123,222})) .add_answer(new DNSARR("redirect.query.example.com", 300, {129,97,123,223})) @@ -271,7 +271,7 @@ TEST_F(LibraryTest, DISABLED_ParseAReplyVariantCnameLast) { TEST_F(LibraryTest, ParseAReplyErrors) { DNSPacket pkt; pkt.set_qid(0x1234).set_response().set_aa() - .add_question(new DNSQuestion("example.com", ns_t_a)) + .add_question(new DNSQuestion("example.com", T_A)) .add_answer(new DNSARR("example.com", 100, {0x02, 0x03, 0x04, 0x05})); std::vector<byte> data; @@ -285,17 +285,17 @@ TEST_F(LibraryTest, ParseAReplyErrors) { EXPECT_EQ(ARES_EBADRESP, ares_parse_a_reply(data.data(), data.size(), &host, info, &count)); EXPECT_EQ(nullptr, host); - pkt.add_question(new DNSQuestion("example.com", ns_t_a)); + pkt.add_question(new DNSQuestion("example.com", T_A)); // Question != answer pkt.questions_.clear(); - pkt.add_question(new DNSQuestion("Axample.com", ns_t_a)); + pkt.add_question(new DNSQuestion("Axample.com", T_A)); data = pkt.data(); EXPECT_EQ(ARES_ENODATA, ares_parse_a_reply(data.data(), data.size(), &host, info, &count)); EXPECT_EQ(nullptr, host); pkt.questions_.clear(); - pkt.add_question(new DNSQuestion("example.com", ns_t_a)); + pkt.add_question(new DNSQuestion("example.com", T_A)); #ifdef DISABLED // Not a response. @@ -307,22 +307,22 @@ TEST_F(LibraryTest, ParseAReplyErrors) { pkt.set_response(true); // Bad return code. - pkt.set_rcode(ns_r_formerr); + pkt.set_rcode(FORMERR); data = pkt.data(); EXPECT_EQ(ARES_ENODATA, ares_parse_a_reply(data.data(), data.size(), &host, info, &count)); EXPECT_EQ(nullptr, host); - pkt.set_rcode(ns_r_noerror); + pkt.set_rcode(NOERROR); #endif // Two questions - pkt.add_question(new DNSQuestion("example.com", ns_t_a)); + pkt.add_question(new DNSQuestion("example.com", T_A)); data = pkt.data(); EXPECT_EQ(ARES_EBADRESP, ares_parse_a_reply(data.data(), data.size(), &host, info, &count)); EXPECT_EQ(nullptr, host); pkt.questions_.clear(); - pkt.add_question(new DNSQuestion("example.com", ns_t_a)); + pkt.add_question(new DNSQuestion("example.com", T_A)); // Wrong sort of answer. pkt.answers_.clear(); @@ -356,7 +356,7 @@ TEST_F(LibraryTest, ParseAReplyErrors) { TEST_F(LibraryTest, ParseAReplyAllocFail) { DNSPacket pkt; pkt.set_qid(0x1234).set_response().set_aa() - .add_question(new DNSQuestion("example.com", ns_t_a)) + .add_question(new DNSQuestion("example.com", T_A)) .add_answer(new DNSCnameRR("example.com", 300, "c.example.com")) .add_answer(new DNSARR("c.example.com", 500, {0x02, 0x03, 0x04, 0x05})); std::vector<byte> data = pkt.data(); diff --git a/contrib/libs/c-ares/test/ares-test-parse-aaaa.cc b/contrib/libs/c-ares/test/ares-test-parse-aaaa.cc index 1314c837a6..df56529680 100644 --- a/contrib/libs/c-ares/test/ares-test-parse-aaaa.cc +++ b/contrib/libs/c-ares/test/ares-test-parse-aaaa.cc @@ -10,7 +10,7 @@ namespace test { TEST_F(LibraryTest, ParseAaaaReplyOK) { DNSPacket pkt; pkt.set_qid(0x1234).set_response().set_aa() - .add_question(new DNSQuestion("example.com", ns_t_aaaa)) + .add_question(new DNSQuestion("example.com", T_AAAA)) .add_answer(new DNSAaaaRR("example.com", 100, {0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x03, 0x04, 0x04, 0x04, 0x04})) @@ -40,7 +40,7 @@ TEST_F(LibraryTest, ParseAaaaReplyOK) { TEST_F(LibraryTest, ParseAaaaReplyCname) { DNSPacket pkt; pkt.set_qid(0x1234).set_response().set_aa() - .add_question(new DNSQuestion("example.com", ns_t_aaaa)) + .add_question(new DNSQuestion("example.com", T_AAAA)) .add_answer(new DNSCnameRR("example.com", 50, "c.example.com")) .add_answer(new DNSAaaaRR("c.example.com", 100, {0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, @@ -75,7 +75,7 @@ TEST_F(LibraryTest, ParseAaaaReplyCname) { TEST_F(LibraryTest, ParseAaaaReplyNoData) { DNSPacket pkt; pkt.set_qid(0x1234).set_response().set_aa() - .add_question(new DNSQuestion("example.com", ns_t_aaaa)); + .add_question(new DNSQuestion("example.com", T_AAAA)); std::vector<byte> data = pkt.data(); struct hostent *host = nullptr; struct ares_addr6ttl info[2]; @@ -96,7 +96,7 @@ TEST_F(LibraryTest, ParseAaaaReplyNoData) { TEST_F(LibraryTest, ParseAaaaReplyErrors) { DNSPacket pkt; pkt.set_qid(0x1234).set_response().set_aa() - .add_question(new DNSQuestion("example.com", ns_t_aaaa)) + .add_question(new DNSQuestion("example.com", T_AAAA)) .add_answer(new DNSAaaaRR("example.com", 100, {0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x03, 0x04, 0x04, 0x04, 0x04})); @@ -112,26 +112,26 @@ TEST_F(LibraryTest, ParseAaaaReplyErrors) { EXPECT_EQ(ARES_EBADRESP, ares_parse_aaaa_reply(data.data(), data.size(), &host, info, &count)); EXPECT_EQ(nullptr, host); - pkt.add_question(new DNSQuestion("example.com", ns_t_aaaa)); + pkt.add_question(new DNSQuestion("example.com", T_AAAA)); // Question != answer pkt.questions_.clear(); - pkt.add_question(new DNSQuestion("Axample.com", ns_t_aaaa)); + pkt.add_question(new DNSQuestion("Axample.com", T_AAAA)); data = pkt.data(); EXPECT_EQ(ARES_ENODATA, ares_parse_aaaa_reply(data.data(), data.size(), &host, info, &count)); EXPECT_EQ(nullptr, host); pkt.questions_.clear(); - pkt.add_question(new DNSQuestion("example.com", ns_t_aaaa)); + pkt.add_question(new DNSQuestion("example.com", T_AAAA)); // Two questions. - pkt.add_question(new DNSQuestion("example.com", ns_t_aaaa)); + pkt.add_question(new DNSQuestion("example.com", T_AAAA)); data = pkt.data(); EXPECT_EQ(ARES_EBADRESP, ares_parse_aaaa_reply(data.data(), data.size(), &host, info, &count)); EXPECT_EQ(nullptr, host); pkt.questions_.clear(); - pkt.add_question(new DNSQuestion("example.com", ns_t_aaaa)); + pkt.add_question(new DNSQuestion("example.com", T_AAAA)); // Wrong sort of answer. pkt.answers_.clear(); @@ -169,7 +169,7 @@ TEST_F(LibraryTest, ParseAaaaReplyErrors) { TEST_F(LibraryTest, ParseAaaaReplyAllocFail) { DNSPacket pkt; pkt.set_qid(0x1234).set_response().set_aa() - .add_question(new DNSQuestion("example.com", ns_t_aaaa)) + .add_question(new DNSQuestion("example.com", T_AAAA)) .add_answer(new DNSCnameRR("example.com", 300, "c.example.com")) .add_answer(new DNSAaaaRR("c.example.com", 100, {0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, diff --git a/contrib/libs/c-ares/test/ares-test-parse-caa.cc b/contrib/libs/c-ares/test/ares-test-parse-caa.cc new file mode 100644 index 0000000000..99903edf71 --- /dev/null +++ b/contrib/libs/c-ares/test/ares-test-parse-caa.cc @@ -0,0 +1,113 @@ +#include "ares-test.h" +#include "dns-proto.h" + +#include <sstream> +#include <vector> + +namespace ares { +namespace test { + +TEST_F(LibraryTest, ParseCaaReplyMultipleOK) { + std::vector<byte> data = { + 0x27, 0x86, 0x81, 0x80, 0x00, 0x01, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x09, 0x77, 0x69, 0x6B, // '............wik + 0x69, 0x70, 0x65, 0x64, 0x69, 0x61, 0x03, 0x6F, 0x72, 0x67, 0x00, 0x01, 0x01, 0x00, 0x01, 0xC0, // ipedia.org...... + 0x0C, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x02, 0x23, 0x00, 0x15, 0x00, 0x05, 0x69, 0x73, 0x73, // ........#....iss + 0x75, 0x65, 0x67, 0x6C, 0x6F, 0x62, 0x61, 0x6C, 0x73, 0x69, 0x67, 0x6E, 0x2E, 0x63, 0x6F, 0x6D, // ueglobalsign.com + 0xC0, 0x0C, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x02, 0x23, 0x00, 0x13, 0x00, 0x05, 0x69, 0x73, // .........#....is + 0x73, 0x75, 0x65, 0x64, 0x69, 0x67, 0x69, 0x63, 0x65, 0x72, 0x74, 0x2E, 0x63, 0x6F, 0x6D, 0xC0, // suedigicert.com. + 0x0C, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x02, 0x23, 0x00, 0x16, 0x00, 0x05, 0x69, 0x73, 0x73, // ........#....iss + 0x75, 0x65, 0x6C, 0x65, 0x74, 0x73, 0x65, 0x6E, 0x63, 0x72, 0x79, 0x70, 0x74, 0x2E, 0x6F, 0x72, // ueletsencrypt.or + 0x67, 0xC0, 0x0C, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x02, 0x23, 0x00, 0x25, 0x00, 0x05, 0x69, // g.........#.%..i + 0x6F, 0x64, 0x65, 0x66, 0x6D, 0x61, 0x69, 0x6C, 0x74, 0x6F, 0x3A, 0x64, 0x6E, 0x73, 0x2D, 0x61, // odefmailto:dns-a + 0x64, 0x6D, 0x69, 0x6E, 0x40, 0x77, 0x69, 0x6B, 0x69, 0x6D, 0x65, 0x64, 0x69, 0x61, 0x2E, 0x6F, // dmin@wikimedia.o + 0x72, 0x67 // rg + }; + + struct ares_caa_reply* caa = nullptr; + EXPECT_EQ(ARES_SUCCESS, ares_parse_caa_reply(data.data(), data.size(), &caa)); + ASSERT_NE(nullptr, caa); + ASSERT_NE(nullptr, caa->next); + ASSERT_NE(nullptr, caa->next->next); + ASSERT_NE(nullptr, caa->next->next->next); + + ares_free_data(caa); +} + +TEST_F(LibraryTest, ParseCaaReplySingleOK) { + std::vector<byte> data = { + 0x27, 0x86, 0x81, 0x80, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x06, 0x67, 0x6F, 0x6F, // '............goo + 0x67, 0x6C, 0x65, 0x03, 0x63, 0x6F, 0x6D, 0x00, 0x01, 0x01, 0x00, 0x01, 0xC0, 0x0C, 0x01, 0x01, // gle.com......... + 0x00, 0x01, 0x00, 0x01, 0x43, 0xBE, 0x00, 0x0F, 0x00, 0x05, 0x69, 0x73, 0x73, 0x75, 0x65, 0x70, // ....C.....issuep + 0x6B, 0x69, 0x2E, 0x67, 0x6F, 0x6F, 0x67 // ki.goog + }; + + struct ares_caa_reply* caa = nullptr; + EXPECT_EQ(ARES_SUCCESS, ares_parse_caa_reply(data.data(), data.size(), &caa)); + ASSERT_NE(nullptr, caa); + + EXPECT_EQ(caa->critical, 0); + EXPECT_EQ(caa->plength, 5); + EXPECT_STREQ((char *)caa->property, "issue"); + EXPECT_EQ(caa->length, 8); + EXPECT_STREQ((char *)caa->value, "pki.goog"); + + ares_free_data(caa); +} + +TEST_F(LibraryTest, ParseCaaBogusReply1) { + std::vector<byte> data = { + 0x27, 0x86, 0x81, 0x80, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x06, 0x67, 0x6F, 0x6F, // '............goo + 0x67, 0x6C, 0x65, 0x03, 0x63, 0x6F, 0x6D, 0x00, 0x01, 0x01, 0x00, 0x01, 0xC0, 0x0C, 0x01, 0x01, // gle.com......... + 0x00, 0x01, 0x00, 0x01, 0x43, 0xBE, 0x00, 0x0F, 0x00, 0x00, 0x69, 0x73, 0x73, 0x75, 0x65, 0x70, // ....C.....issuep + 0x6B, 0x69, 0x2E, 0x67, 0x6F, 0x6F, 0x67 // ki.goog + }; + + struct ares_caa_reply* caa = nullptr; + EXPECT_EQ(ARES_EBADRESP, ares_parse_caa_reply(data.data(), data.size(), &caa)); + ASSERT_EQ(nullptr, caa); +} + +TEST_F(LibraryTest, ParseCaaBogusReply2) { + std::vector<byte> data = { + 0x27, 0x86, 0x81, 0x80, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x06, 0x67, 0x6F, 0x6F, // '............goo + 0x67, 0x6C, 0x65, 0x03, 0x63, 0x6F, 0x6D, 0x00, 0x01, 0x01, 0x00, 0x01, 0xC0, 0x0C, 0x01, 0x01, // gle.com......... + 0x00, 0x01, 0x00, 0x01, 0x43, 0xBE, 0x00, 0x0F, 0x00, 0x0e, 0x69, 0x73, 0x73, 0x75, 0x65, 0x70, // ....C.....issuep + 0x6B, 0x69, 0x2E, 0x67, 0x6F, 0x6F, 0x67 // ki.goog + }; + + struct ares_caa_reply* caa = nullptr; + EXPECT_EQ(ARES_EBADRESP, ares_parse_caa_reply(data.data(), data.size(), &caa)); + ASSERT_EQ(nullptr, caa); +} + +TEST_F(LibraryTest, ParseCaaBogusReply3) { + std::vector<byte> data = { + 0x27, 0x86, 0x81, 0x80, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x06, 0x67, 0x6F, 0x6F, // '............goo + 0x67, 0x6C, 0x65, 0x03, 0x63, 0x6F, 0x6D, 0x00, 0x01, 0x01, 0x00, 0x01, 0xC0, 0x0C, 0x01, 0x01, // gle.com......... + 0x00, 0x01, 0x00, 0x01, 0x43, 0xBE, 0x00, 0x10, 0x00, 0x05, 0x69, 0x73, 0x73, 0x75, 0x65, 0x70, // ....C.....issuep + 0x6B, 0x69, 0x2E, 0x67, 0x6F, 0x6F, 0x67 // ki.goog + }; + + struct ares_caa_reply* caa = nullptr; + EXPECT_EQ(ARES_EBADRESP, ares_parse_caa_reply(data.data(), data.size(), &caa)); + ASSERT_EQ(nullptr, caa); +} + +TEST_F(LibraryTest, ParseCaaEmptyReply) { + std::vector<byte> data = { + 0x27, 0x86, 0x81, 0x80, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x09, 0x77, 0x69, 0x6B, // '............wik + 0x69, 0x70, 0x65, 0x64, 0x69, 0x61, 0x02, 0x64, 0x65, 0x00, 0x01, 0x01, 0x00, 0x01, 0xC0, 0x0C, // ipedia.de....... + 0x00, 0x06, 0x00, 0x01, 0x00, 0x00, 0x02, 0x58, 0x00, 0x3B, 0x04, 0x6E, 0x73, 0x38, 0x31, 0x0D, // .......X.;.ns81. + 0x64, 0x6F, 0x6D, 0x61, 0x69, 0x6E, 0x63, 0x6F, 0x6E, 0x74, 0x72, 0x6F, 0x6C, 0x03, 0x63, 0x6F, // domaincontrol.co + 0x6D, 0x00, 0x03, 0x64, 0x6E, 0x73, 0x05, 0x6A, 0x6F, 0x6D, 0x61, 0x78, 0x03, 0x6E, 0x65, 0x74, // m..dns.jomax.net + 0x00, 0x78, 0x67, 0xFE, 0x34, 0x00, 0x00, 0x70, 0x80, 0x00, 0x00, 0x1C, 0x20, 0x00, 0x09, 0x3A, // .xg.4..p.... ..: + 0x80, 0x00, 0x00, 0x02, 0x58 // ....X + }; + + struct ares_caa_reply* caa = nullptr; + EXPECT_EQ(ARES_ENODATA, ares_parse_caa_reply(data.data(), data.size(), &caa)); + ASSERT_EQ(nullptr, caa); +} + +} // namespace test +} // namespace ares diff --git a/contrib/libs/c-ares/test/ares-test-parse-mx.cc b/contrib/libs/c-ares/test/ares-test-parse-mx.cc index 37324a6d4c..db8fa89404 100644 --- a/contrib/libs/c-ares/test/ares-test-parse-mx.cc +++ b/contrib/libs/c-ares/test/ares-test-parse-mx.cc @@ -10,7 +10,7 @@ namespace test { TEST_F(LibraryTest, ParseMxReplyOK) { DNSPacket pkt; pkt.set_qid(0x1234).set_response().set_aa() - .add_question(new DNSQuestion("example.com", ns_t_mx)) + .add_question(new DNSQuestion("example.com", T_MX)) .add_answer(new DNSMxRR("example.com", 100, 100, "mx1.example.com")) .add_answer(new DNSMxRR("example.com", 100, 200, "mx2.example.com")); std::vector<byte> data = pkt.data(); @@ -65,7 +65,7 @@ TEST_F(LibraryTest, ParseMxReplyMalformed) { TEST_F(LibraryTest, ParseMxReplyErrors) { DNSPacket pkt; pkt.set_qid(0x1234).set_response().set_aa() - .add_question(new DNSQuestion("example.com", ns_t_mx)) + .add_question(new DNSQuestion("example.com", T_MX)) .add_answer(new DNSMxRR("example.com", 100, 100, "mx1.example.com")); std::vector<byte> data; struct ares_mx_reply* mx = nullptr; @@ -75,25 +75,25 @@ TEST_F(LibraryTest, ParseMxReplyErrors) { data = pkt.data(); EXPECT_EQ(ARES_EBADRESP, ares_parse_mx_reply(data.data(), data.size(), &mx)); EXPECT_EQ(nullptr, mx); - pkt.add_question(new DNSQuestion("example.com", ns_t_mx)); + pkt.add_question(new DNSQuestion("example.com", T_MX)); #ifdef DISABLED // Question != answer pkt.questions_.clear(); - pkt.add_question(new DNSQuestion("Axample.com", ns_t_mx)); + pkt.add_question(new DNSQuestion("Axample.com", T_MX)); data = pkt.data(); EXPECT_EQ(ARES_EBADRESP, ares_parse_mx_reply(data.data(), data.size(), &mx)); pkt.questions_.clear(); - pkt.add_question(new DNSQuestion("example.com", ns_t_mx)); + pkt.add_question(new DNSQuestion("example.com", T_MX)); #endif // Two questions. - pkt.add_question(new DNSQuestion("example.com", ns_t_mx)); + pkt.add_question(new DNSQuestion("example.com", T_MX)); data = pkt.data(); EXPECT_EQ(ARES_EBADRESP, ares_parse_mx_reply(data.data(), data.size(), &mx)); EXPECT_EQ(nullptr, mx); pkt.questions_.clear(); - pkt.add_question(new DNSQuestion("example.com", ns_t_mx)); + pkt.add_question(new DNSQuestion("example.com", T_MX)); // Wrong sort of answer. // TODO(drysdale): check if this should be ARES_ENODATA? @@ -124,7 +124,7 @@ TEST_F(LibraryTest, ParseMxReplyErrors) { TEST_F(LibraryTest, ParseMxReplyAllocFail) { DNSPacket pkt; pkt.set_qid(0x1234).set_response().set_aa() - .add_question(new DNSQuestion("example.com", ns_t_mx)) + .add_question(new DNSQuestion("example.com", T_MX)) .add_answer(new DNSCnameRR("example.com", 300, "c.example.com")) .add_answer(new DNSMxRR("c.example.com", 100, 100, "mx1.example.com")); std::vector<byte> data = pkt.data(); diff --git a/contrib/libs/c-ares/test/ares-test-parse-naptr.cc b/contrib/libs/c-ares/test/ares-test-parse-naptr.cc index 3238a1923d..aa1a2a5029 100644 --- a/contrib/libs/c-ares/test/ares-test-parse-naptr.cc +++ b/contrib/libs/c-ares/test/ares-test-parse-naptr.cc @@ -10,7 +10,7 @@ namespace test { TEST_F(LibraryTest, ParseNaptrReplyOK) { DNSPacket pkt; pkt.set_qid(0x1234).set_response().set_aa() - .add_question(new DNSQuestion("example.com", ns_t_naptr)) + .add_question(new DNSQuestion("example.com", T_NAPTR)) .add_answer(new DNSNaptrRR("example.com", 100, 10, 20, "SP", "service", "regexp", "replace")) .add_answer(new DNSNaptrRR("example.com", 0x0010, @@ -43,7 +43,7 @@ TEST_F(LibraryTest, ParseNaptrReplyOK) { TEST_F(LibraryTest, ParseNaptrReplyErrors) { DNSPacket pkt; pkt.set_qid(0x1234).set_response().set_aa() - .add_question(new DNSQuestion("example.com", ns_t_naptr)) + .add_question(new DNSQuestion("example.com", T_NAPTR)) .add_answer(new DNSNaptrRR("example.com", 100, 10, 20, "SP", "service", "regexp", "replace")); std::vector<byte> data; @@ -53,24 +53,24 @@ TEST_F(LibraryTest, ParseNaptrReplyErrors) { pkt.questions_.clear(); data = pkt.data(); EXPECT_EQ(ARES_EBADRESP, ares_parse_naptr_reply(data.data(), data.size(), &naptr)); - pkt.add_question(new DNSQuestion("example.com", ns_t_naptr)); + pkt.add_question(new DNSQuestion("example.com", T_NAPTR)); #ifdef DISABLED // Question != answer pkt.questions_.clear(); - pkt.add_question(new DNSQuestion("Axample.com", ns_t_naptr)); + pkt.add_question(new DNSQuestion("Axample.com", T_NAPTR)); data = pkt.data(); EXPECT_EQ(ARES_ENODATA, ares_parse_naptr_reply(data.data(), data.size(), &naptr)); pkt.questions_.clear(); - pkt.add_question(new DNSQuestion("example.com", ns_t_naptr)); + pkt.add_question(new DNSQuestion("example.com", T_NAPTR)); #endif // Two questions - pkt.add_question(new DNSQuestion("example.com", ns_t_naptr)); + pkt.add_question(new DNSQuestion("example.com", T_NAPTR)); data = pkt.data(); EXPECT_EQ(ARES_EBADRESP, ares_parse_naptr_reply(data.data(), data.size(), &naptr)); pkt.questions_.clear(); - pkt.add_question(new DNSQuestion("example.com", ns_t_naptr)); + pkt.add_question(new DNSQuestion("example.com", T_NAPTR)); // Wrong sort of answer. pkt.answers_.clear(); @@ -129,7 +129,7 @@ TEST_F(LibraryTest, ParseNaptrReplyTooShort) { TEST_F(LibraryTest, ParseNaptrReplyAllocFail) { DNSPacket pkt; pkt.set_qid(0x1234).set_response().set_aa() - .add_question(new DNSQuestion("example.com", ns_t_naptr)) + .add_question(new DNSQuestion("example.com", T_NAPTR)) .add_answer(new DNSNaptrRR("example.com", 100, 10, 20, "SP", "service", "regexp", "replace")) .add_answer(new DNSNaptrRR("example.com", 0x0010, diff --git a/contrib/libs/c-ares/test/ares-test-parse-ns.cc b/contrib/libs/c-ares/test/ares-test-parse-ns.cc index cd65318969..316492174c 100644 --- a/contrib/libs/c-ares/test/ares-test-parse-ns.cc +++ b/contrib/libs/c-ares/test/ares-test-parse-ns.cc @@ -10,7 +10,7 @@ namespace test { TEST_F(LibraryTest, ParseNsReplyOK) { DNSPacket pkt; pkt.set_qid(0x1234).set_response().set_aa() - .add_question(new DNSQuestion("example.com", ns_t_ns)) + .add_question(new DNSQuestion("example.com", T_NS)) .add_answer(new DNSNsRR("example.com", 100, "ns.example.com")); std::vector<byte> data = pkt.data(); @@ -26,7 +26,7 @@ TEST_F(LibraryTest, ParseNsReplyOK) { TEST_F(LibraryTest, ParseNsReplyMultiple) { DNSPacket pkt; pkt.set_qid(10501).set_response().set_rd().set_ra() - .add_question(new DNSQuestion("google.com", ns_t_ns)) + .add_question(new DNSQuestion("google.com", T_NS)) .add_answer(new DNSNsRR("google.com", 59, "ns1.google.com")) .add_answer(new DNSNsRR("google.com", 59, "ns2.google.com")) .add_answer(new DNSNsRR("google.com", 59, "ns3.google.com")) @@ -49,7 +49,7 @@ TEST_F(LibraryTest, ParseNsReplyMultiple) { TEST_F(LibraryTest, ParseNsReplyErrors) { DNSPacket pkt; pkt.set_qid(0x1234).set_response().set_aa() - .add_question(new DNSQuestion("example.com", ns_t_ns)) + .add_question(new DNSQuestion("example.com", T_NS)) .add_answer(new DNSNsRR("example.com", 100, "ns.example.com")); std::vector<byte> data; struct hostent *host = nullptr; @@ -58,24 +58,24 @@ TEST_F(LibraryTest, ParseNsReplyErrors) { pkt.questions_.clear(); data = pkt.data(); EXPECT_EQ(ARES_EBADRESP, ares_parse_ns_reply(data.data(), data.size(), &host)); - pkt.add_question(new DNSQuestion("example.com", ns_t_ns)); + pkt.add_question(new DNSQuestion("example.com", T_NS)); #ifdef DISABLED // Question != answer pkt.questions_.clear(); - pkt.add_question(new DNSQuestion("Axample.com", ns_t_ns)); + pkt.add_question(new DNSQuestion("Axample.com", T_NS)); data = pkt.data(); EXPECT_EQ(ARES_ENODATA, ares_parse_ns_reply(data.data(), data.size(), &host)); pkt.questions_.clear(); - pkt.add_question(new DNSQuestion("example.com", ns_t_ns)); + pkt.add_question(new DNSQuestion("example.com", T_NS)); #endif // Two questions. - pkt.add_question(new DNSQuestion("example.com", ns_t_ns)); + pkt.add_question(new DNSQuestion("example.com", T_NS)); data = pkt.data(); EXPECT_EQ(ARES_EBADRESP, ares_parse_ns_reply(data.data(), data.size(), &host)); pkt.questions_.clear(); - pkt.add_question(new DNSQuestion("example.com", ns_t_ns)); + pkt.add_question(new DNSQuestion("example.com", T_NS)); // Wrong sort of answer. pkt.answers_.clear(); @@ -101,7 +101,7 @@ TEST_F(LibraryTest, ParseNsReplyErrors) { TEST_F(LibraryTest, ParseNsReplyAllocFail) { DNSPacket pkt; pkt.set_qid(0x1234).set_response().set_aa() - .add_question(new DNSQuestion("example.com", ns_t_ns)) + .add_question(new DNSQuestion("example.com", T_NS)) .add_answer(new DNSCnameRR("example.com", 300, "c.example.com")) .add_answer(new DNSNsRR("c.example.com", 100, "ns.example.com")); std::vector<byte> data = pkt.data(); diff --git a/contrib/libs/c-ares/test/ares-test-parse-ptr.cc b/contrib/libs/c-ares/test/ares-test-parse-ptr.cc index 75f74c16f7..e8fcac3224 100644 --- a/contrib/libs/c-ares/test/ares-test-parse-ptr.cc +++ b/contrib/libs/c-ares/test/ares-test-parse-ptr.cc @@ -11,7 +11,7 @@ TEST_F(LibraryTest, ParsePtrReplyOK) { byte addrv4[4] = {0x10, 0x20, 0x30, 0x40}; DNSPacket pkt; pkt.set_qid(0x1234).set_response().set_aa() - .add_question(new DNSQuestion("64.48.32.16.in-addr.arpa", ns_t_ptr)) + .add_question(new DNSQuestion("64.48.32.16.in-addr.arpa", T_PTR)) .add_answer(new DNSPtrRR("64.48.32.16.in-addr.arpa", 100, "other.com")); std::vector<byte> data = pkt.data(); @@ -29,7 +29,7 @@ TEST_F(LibraryTest, ParsePtrReplyCname) { byte addrv4[4] = {0x10, 0x20, 0x30, 0x40}; DNSPacket pkt; pkt.set_qid(0x1234).set_response().set_aa() - .add_question(new DNSQuestion("64.48.32.16.in-addr.arpa", ns_t_ptr)) + .add_question(new DNSQuestion("64.48.32.16.in-addr.arpa", T_PTR)) .add_answer(new DNSCnameRR("64.48.32.16.in-addr.arpa", 50, "64.48.32.8.in-addr.arpa")) .add_answer(new DNSPtrRR("64.48.32.8.in-addr.arpa", 100, "other.com")); std::vector<byte> data = pkt.data(); @@ -63,7 +63,7 @@ TEST_F(LibraryTest, ParsePtrReplyMalformedCname) { byte addrv4[4] = {0x10, 0x20, 0x30, 0x40}; DNSPacket pkt; pkt.set_qid(0x1234).set_response().set_aa() - .add_question(new DNSQuestion("64.48.32.16.in-addr.arpa", ns_t_ptr)) + .add_question(new DNSQuestion("64.48.32.16.in-addr.arpa", T_PTR)) .add_answer(new DNSMalformedCnameRR("64.48.32.16.in-addr.arpa", 50, "64.48.32.8.in-addr.arpa")) .add_answer(new DNSPtrRR("64.48.32.8.in-addr.arpa", 100, "other.com")); std::vector<byte> data = pkt.data(); @@ -78,7 +78,7 @@ TEST_F(LibraryTest, ParseManyPtrReply) { byte addrv4[4] = {0x10, 0x20, 0x30, 0x40}; DNSPacket pkt; pkt.set_qid(0x1234).set_response().set_aa() - .add_question(new DNSQuestion("64.48.32.16.in-addr.arpa", ns_t_ptr)) + .add_question(new DNSQuestion("64.48.32.16.in-addr.arpa", T_PTR)) .add_answer(new DNSPtrRR("64.48.32.16.in-addr.arpa", 100, "main.com")) .add_answer(new DNSPtrRR("64.48.32.16.in-addr.arpa", 100, "other1.com")) .add_answer(new DNSPtrRR("64.48.32.16.in-addr.arpa", 100, "other2.com")) @@ -102,7 +102,7 @@ TEST_F(LibraryTest, ParsePtrReplyAdditional) { byte addrv4[4] = {0x10, 0x20, 0x30, 0x40}; DNSPacket pkt; pkt.set_qid(0x1234).set_response().set_aa() - .add_question(new DNSQuestion("64.48.32.16.in-addr.arpa", ns_t_ptr)) + .add_question(new DNSQuestion("64.48.32.16.in-addr.arpa", T_PTR)) .add_answer(new DNSPtrRR("64.48.32.16.in-addr.arpa", 55, "other.com")) .add_auth(new DNSNsRR("16.in-addr.arpa", 234, "ns1.other.com")) .add_auth(new DNSNsRR("16.in-addr.arpa", 234, "bb.ns2.other.com")) @@ -126,7 +126,7 @@ TEST_F(LibraryTest, ParsePtrReplyErrors) { byte addrv4[4] = {0x10, 0x20, 0x30, 0x40}; DNSPacket pkt; pkt.set_qid(0x1234).set_response().set_aa() - .add_question(new DNSQuestion("64.48.32.16.in-addr.arpa", ns_t_ptr)) + .add_question(new DNSQuestion("64.48.32.16.in-addr.arpa", T_PTR)) .add_answer(new DNSPtrRR("64.48.32.16.in-addr.arpa", 100, "other.com")); std::vector<byte> data; struct hostent *host = nullptr; @@ -136,26 +136,26 @@ TEST_F(LibraryTest, ParsePtrReplyErrors) { data = pkt.data(); EXPECT_EQ(ARES_EBADRESP, ares_parse_ptr_reply(data.data(), data.size(), addrv4, sizeof(addrv4), AF_INET, &host, NULL)); - pkt.add_question(new DNSQuestion("64.48.32.16.in-addr.arpa", ns_t_ptr)); + pkt.add_question(new DNSQuestion("64.48.32.16.in-addr.arpa", T_PTR)); // Question != answer pkt.questions_.clear(); - pkt.add_question(new DNSQuestion("99.48.32.16.in-addr.arpa", ns_t_ptr)); + pkt.add_question(new DNSQuestion("99.48.32.16.in-addr.arpa", T_PTR)); data = pkt.data(); EXPECT_EQ(ARES_ENODATA, ares_parse_ptr_reply(data.data(), data.size(), addrv4, sizeof(addrv4), AF_INET, &host, NULL)); EXPECT_EQ(nullptr, host); pkt.questions_.clear(); - pkt.add_question(new DNSQuestion("64.48.32.16.in-addr.arpa", ns_t_ptr)); + pkt.add_question(new DNSQuestion("64.48.32.16.in-addr.arpa", T_PTR)); // Two questions. - pkt.add_question(new DNSQuestion("64.48.32.16.in-addr.arpa", ns_t_ptr)); + pkt.add_question(new DNSQuestion("64.48.32.16.in-addr.arpa", T_PTR)); data = pkt.data(); EXPECT_EQ(ARES_EBADRESP, ares_parse_ptr_reply(data.data(), data.size(), addrv4, sizeof(addrv4), AF_INET, &host, NULL)); EXPECT_EQ(nullptr, host); pkt.questions_.clear(); - pkt.add_question(new DNSQuestion("64.48.32.16.in-addr.arpa", ns_t_ptr)); + pkt.add_question(new DNSQuestion("64.48.32.16.in-addr.arpa", T_PTR)); // Wrong sort of answer. pkt.answers_.clear(); @@ -197,7 +197,7 @@ TEST_F(LibraryTest, ParsePtrReplyAllocFailSome) { byte addrv4[4] = {0x10, 0x20, 0x30, 0x40}; DNSPacket pkt; pkt.set_qid(0x1234).set_response().set_aa() - .add_question(new DNSQuestion("64.48.32.16.in-addr.arpa", ns_t_ptr)) + .add_question(new DNSQuestion("64.48.32.16.in-addr.arpa", T_PTR)) .add_answer(new DNSPtrRR("64.48.32.16.in-addr.arpa", 100, "main.com")) .add_answer(new DNSPtrRR("64.48.32.16.in-addr.arpa", 100, "other1.com")) .add_answer(new DNSPtrRR("64.48.32.16.in-addr.arpa", 100, "other2.com")) @@ -217,7 +217,7 @@ TEST_F(LibraryTest, ParsePtrReplyAllocFailMany) { byte addrv4[4] = {0x10, 0x20, 0x30, 0x40}; DNSPacket pkt; pkt.set_qid(0x1234).set_response().set_aa() - .add_question(new DNSQuestion("64.48.32.16.in-addr.arpa", ns_t_ptr)) + .add_question(new DNSQuestion("64.48.32.16.in-addr.arpa", T_PTR)) .add_answer(new DNSPtrRR("64.48.32.16.in-addr.arpa", 100, "main.com")) .add_answer(new DNSPtrRR("64.48.32.16.in-addr.arpa", 100, "other1.com")) .add_answer(new DNSPtrRR("64.48.32.16.in-addr.arpa", 100, "other2.com")) diff --git a/contrib/libs/c-ares/test/ares-test-parse-soa-any.cc b/contrib/libs/c-ares/test/ares-test-parse-soa-any.cc index 804c6a0060..700073c5c8 100644 --- a/contrib/libs/c-ares/test/ares-test-parse-soa-any.cc +++ b/contrib/libs/c-ares/test/ares-test-parse-soa-any.cc @@ -10,7 +10,7 @@ namespace test { TEST_F(LibraryTest, ParseSoaAnyReplyOK) { DNSPacket pkt; pkt.set_qid(0x1234).set_response().set_aa() - .add_question(new DNSQuestion("example.com", ns_t_any))\ + .add_question(new DNSQuestion("example.com", T_ANY))\ .add_answer(new DNSARR("example.com", 0x01020304, {2,3,4,5})) .add_answer(new DNSMxRR("example.com", 100, 100, "mx1.example.com")) .add_answer(new DNSMxRR("example.com", 100, 200, "mx2.example.com")) @@ -35,7 +35,7 @@ TEST_F(LibraryTest, ParseSoaAnyReplyOK) { TEST_F(LibraryTest, ParseSoaAnyReplyErrors) { DNSPacket pkt; pkt.set_qid(0x1234).set_response().set_aa() - .add_question(new DNSQuestion("example.com", ns_t_any)) + .add_question(new DNSQuestion("example.com", T_ANY)) .add_answer(new DNSSoaRR("example.com", 100, "soa1.example.com", "fred.example.com", 1, 2, 3, 4, 5)); @@ -46,24 +46,24 @@ TEST_F(LibraryTest, ParseSoaAnyReplyErrors) { pkt.questions_.clear(); data = pkt.data(); EXPECT_EQ(ARES_EBADRESP, ares_parse_soa_reply(data.data(), data.size(), &soa)); - pkt.add_question(new DNSQuestion("example.com", ns_t_any)); + pkt.add_question(new DNSQuestion("example.com", T_ANY)); #ifdef DISABLED // Question != answer pkt.questions_.clear(); - pkt.add_question(new DNSQuestion("Axample.com", ns_t_any)); + pkt.add_question(new DNSQuestion("Axample.com", T_ANY)); data = pkt.data(); EXPECT_EQ(ARES_EBADRESP, ares_parse_soa_reply(data.data(), data.size(), &soa)); pkt.questions_.clear(); - pkt.add_question(new DNSQuestion("example.com", ns_t_any)); + pkt.add_question(new DNSQuestion("example.com", T_ANY)); #endif // Two questions - pkt.add_question(new DNSQuestion("example.com", ns_t_any)); + pkt.add_question(new DNSQuestion("example.com", T_ANY)); data = pkt.data(); EXPECT_EQ(ARES_EBADRESP, ares_parse_soa_reply(data.data(), data.size(), &soa)); pkt.questions_.clear(); - pkt.add_question(new DNSQuestion("example.com", ns_t_any)); + pkt.add_question(new DNSQuestion("example.com", T_ANY)); // Wrong sort of answer. pkt.answers_.clear(); @@ -93,7 +93,7 @@ TEST_F(LibraryTest, ParseSoaAnyReplyErrors) { TEST_F(LibraryTest, ParseSoaAnyReplyAllocFail) { DNSPacket pkt; pkt.set_qid(0x1234).set_response().set_aa() - .add_question(new DNSQuestion("example.com", ns_t_any)) + .add_question(new DNSQuestion("example.com", T_ANY)) .add_answer(new DNSSoaRR("example.com", 100, "soa1.example.com", "fred.example.com", 1, 2, 3, 4, 5)); diff --git a/contrib/libs/c-ares/test/ares-test-parse-soa.cc b/contrib/libs/c-ares/test/ares-test-parse-soa.cc index c0ffaaed50..22a78e5f46 100644 --- a/contrib/libs/c-ares/test/ares-test-parse-soa.cc +++ b/contrib/libs/c-ares/test/ares-test-parse-soa.cc @@ -10,7 +10,7 @@ namespace test { TEST_F(LibraryTest, ParseSoaReplyOK) { DNSPacket pkt; pkt.set_qid(0x1234).set_response().set_aa() - .add_question(new DNSQuestion("example.com", ns_t_soa)) + .add_question(new DNSQuestion("example.com", T_SOA)) .add_answer(new DNSSoaRR("example.com", 100, "soa1.example.com", "fred.example.com", 1, 2, 3, 4, 5)); @@ -32,7 +32,7 @@ TEST_F(LibraryTest, ParseSoaReplyOK) { TEST_F(LibraryTest, ParseSoaReplyErrors) { DNSPacket pkt; pkt.set_qid(0x1234).set_response().set_aa() - .add_question(new DNSQuestion("example.com", ns_t_soa)) + .add_question(new DNSQuestion("example.com", T_SOA)) .add_answer(new DNSSoaRR("example.com", 100, "soa1.example.com", "fred.example.com", 1, 2, 3, 4, 5)); @@ -43,24 +43,24 @@ TEST_F(LibraryTest, ParseSoaReplyErrors) { pkt.questions_.clear(); data = pkt.data(); EXPECT_EQ(ARES_EBADRESP, ares_parse_soa_reply(data.data(), data.size(), &soa)); - pkt.add_question(new DNSQuestion("example.com", ns_t_soa)); + pkt.add_question(new DNSQuestion("example.com", T_SOA)); #ifdef DISABLED // Question != answer pkt.questions_.clear(); - pkt.add_question(new DNSQuestion("Axample.com", ns_t_soa)); + pkt.add_question(new DNSQuestion("Axample.com", T_SOA)); data = pkt.data(); EXPECT_EQ(ARES_EBADRESP, ares_parse_soa_reply(data.data(), data.size(), &soa)); pkt.questions_.clear(); - pkt.add_question(new DNSQuestion("example.com", ns_t_soa)); + pkt.add_question(new DNSQuestion("example.com", T_SOA)); #endif // Two questions - pkt.add_question(new DNSQuestion("example.com", ns_t_soa)); + pkt.add_question(new DNSQuestion("example.com", T_SOA)); data = pkt.data(); EXPECT_EQ(ARES_EBADRESP, ares_parse_soa_reply(data.data(), data.size(), &soa)); pkt.questions_.clear(); - pkt.add_question(new DNSQuestion("example.com", ns_t_soa)); + pkt.add_question(new DNSQuestion("example.com", T_SOA)); // Wrong sort of answer. pkt.answers_.clear(); @@ -90,7 +90,7 @@ TEST_F(LibraryTest, ParseSoaReplyErrors) { TEST_F(LibraryTest, ParseSoaReplyAllocFail) { DNSPacket pkt; pkt.set_qid(0x1234).set_response().set_aa() - .add_question(new DNSQuestion("example.com", ns_t_soa)) + .add_question(new DNSQuestion("example.com", T_SOA)) .add_answer(new DNSSoaRR("example.com", 100, "soa1.example.com", "fred.example.com", 1, 2, 3, 4, 5)); diff --git a/contrib/libs/c-ares/test/ares-test-parse-srv.cc b/contrib/libs/c-ares/test/ares-test-parse-srv.cc index cc651d6d4e..b004759801 100644 --- a/contrib/libs/c-ares/test/ares-test-parse-srv.cc +++ b/contrib/libs/c-ares/test/ares-test-parse-srv.cc @@ -10,7 +10,7 @@ namespace test { TEST_F(LibraryTest, ParseSrvReplyOK) { DNSPacket pkt; pkt.set_qid(0x1234).set_response().set_aa() - .add_question(new DNSQuestion("example.com", ns_t_srv)) + .add_question(new DNSQuestion("example.com", T_SRV)) .add_answer(new DNSSrvRR("example.com", 100, 10, 20, 30, "srv.example.com")) .add_answer(new DNSSrvRR("example.com", 100, 11, 21, 31, "srv2.example.com")); std::vector<byte> data = pkt.data(); @@ -38,7 +38,7 @@ TEST_F(LibraryTest, ParseSrvReplyOK) { TEST_F(LibraryTest, ParseSrvReplySingle) { DNSPacket pkt; pkt.set_qid(0x1234).set_response().set_aa() - .add_question(new DNSQuestion("example.abc.def.com", ns_t_srv)) + .add_question(new DNSQuestion("example.abc.def.com", T_SRV)) .add_answer(new DNSSrvRR("example.abc.def.com", 180, 0, 10, 8160, "example.abc.def.com")) .add_auth(new DNSNsRR("abc.def.com", 44, "else1.where.com")) .add_auth(new DNSNsRR("abc.def.com", 44, "else2.where.com")) @@ -96,7 +96,7 @@ TEST_F(LibraryTest, ParseSrvReplyMalformed) { TEST_F(LibraryTest, ParseSrvReplyMultiple) { DNSPacket pkt; pkt.set_qid(0x1234).set_response().set_ra().set_rd() - .add_question(new DNSQuestion("srv.example.com", ns_t_srv)) + .add_question(new DNSQuestion("srv.example.com", T_SRV)) .add_answer(new DNSSrvRR("srv.example.com", 300, 0, 5, 6789, "a1.srv.example.com")) .add_answer(new DNSSrvRR("srv.example.com", 300, 0, 5, 4567, "a2.srv.example.com")) .add_answer(new DNSSrvRR("srv.example.com", 300, 0, 5, 5678, "a3.srv.example.com")) @@ -142,7 +142,7 @@ TEST_F(LibraryTest, ParseSrvReplyMultiple) { TEST_F(LibraryTest, ParseSrvReplyCname) { DNSPacket pkt; pkt.set_qid(0x1234).set_response().set_aa() - .add_question(new DNSQuestion("example.abc.def.com", ns_t_srv)) + .add_question(new DNSQuestion("example.abc.def.com", T_SRV)) .add_answer(new DNSCnameRR("example.abc.def.com", 300, "cname.abc.def.com")) .add_answer(new DNSSrvRR("cname.abc.def.com", 300, 0, 10, 1234, "srv.abc.def.com")) .add_auth(new DNSNsRR("abc.def.com", 44, "else1.where.com")) @@ -170,7 +170,7 @@ TEST_F(LibraryTest, ParseSrvReplyCname) { TEST_F(LibraryTest, ParseSrvReplyCnameMultiple) { DNSPacket pkt; pkt.set_qid(0x1234).set_response().set_ra().set_rd() - .add_question(new DNSQuestion("query.example.com", ns_t_srv)) + .add_question(new DNSQuestion("query.example.com", T_SRV)) .add_answer(new DNSCnameRR("query.example.com", 300, "srv.example.com")) .add_answer(new DNSSrvRR("srv.example.com", 300, 0, 5, 6789, "a1.srv.example.com")) .add_answer(new DNSSrvRR("srv.example.com", 300, 0, 5, 4567, "a2.srv.example.com")) @@ -217,7 +217,7 @@ TEST_F(LibraryTest, ParseSrvReplyCnameMultiple) { TEST_F(LibraryTest, ParseSrvReplyErrors) { DNSPacket pkt; pkt.set_qid(0x1234).set_response().set_aa() - .add_question(new DNSQuestion("example.abc.def.com", ns_t_srv)) + .add_question(new DNSQuestion("example.abc.def.com", T_SRV)) .add_answer(new DNSSrvRR("example.abc.def.com", 180, 0, 10, 8160, "example.abc.def.com")); std::vector<byte> data; struct ares_srv_reply* srv = nullptr; @@ -226,24 +226,24 @@ TEST_F(LibraryTest, ParseSrvReplyErrors) { pkt.questions_.clear(); data = pkt.data(); EXPECT_EQ(ARES_EBADRESP, ares_parse_srv_reply(data.data(), data.size(), &srv)); - pkt.add_question(new DNSQuestion("example.abc.def.com", ns_t_srv)); + pkt.add_question(new DNSQuestion("example.abc.def.com", T_SRV)); #ifdef DISABLED // Question != answer pkt.questions_.clear(); - pkt.add_question(new DNSQuestion("Axample.com", ns_t_srv)); + pkt.add_question(new DNSQuestion("Axample.com", T_SRV)); data = pkt.data(); EXPECT_EQ(ARES_ENODATA, ares_parse_srv_reply(data.data(), data.size(), &srv)); pkt.questions_.clear(); - pkt.add_question(new DNSQuestion("example.com", ns_t_srv)); + pkt.add_question(new DNSQuestion("example.com", T_SRV)); #endif // Two questions. - pkt.add_question(new DNSQuestion("example.abc.def.com", ns_t_srv)); + pkt.add_question(new DNSQuestion("example.abc.def.com", T_SRV)); data = pkt.data(); EXPECT_EQ(ARES_EBADRESP, ares_parse_srv_reply(data.data(), data.size(), &srv)); pkt.questions_.clear(); - pkt.add_question(new DNSQuestion("64.48.32.16.in-addr.arpa", ns_t_ptr)); + pkt.add_question(new DNSQuestion("64.48.32.16.in-addr.arpa", T_PTR)); // Wrong sort of answer. pkt.answers_.clear(); @@ -271,7 +271,7 @@ TEST_F(LibraryTest, ParseSrvReplyErrors) { TEST_F(LibraryTest, ParseSrvReplyAllocFail) { DNSPacket pkt; pkt.set_qid(0x1234).set_response().set_aa() - .add_question(new DNSQuestion("example.abc.def.com", ns_t_srv)) + .add_question(new DNSQuestion("example.abc.def.com", T_SRV)) .add_answer(new DNSCnameRR("example.com", 300, "c.example.com")) .add_answer(new DNSSrvRR("example.abc.def.com", 180, 0, 10, 8160, "example.abc.def.com")); std::vector<byte> data = pkt.data(); diff --git a/contrib/libs/c-ares/test/ares-test-parse-txt.cc b/contrib/libs/c-ares/test/ares-test-parse-txt.cc index 8aaaaa3b47..b33fb2de0c 100644 --- a/contrib/libs/c-ares/test/ares-test-parse-txt.cc +++ b/contrib/libs/c-ares/test/ares-test-parse-txt.cc @@ -13,7 +13,7 @@ TEST_F(LibraryTest, ParseTxtReplyOK) { std::string expected2a = "txt2a"; std::string expected2b("ABC\0ABC", 7); pkt.set_qid(0x1234).set_response().set_aa() - .add_question(new DNSQuestion("example.com", ns_t_mx)) + .add_question(new DNSQuestion("example.com", T_MX)) .add_answer(new DNSTxtRR("example.com", 100, {expected1})) .add_answer(new DNSTxtRR("example.com", 100, {expected2a, expected2b})); std::vector<byte> data = pkt.data(); @@ -44,7 +44,7 @@ TEST_F(LibraryTest, ParseTxtExtReplyOK) { std::string expected2a = "txt2a"; std::string expected2b("ABC\0ABC", 7); pkt.set_qid(0x1234).set_response().set_aa() - .add_question(new DNSQuestion("example.com", ns_t_mx)) + .add_question(new DNSQuestion("example.com", T_MX)) .add_answer(new DNSTxtRR("example.com", 100, {expected1})) .add_answer(new DNSTxtRR("example.com", 100, {expected2a, expected2b})); std::vector<byte> data = pkt.data(); @@ -190,7 +190,7 @@ TEST_F(LibraryTest, ParseTxtReplyErrors) { std::string expected2a = "txt2a"; std::string expected2b = "txt2b"; pkt.set_qid(0x1234).set_response().set_aa() - .add_question(new DNSQuestion("example.com", ns_t_mx)) + .add_question(new DNSQuestion("example.com", T_MX)) .add_answer(new DNSTxtRR("example.com", 100, {expected1})) .add_answer(new DNSTxtRR("example.com", 100, {expected1})) .add_answer(new DNSTxtRR("example.com", 100, {expected2a, expected2b})); @@ -203,26 +203,26 @@ TEST_F(LibraryTest, ParseTxtReplyErrors) { txt = nullptr; EXPECT_EQ(ARES_EBADRESP, ares_parse_txt_reply(data.data(), data.size(), &txt)); EXPECT_EQ(nullptr, txt); - pkt.add_question(new DNSQuestion("example.com", ns_t_mx)); + pkt.add_question(new DNSQuestion("example.com", T_MX)); #ifdef DISABLED // Question != answer pkt.questions_.clear(); - pkt.add_question(new DNSQuestion("Axample.com", ns_t_txt)); + pkt.add_question(new DNSQuestion("Axample.com", T_TXT)); data = pkt.data(); EXPECT_EQ(ARES_ENODATA, ares_parse_txt_reply(data.data(), data.size(), &txt)); pkt.questions_.clear(); - pkt.add_question(new DNSQuestion("example.com", ns_t_txt)); + pkt.add_question(new DNSQuestion("example.com", T_TXT)); #endif // Two questions. - pkt.add_question(new DNSQuestion("example.com", ns_t_mx)); + pkt.add_question(new DNSQuestion("example.com", T_MX)); data = pkt.data(); txt = nullptr; EXPECT_EQ(ARES_EBADRESP, ares_parse_txt_reply(data.data(), data.size(), &txt)); EXPECT_EQ(nullptr, txt); pkt.questions_.clear(); - pkt.add_question(new DNSQuestion("example.com", ns_t_mx)); + pkt.add_question(new DNSQuestion("example.com", T_MX)); // No answer. pkt.answers_.clear(); @@ -246,7 +246,7 @@ TEST_F(LibraryTest, ParseTxtReplyAllocFail) { std::string expected2a = "txt2a"; std::string expected2b = "txt2b"; pkt.set_qid(0x1234).set_response().set_aa() - .add_question(new DNSQuestion("example.com", ns_t_mx)) + .add_question(new DNSQuestion("example.com", T_MX)) .add_answer(new DNSCnameRR("example.com", 300, "c.example.com")) .add_answer(new DNSTxtRR("c.example.com", 100, {expected1})) .add_answer(new DNSTxtRR("c.example.com", 100, {expected1})) diff --git a/contrib/libs/c-ares/test/ares-test-parse.cc b/contrib/libs/c-ares/test/ares-test-parse.cc index 4c54fc9902..87ab0bd25f 100644 --- a/contrib/libs/c-ares/test/ares-test-parse.cc +++ b/contrib/libs/c-ares/test/ares-test-parse.cc @@ -10,7 +10,7 @@ namespace test { TEST_F(LibraryTest, ParseRootName) { DNSPacket pkt; pkt.set_qid(0x1234).set_response().set_aa() - .add_question(new DNSQuestion(".", ns_t_a)) + .add_question(new DNSQuestion(".", T_A)) .add_answer(new DNSARR(".", 100, {0x02, 0x03, 0x04, 0x05})); std::vector<byte> data = pkt.data(); @@ -60,6 +60,8 @@ TEST_F(LibraryTest, ParseIndirectRootName) { ares_free_hostent(host); } + +#if 0 /* We are validating hostnames now, its not clear how this would ever be valid */ TEST_F(LibraryTest, ParseEscapedName) { std::vector<byte> data = { 0x12, 0x34, // qid @@ -105,6 +107,7 @@ TEST_F(LibraryTest, ParseEscapedName) { EXPECT_EQ('c', hent.name_[6]); ares_free_hostent(host); } +#endif TEST_F(LibraryTest, ParsePartialCompressedName) { std::vector<byte> data = { diff --git a/contrib/libs/c-ares/test/ares-test.cc b/contrib/libs/c-ares/test/ares-test.cc index ec4b460549..0c0e6bc5d0 100644 --- a/contrib/libs/c-ares/test/ares-test.cc +++ b/contrib/libs/c-ares/test/ares-test.cc @@ -1,9 +1,11 @@ +#include "ares_setup.h" +#include "ares.h" +#include "ares_nameser.h" #include "ares-test.h" #include "ares-test-ai.h" #include "dns-proto.h" // Include ares internal files for DNS protocol details -#include "nameser.h" #include "ares_dns.h" #ifdef HAVE_NETDB_H @@ -30,7 +32,8 @@ namespace ares { namespace test { bool verbose = false; -int mock_port = 5300; +static constexpr int dynamic_port = 0; +int mock_port = dynamic_port; const std::vector<int> both_families = {AF_INET, AF_INET6}; const std::vector<int> ipv4_family = {AF_INET}; @@ -134,7 +137,7 @@ bool LibraryTest::ShouldAllocFail(size_t size) { // static void* LibraryTest::amalloc(size_t size) { - if (ShouldAllocFail(size)) { + if (ShouldAllocFail(size) || size == 0) { if (verbose) std::cerr << "Failing malloc(" << size << ") request" << std::endl; return nullptr; } else { @@ -169,8 +172,8 @@ void DefaultChannelModeTest::Process() { ProcessWork(channel_, NoExtraFDs, nullptr); } -MockServer::MockServer(int family, int port, int tcpport) - : udpport_(port), tcpport_(tcpport ? tcpport : udpport_), qid_(-1) { +MockServer::MockServer(int family, int port) + : udpport_(port), tcpport_(port), qid_(-1) { // Create a TCP socket to receive data on. tcpfd_ = socket(family, SOCK_STREAM, 0); EXPECT_NE(-1, tcpfd_); @@ -197,6 +200,21 @@ MockServer::MockServer(int family, int port, int tcpport) addr.sin_port = htons(udpport_); int udprc = bind(udpfd_, (struct sockaddr*)&addr, sizeof(addr)); EXPECT_EQ(0, udprc) << "Failed to bind AF_INET to UDP port " << udpport_; + // retrieve system-assigned port + if (udpport_ == dynamic_port) { + ares_socklen_t len = sizeof(addr); + auto result = getsockname(udpfd_, (struct sockaddr*)&addr, &len); + EXPECT_EQ(0, result); + udpport_ = ntohs(addr.sin_port); + EXPECT_NE(dynamic_port, udpport_); + } + if (tcpport_ == dynamic_port) { + ares_socklen_t len = sizeof(addr); + auto result = getsockname(tcpfd_, (struct sockaddr*)&addr, &len); + EXPECT_EQ(0, result); + tcpport_ = ntohs(addr.sin_port); + EXPECT_NE(dynamic_port, tcpport_); + } } else { EXPECT_EQ(AF_INET6, family); struct sockaddr_in6 addr; @@ -209,6 +227,21 @@ MockServer::MockServer(int family, int port, int tcpport) addr.sin6_port = htons(udpport_); int udprc = bind(udpfd_, (struct sockaddr*)&addr, sizeof(addr)); EXPECT_EQ(0, udprc) << "Failed to bind AF_INET6 to UDP port " << udpport_; + // retrieve system-assigned port + if (udpport_ == dynamic_port) { + ares_socklen_t len = sizeof(addr); + auto result = getsockname(udpfd_, (struct sockaddr*)&addr, &len); + EXPECT_EQ(0, result); + udpport_ = ntohs(addr.sin6_port); + EXPECT_NE(dynamic_port, udpport_); + } + if (tcpport_ == dynamic_port) { + ares_socklen_t len = sizeof(addr); + auto result = getsockname(tcpfd_, (struct sockaddr*)&addr, &len); + EXPECT_EQ(0, result); + tcpport_ = ntohs(addr.sin6_port); + EXPECT_NE(dynamic_port, tcpport_); + } } if (verbose) std::cerr << "Configured " << (family == AF_INET ? "IPv4" : "IPv6") @@ -281,7 +314,7 @@ void MockServer::ProcessFD(int fd) { std::cerr << "Not a request" << std::endl; return; } - if (DNS_HEADER_OPCODE(data) != ns_o_query) { + if (DNS_HEADER_OPCODE(data) != O_QUERY) { std::cerr << "Not a query (opcode " << DNS_HEADER_OPCODE(data) << ")" << std::endl; return; @@ -311,7 +344,7 @@ void MockServer::ProcessFD(int fd) { << " bytes after name)" << std::endl; return; } - if (DNS_QUESTION_CLASS(question) != ns_c_in) { + if (DNS_QUESTION_CLASS(question) != C_IN) { std::cerr << "Unexpected question class (" << DNS_QUESTION_CLASS(question) << ")" << std::endl; return; @@ -381,7 +414,8 @@ MockChannelOptsTest::NiceMockServers MockChannelOptsTest::BuildServers(int count NiceMockServers servers; assert(count > 0); for (int ii = 0; ii < count; ii++) { - std::unique_ptr<NiceMockServer> server(new NiceMockServer(family, base_port + ii)); + int port = base_port == dynamic_port ? dynamic_port : base_port + ii; + std::unique_ptr<NiceMockServer> server(new NiceMockServer(family, port)); servers.push_back(std::move(server)); } return servers; @@ -403,9 +437,9 @@ MockChannelOptsTest::MockChannelOptsTest(int count, } // Point the library at the first mock server by default (overridden below). - opts.udp_port = mock_port; + opts.udp_port = server_.udpport(); optmask |= ARES_OPT_UDP_PORT; - opts.tcp_port = mock_port; + opts.tcp_port = server_.tcpport(); optmask |= ARES_OPT_TCP_PORT; // If not already overridden, set short-ish timeouts. diff --git a/contrib/libs/c-ares/test/ares-test.h b/contrib/libs/c-ares/test/ares-test.h index fd3bc31c27..06e9759948 100644 --- a/contrib/libs/c-ares/test/ares-test.h +++ b/contrib/libs/c-ares/test/ares-test.h @@ -2,13 +2,13 @@ #ifndef ARES_TEST_H #define ARES_TEST_H -#include "dns-proto.h" -// Include ares internal file for DNS protocol constants -#include "nameser.h" - #include "ares_setup.h" #include "ares.h" +#include "dns-proto.h" +// Include ares internal file for DNS protocol constants +#include "ares_nameser.h" + #include "gtest/gtest.h" #include "gmock/gmock.h" @@ -133,7 +133,7 @@ class DefaultChannelModeTest // Mock DNS server to allow responses to be scripted by tests. class MockServer { public: - MockServer(int family, int port, int tcpport = 0); + MockServer(int family, int port); ~MockServer(); // Mock method indicating the processing of a particular <name, RRtype> diff --git a/contrib/libs/c-ares/test/dns-proto-test.cc b/contrib/libs/c-ares/test/dns-proto-test.cc index 0c36a0c922..3dadeeee1c 100644 --- a/contrib/libs/c-ares/test/dns-proto-test.cc +++ b/contrib/libs/c-ares/test/dns-proto-test.cc @@ -9,8 +9,8 @@ namespace test { TEST(DNSProto, EncodeQuestions) { DNSPacket pkt; pkt.set_qid(0x1234).set_response().set_aa() - .add_question(new DNSQuestion("example.com.", ns_t_a)) - .add_question(new DNSQuestion("www.example.com", ns_t_aaaa, ns_c_chaos)); + .add_question(new DNSQuestion("example.com.", T_A)) + .add_question(new DNSQuestion("www.example.com", T_AAAA, C_CHAOS)); std::vector<byte> data = { 0x12, 0x34, // qid @@ -42,7 +42,7 @@ TEST(DNSProto, EncodeSingleNameAnswers) { pkt.qid_ = 0x1234; pkt.response_ = true; pkt.aa_ = true; - pkt.opcode_ = ns_o_query; + pkt.opcode_ = O_QUERY; pkt.add_answer(new DNSCnameRR("example.com", 0x01020304, "other.com.")); pkt.add_auth(new DNSPtrRR("www.example.com", 0x01020304, "www.other.com")); @@ -87,7 +87,7 @@ TEST(DNSProto, EncodeAddressAnswers) { pkt.qid_ = 0x1234; pkt.response_ = true; pkt.aa_ = true; - pkt.opcode_ = ns_o_query; + pkt.opcode_ = O_QUERY; std::vector<byte> addrv4 = {0x02, 0x03, 0x04, 0x05}; pkt.add_answer(new DNSARR("example.com", 0x01020304, addrv4)); byte addrv6[16] = {0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, diff --git a/contrib/libs/c-ares/test/dns-proto.cc b/contrib/libs/c-ares/test/dns-proto.cc index d2fa8b15be..63cf374338 100644 --- a/contrib/libs/c-ares/test/dns-proto.cc +++ b/contrib/libs/c-ares/test/dns-proto.cc @@ -1,9 +1,9 @@ -#include "dns-proto.h" // Include ares internal file for DNS protocol details #include "ares_setup.h" #include "ares.h" #include "ares_dns.h" +#include "dns-proto.h" #include <stdio.h> #include <stdlib.h> @@ -63,93 +63,93 @@ std::string StatusToString(int status) { std::string RcodeToString(int rcode) { switch (rcode) { - case ns_r_noerror: return "NOERROR"; - case ns_r_formerr: return "FORMERR"; - case ns_r_servfail: return "SERVFAIL"; - case ns_r_nxdomain: return "NXDOMAIN"; - case ns_r_notimpl: return "NOTIMPL"; - case ns_r_refused: return "REFUSED"; - case ns_r_yxdomain: return "YXDOMAIN"; - case ns_r_yxrrset: return "YXRRSET"; - case ns_r_nxrrset: return "NXRRSET"; - case ns_r_notauth: return "NOTAUTH"; - case ns_r_notzone: return "NOTZONE"; - case ns_r_badsig: return "BADSIG"; - case ns_r_badkey: return "BADKEY"; - case ns_r_badtime: return "BADTIME"; + case NOERROR: return "NOERROR"; + case FORMERR: return "FORMERR"; + case SERVFAIL: return "SERVFAIL"; + case NXDOMAIN: return "NXDOMAIN"; + case NOTIMP: return "NOTIMP"; + case REFUSED: return "REFUSED"; + case YXDOMAIN: return "YXDOMAIN"; + case YXRRSET: return "YXRRSET"; + case NXRRSET: return "NXRRSET"; + case NOTAUTH: return "NOTAUTH"; + case NOTZONE: return "NOTZONE"; + case TSIG_BADSIG: return "BADSIG"; + case TSIG_BADKEY: return "BADKEY"; + case TSIG_BADTIME: return "BADTIME"; default: return "UNKNOWN"; } } std::string RRTypeToString(int rrtype) { switch (rrtype) { - case ns_t_a: return "A"; - case ns_t_ns: return "NS"; - case ns_t_md: return "MD"; - case ns_t_mf: return "MF"; - case ns_t_cname: return "CNAME"; - case ns_t_soa: return "SOA"; - case ns_t_mb: return "MB"; - case ns_t_mg: return "MG"; - case ns_t_mr: return "MR"; - case ns_t_null: return "NULL"; - case ns_t_wks: return "WKS"; - case ns_t_ptr: return "PTR"; - case ns_t_hinfo: return "HINFO"; - case ns_t_minfo: return "MINFO"; - case ns_t_mx: return "MX"; - case ns_t_txt: return "TXT"; - case ns_t_rp: return "RP"; - case ns_t_afsdb: return "AFSDB"; - case ns_t_x25: return "X25"; - case ns_t_isdn: return "ISDN"; - case ns_t_rt: return "RT"; - case ns_t_nsap: return "NSAP"; - case ns_t_nsap_ptr: return "NSAP_PTR"; - case ns_t_sig: return "SIG"; - case ns_t_key: return "KEY"; - case ns_t_px: return "PX"; - case ns_t_gpos: return "GPOS"; - case ns_t_aaaa: return "AAAA"; - case ns_t_loc: return "LOC"; - case ns_t_nxt: return "NXT"; - case ns_t_eid: return "EID"; - case ns_t_nimloc: return "NIMLOC"; - case ns_t_srv: return "SRV"; - case ns_t_atma: return "ATMA"; - case ns_t_naptr: return "NAPTR"; - case ns_t_kx: return "KX"; - case ns_t_cert: return "CERT"; - case ns_t_a6: return "A6"; - case ns_t_dname: return "DNAME"; - case ns_t_sink: return "SINK"; - case ns_t_opt: return "OPT"; - case ns_t_apl: return "APL"; - case ns_t_ds: return "DS"; - case ns_t_sshfp: return "SSHFP"; - case ns_t_rrsig: return "RRSIG"; - case ns_t_nsec: return "NSEC"; - case ns_t_dnskey: return "DNSKEY"; - case ns_t_tkey: return "TKEY"; - case ns_t_tsig: return "TSIG"; - case ns_t_ixfr: return "IXFR"; - case ns_t_axfr: return "AXFR"; - case ns_t_mailb: return "MAILB"; - case ns_t_maila: return "MAILA"; - case ns_t_any: return "ANY"; - case ns_t_zxfr: return "ZXFR"; - case ns_t_max: return "MAX"; + case T_A: return "A"; + case T_NS: return "NS"; + case T_MD: return "MD"; + case T_MF: return "MF"; + case T_CNAME: return "CNAME"; + case T_SOA: return "SOA"; + case T_MB: return "MB"; + case T_MG: return "MG"; + case T_MR: return "MR"; + case T_NULL: return "NULL"; + case T_WKS: return "WKS"; + case T_PTR: return "PTR"; + case T_HINFO: return "HINFO"; + case T_MINFO: return "MINFO"; + case T_MX: return "MX"; + case T_TXT: return "TXT"; + case T_RP: return "RP"; + case T_AFSDB: return "AFSDB"; + case T_X25: return "X25"; + case T_ISDN: return "ISDN"; + case T_RT: return "RT"; + case T_NSAP: return "NSAP"; + case T_NSAP_PTR: return "NSAP_PTR"; + case T_SIG: return "SIG"; + case T_KEY: return "KEY"; + case T_PX: return "PX"; + case T_GPOS: return "GPOS"; + case T_AAAA: return "AAAA"; + case T_LOC: return "LOC"; + case T_NXT: return "NXT"; + case T_EID: return "EID"; + case T_NIMLOC: return "NIMLOC"; + case T_SRV: return "SRV"; + case T_ATMA: return "ATMA"; + case T_NAPTR: return "NAPTR"; + case T_KX: return "KX"; + case T_CERT: return "CERT"; + case T_A6: return "A6"; + case T_DNAME: return "DNAME"; + case T_SINK: return "SINK"; + case T_OPT: return "OPT"; + case T_APL: return "APL"; + case T_DS: return "DS"; + case T_SSHFP: return "SSHFP"; + case T_RRSIG: return "RRSIG"; + case T_NSEC: return "NSEC"; + case T_DNSKEY: return "DNSKEY"; + case T_TKEY: return "TKEY"; + case T_TSIG: return "TSIG"; + case T_IXFR: return "IXFR"; + case T_AXFR: return "AXFR"; + case T_MAILB: return "MAILB"; + case T_MAILA: return "MAILA"; + case T_ANY: return "ANY"; + case T_ZXFR: return "ZXFR"; + case T_MAX: return "MAX"; default: return "UNKNOWN"; } } std::string ClassToString(int qclass) { switch (qclass) { - case ns_c_in: return "IN"; - case ns_c_chaos: return "CHAOS"; - case ns_c_hs: return "HESIOD"; - case ns_c_none: return "NONE"; - case ns_c_any: return "ANY"; + case C_IN: return "IN"; + case C_CHAOS: return "CHAOS"; + case C_HS: return "HESIOD"; + case C_NONE: return "NONE"; + case C_ANY: return "ANY"; default: return "UNKNOWN"; } } @@ -188,11 +188,11 @@ std::string PacketToString(const std::vector<byte>& packet) { } ss << ((DNS_HEADER_QR(data) == 0) ? "REQ " : "RSP "); switch (DNS_HEADER_OPCODE(data)) { - case ns_o_query: ss << "QRY "; break; - case ns_o_iquery: ss << "IQRY "; break; - case ns_o_status: ss << "STATUS "; break; - case ns_o_notify: ss << "NOTIFY "; break; - case ns_o_update: ss << "UPDATE "; break; + case O_QUERY: ss << "QRY "; break; + case O_IQUERY: ss << "IQRY "; break; + case O_STATUS: ss << "STATUS "; break; + case O_NOTIFY: ss << "NOTIFY "; break; + case O_UPDATE: ss << "UPDATE "; break; default: ss << "UNKNOWN(" << DNS_HEADER_OPCODE(data) << ") "; break; } if (DNS_HEADER_AA(data)) ss << "AA "; @@ -292,7 +292,7 @@ std::string RRToString(const std::vector<byte>& packet, return ss.str(); } int rrtype = DNS_RR_TYPE(*data); - if (rrtype == ns_t_opt) { + if (rrtype == T_OPT) { ss << "MAXUDP=" << DNS_RR_CLASS(*data) << " "; ss << RRTypeToString(rrtype) << " "; ss << "RCODE2=" << DNS_RR_TTL(*data); @@ -309,11 +309,11 @@ std::string RRToString(const std::vector<byte>& packet, ss << "(RR too long at " << rdatalen << ", len left " << *len << ")"; } else { switch (rrtype) { - case ns_t_a: - case ns_t_aaaa: + case T_A: + case T_AAAA: ss << " " << AddressToString(*data, rdatalen); break; - case ns_t_txt: { + case T_TXT: { const byte* p = *data; while (p < (*data + rdatalen)) { int len = *p++; @@ -327,9 +327,9 @@ std::string RRToString(const std::vector<byte>& packet, } break; } - case ns_t_cname: - case ns_t_ns: - case ns_t_ptr: { + case T_CNAME: + case T_NS: + case T_PTR: { int rc = ares_expand_name(*data, packet.data(), packet.size(), &name, &enclen); if (rc != ARES_SUCCESS) { ss << "(error from ares_expand_name)"; @@ -339,7 +339,7 @@ std::string RRToString(const std::vector<byte>& packet, ares_free_string(name); break; } - case ns_t_mx: + case T_MX: if (rdatalen > 2) { int rc = ares_expand_name(*data + 2, packet.data(), packet.size(), &name, &enclen); if (rc != ARES_SUCCESS) { @@ -352,7 +352,7 @@ std::string RRToString(const std::vector<byte>& packet, ss << "(RR too short)"; } break; - case ns_t_srv: { + case T_SRV: { if (rdatalen > 6) { const byte* p = *data; unsigned long prio = DNS__16BIT(p); @@ -371,7 +371,7 @@ std::string RRToString(const std::vector<byte>& packet, } break; } - case ns_t_soa: { + case T_SOA: { const byte* p = *data; int rc = ares_expand_name(p, packet.data(), packet.size(), &name, &enclen); if (rc != ARES_SUCCESS) { @@ -401,7 +401,7 @@ std::string RRToString(const std::vector<byte>& packet, } break; } - case ns_t_naptr: { + case T_NAPTR: { if (rdatalen > 7) { const byte* p = *data; unsigned long order = DNS__16BIT(p); diff --git a/contrib/libs/c-ares/test/dns-proto.h b/contrib/libs/c-ares/test/dns-proto.h index 346711dfe9..854c99a9eb 100644 --- a/contrib/libs/c-ares/test/dns-proto.h +++ b/contrib/libs/c-ares/test/dns-proto.h @@ -3,8 +3,10 @@ #define DNS_PROTO_H // Utilities for processing DNS packet contents +#include "ares_setup.h" +#include "ares.h" // Include ares internal file for DNS protocol constants -#include "nameser.h" +#include "ares_nameser.h" #include <memory> #include <string> @@ -41,21 +43,21 @@ void PushInt16(std::vector<byte>* data, int value); std::vector<byte> EncodeString(const std::string& name); struct DNSQuestion { - DNSQuestion(const std::string& name, ns_type rrtype, ns_class qclass) + DNSQuestion(const std::string& name, int rrtype, int qclass) : name_(name), rrtype_(rrtype), qclass_(qclass) {} - DNSQuestion(const std::string& name, ns_type rrtype) - : name_(name), rrtype_(rrtype), qclass_(ns_c_in) {} + DNSQuestion(const std::string& name, int rrtype) + : name_(name), rrtype_(rrtype), qclass_(C_IN) {} virtual ~DNSQuestion() {} virtual std::vector<byte> data() const; std::string name_; - ns_type rrtype_; - ns_class qclass_; + int rrtype_; + int qclass_; }; struct DNSRR : public DNSQuestion { - DNSRR(const std::string& name, ns_type rrtype, ns_class qclass, int ttl) + DNSRR(const std::string& name, int rrtype, int qclass, int ttl) : DNSQuestion(name, rrtype, qclass), ttl_(ttl) {} - DNSRR(const std::string& name, ns_type rrtype, int ttl) + DNSRR(const std::string& name, int rrtype, int ttl) : DNSQuestion(name, rrtype), ttl_(ttl) {} virtual ~DNSRR() {} virtual std::vector<byte> data() const = 0; @@ -63,10 +65,10 @@ struct DNSRR : public DNSQuestion { }; struct DNSAddressRR : public DNSRR { - DNSAddressRR(const std::string& name, ns_type rrtype, int ttl, + DNSAddressRR(const std::string& name, int rrtype, int ttl, const byte* addr, int addrlen) : DNSRR(name, rrtype, ttl), addr_(addr, addr + addrlen) {} - DNSAddressRR(const std::string& name, ns_type rrtype, int ttl, + DNSAddressRR(const std::string& name, int rrtype, int ttl, const std::vector<byte>& addr) : DNSRR(name, rrtype, ttl), addr_(addr) {} virtual std::vector<byte> data() const; @@ -75,20 +77,20 @@ struct DNSAddressRR : public DNSRR { struct DNSARR : public DNSAddressRR { DNSARR(const std::string& name, int ttl, const byte* addr, int addrlen) - : DNSAddressRR(name, ns_t_a, ttl, addr, addrlen) {} + : DNSAddressRR(name, T_A, ttl, addr, addrlen) {} DNSARR(const std::string& name, int ttl, const std::vector<byte>& addr) - : DNSAddressRR(name, ns_t_a, ttl, addr) {} + : DNSAddressRR(name, T_A, ttl, addr) {} }; struct DNSAaaaRR : public DNSAddressRR { DNSAaaaRR(const std::string& name, int ttl, const byte* addr, int addrlen) - : DNSAddressRR(name, ns_t_aaaa, ttl, addr, addrlen) {} + : DNSAddressRR(name, T_AAAA, ttl, addr, addrlen) {} DNSAaaaRR(const std::string& name, int ttl, const std::vector<byte>& addr) - : DNSAddressRR(name, ns_t_aaaa, ttl, addr) {} + : DNSAddressRR(name, T_AAAA, ttl, addr) {} }; struct DNSSingleNameRR : public DNSRR { - DNSSingleNameRR(const std::string& name, ns_type rrtype, int ttl, + DNSSingleNameRR(const std::string& name, int rrtype, int ttl, const std::string& other) : DNSRR(name, rrtype, ttl), other_(other) {} virtual std::vector<byte> data() const; @@ -97,29 +99,29 @@ struct DNSSingleNameRR : public DNSRR { struct DNSCnameRR : public DNSSingleNameRR { DNSCnameRR(const std::string& name, int ttl, const std::string& other) - : DNSSingleNameRR(name, ns_t_cname, ttl, other) {} + : DNSSingleNameRR(name, T_CNAME, ttl, other) {} }; struct DNSNsRR : public DNSSingleNameRR { DNSNsRR(const std::string& name, int ttl, const std::string& other) - : DNSSingleNameRR(name, ns_t_ns, ttl, other) {} + : DNSSingleNameRR(name, T_NS, ttl, other) {} }; struct DNSPtrRR : public DNSSingleNameRR { DNSPtrRR(const std::string& name, int ttl, const std::string& other) - : DNSSingleNameRR(name, ns_t_ptr, ttl, other) {} + : DNSSingleNameRR(name, T_PTR, ttl, other) {} }; struct DNSTxtRR : public DNSRR { DNSTxtRR(const std::string& name, int ttl, const std::vector<std::string>& txt) - : DNSRR(name, ns_t_txt, ttl), txt_(txt) {} + : DNSRR(name, T_TXT, ttl), txt_(txt) {} virtual std::vector<byte> data() const; std::vector<std::string> txt_; }; struct DNSMxRR : public DNSRR { DNSMxRR(const std::string& name, int ttl, int pref, const std::string& other) - : DNSRR(name, ns_t_mx, ttl), pref_(pref), other_(other) {} + : DNSRR(name, T_MX, ttl), pref_(pref), other_(other) {} virtual std::vector<byte> data() const; int pref_; std::string other_; @@ -128,7 +130,7 @@ struct DNSMxRR : public DNSRR { struct DNSSrvRR : public DNSRR { DNSSrvRR(const std::string& name, int ttl, int prio, int weight, int port, const std::string& target) - : DNSRR(name, ns_t_srv, ttl), prio_(prio), weight_(weight), port_(port), target_(target) {} + : DNSRR(name, T_SRV, ttl), prio_(prio), weight_(weight), port_(port), target_(target) {} virtual std::vector<byte> data() const; int prio_; int weight_; @@ -140,7 +142,7 @@ struct DNSSoaRR : public DNSRR { DNSSoaRR(const std::string& name, int ttl, const std::string& nsname, const std::string& rname, int serial, int refresh, int retry, int expire, int minimum) - : DNSRR(name, ns_t_soa, ttl), nsname_(nsname), rname_(rname), + : DNSRR(name, T_SOA, ttl), nsname_(nsname), rname_(rname), serial_(serial), refresh_(refresh), retry_(retry), expire_(expire), minimum_(minimum) {} virtual std::vector<byte> data() const; @@ -160,7 +162,7 @@ struct DNSNaptrRR : public DNSRR { const std::string& service, const std::string& regexp, const std::string& replacement) - : DNSRR(name, ns_t_naptr, ttl), order_(order), pref_(pref), + : DNSRR(name, T_NAPTR, ttl), order_(order), pref_(pref), flags_(flags), service_(service), regexp_(regexp), replacement_(replacement) {} virtual std::vector<byte> data() const; int order_; @@ -178,16 +180,16 @@ struct DNSOption { struct DNSOptRR : public DNSRR { DNSOptRR(int extrcode, int udpsize) - : DNSRR("", ns_t_opt, static_cast<ns_class>(udpsize), extrcode) {} + : DNSRR("", T_OPT, static_cast<int>(udpsize), extrcode) {} virtual std::vector<byte> data() const; std::vector<DNSOption> opts_; }; struct DNSPacket { DNSPacket() - : qid_(0), response_(false), opcode_(ns_o_query), + : qid_(0), response_(false), opcode_(O_QUERY), aa_(false), tc_(false), rd_(false), ra_(false), - z_(false), ad_(false), cd_(false), rcode_(ns_r_noerror) {} + z_(false), ad_(false), cd_(false), rcode_(NOERROR) {} // Convenience functions that take ownership of given pointers. DNSPacket& add_question(DNSQuestion *q) { questions_.push_back(std::unique_ptr<DNSQuestion>(q)); @@ -215,14 +217,14 @@ struct DNSPacket { DNSPacket& set_z(bool v = true) { z_ = v; return *this; } DNSPacket& set_ad(bool v = true) { ad_ = v; return *this; } DNSPacket& set_cd(bool v = true) { cd_ = v; return *this; } - DNSPacket& set_rcode(ns_rcode rcode) { rcode_ = rcode; return *this; } + DNSPacket& set_rcode(int rcode) { rcode_ = rcode; return *this; } // Return the encoded packet. std::vector<byte> data() const; int qid_; bool response_; - ns_opcode opcode_; + int opcode_; bool aa_; bool tc_; bool rd_; @@ -230,7 +232,7 @@ struct DNSPacket { bool z_; bool ad_; bool cd_; - ns_rcode rcode_; + int rcode_; std::vector<std::unique_ptr<DNSQuestion>> questions_; std::vector<std::unique_ptr<DNSRR>> answers_; std::vector<std::unique_ptr<DNSRR>> auths_; diff --git a/contrib/libs/c-ares/test/ya.make b/contrib/libs/c-ares/test/ya.make index ef42eab230..8745fbc2ff 100644 --- a/contrib/libs/c-ares/test/ya.make +++ b/contrib/libs/c-ares/test/ya.make @@ -2,7 +2,12 @@ GTEST(arestest) -OWNER(max42 g:cpp-contrib) +WITHOUT_LICENSE_TEXTS() + +OWNER( + max42 + g:cpp-contrib +) LICENSE(MIT) @@ -17,7 +22,8 @@ PEERDIR( ) ADDINCL( - contrib/libs/c-ares + contrib/libs/c-ares/include + contrib/libs/c-ares/src/lib contrib/libs/c-ares/test ) @@ -43,6 +49,7 @@ SRCS( ares-test-ns.cc ares-test-parse-a.cc ares-test-parse-aaaa.cc + ares-test-parse-caa.cc ares-test-parse-mx.cc ares-test-parse-naptr.cc ares-test-parse-ns.cc |