14 std::cerr <<
"Nameserver: " <<
server << std::endl;
32 std::vector<std::string>
empty;
37 server1.
next = &server2;
39 server1.
addr.
addr4.s_addr = htonl(0x01020304);
40 server2.
next =
nullptr;
42 server2.
addr.
addr4.s_addr = htonl(0x02030405);
46 std::vector<std::string> expected = {
"1.2.3.4",
"2.3.4.5"};
52 std::vector<std::string>
empty;
57 server1.
next = &server2;
59 server1.
addr.
addr4.s_addr = htonl(0x01020304);
62 server2.
next =
nullptr;
64 server2.
addr.
addr4.s_addr = htonl(0x02030405);
70 std::vector<std::string> expected = {
"1.2.3.4:111",
"2.3.4.5"};
83 std::vector<std::string> expected = {
"1.2.3.4",
"0102:0304:0506:0708:0910:1112:1314:1516",
"2.3.4.5"};
96 std::vector<std::string> expected2 = {
"1.2.3.4:54",
"[0102:0304:0506:0708:0910:1112:1314:1516]:80",
"2.3.4.5:55"};
114 std::vector<std::string> none;
160 addr.s_addr = htonl(0x01020304);
206 EXPECT_EQ(
"REQ QRY Q:{'example.com\\.' IN A}", actual);
214 "a1234567890123456789.b1234567890123456789.c1234567890123456789.d1234567890123456789."
215 "a1234567890123456789.b1234567890123456789.c1234567890123456789.d1234567890123456789."
216 "a1234567890123456789.b1234567890123456789.c1234567890123456789.d1234567890123456789."
217 "x1234567890123456789.y1234567890123456789.",
226 for (
int ii = 0; ii < 17; ii++) {
227 longname +=
"fedcba9876543210";
244 std::string longlabel =
"a.a123456789b123456789c123456789d123456789e123456789f123456789g123456789.org";
301 unsigned char buf[2];
310 char *
name =
nullptr;
326 std::vector<byte> data1 = {1,
'a', 2,
'b',
'c', 3,
'd',
'e',
'f', 0};
330 std::vector<byte> data2 = {0};
335 std::vector<byte> data3 = {0x12, 0x23,
344 std::vector<byte> data4 = {0x12, 0x23,
353 std::vector<byte> data5 = {0x12, 0x23,
355 1,
'a', 1,
'b', 0xC0, 2};
362 std::vector<byte> data6 = {0x12, 0x23,
372 std::vector<byte> data1 = {0x03,
'c',
'o',
'm', 0x00};
373 char *
name =
nullptr;
390 std::vector<byte> data2a = {0x13,
'c',
'o',
'm', 0x00};
394 std::vector<byte> data2b = {0x1};
398 std::vector<byte> data2c = {0xC0};
404 std::vector<byte> data3a = {0xC0, 0x02};
408 std::vector<byte> data3b = {0xC0, 0x0A,
'c',
'o',
'm', 0x00};
414 std::vector<byte> data4 = {0x03,
'c',
'o',
'm', 0x00, 0x80, 0x00};
420 std::vector<byte> data5 = {0x40,
421 '0',
'1',
'2',
'3',
'4',
'5',
'6',
'7',
'8',
'9',
'a',
'b',
'c',
'd',
'e',
'f',
422 '0',
'1',
'2',
'3',
'4',
'5',
'6',
'7',
'8',
'9',
'a',
'b',
'c',
'd',
'e',
'f',
423 '0',
'1',
'2',
'3',
'4',
'5',
'6',
'7',
'8',
'9',
'a',
'b',
'c',
'd',
'e',
'f',
424 '0',
'1',
'2',
'3',
'4',
'5',
'6',
'7',
'8',
'9',
'a',
'b',
'c',
'd',
'e',
'f',
431 std::vector<byte> data6 = {0x03,
'c',
'o',
'm', 0x00, 0xC0};
437 std::vector<byte> data7 = {0xC0, 0x02, 0xC0, 0x00};
441 std::vector<byte> data8 = {3,
'd',
'e',
'f', 0xC0, 0x08, 0x00, 0x00,
442 3,
'a',
'b',
'c', 0xC0, 0x00};
446 std::vector<byte> data9 = {0x12, 0x23,
447 3,
'd',
'e',
'f', 0xC0, 0x02};
503 std::vector<byte> s1 = { 3,
'a',
'b',
'c'};
519 SetAllocSizeFail(3 + 1);