mirror of https://github.com/getdnsapi/getdns.git
Crude changes to stub test scripts to allow testing of all transport and recusive mode combinations
This commit is contained in:
parent
2d77d02084
commit
88bdbdc972
|
@ -41,6 +41,12 @@
|
||||||
#include "getdns/getdns_extra.h"
|
#include "getdns/getdns_extra.h"
|
||||||
#include <sys/time.h>
|
#include <sys/time.h>
|
||||||
|
|
||||||
|
#define TRANSPORT_UDP "udp"
|
||||||
|
#define TRANSPORT_TCP "tcp"
|
||||||
|
#define TRANSPORT_PIPELINE "pipeline"
|
||||||
|
#define RESOLUTION_STUB "stub"
|
||||||
|
#define RESOLUTION_REC "rec"
|
||||||
|
|
||||||
/* Set up the callback function, which will also do the processing of the results */
|
/* Set up the callback function, which will also do the processing of the results */
|
||||||
void
|
void
|
||||||
this_callbackfn(struct getdns_context *this_context,
|
this_callbackfn(struct getdns_context *this_context,
|
||||||
|
@ -55,11 +61,11 @@ this_callbackfn(struct getdns_context *this_context,
|
||||||
|
|
||||||
} else if (this_callback_type == GETDNS_CALLBACK_CANCEL)
|
} else if (this_callback_type == GETDNS_CALLBACK_CANCEL)
|
||||||
fprintf(stderr,
|
fprintf(stderr,
|
||||||
"The callback with ID %llu was cancelled. Exiting.",
|
"The callback with ID %llu was cancelled. Exiting.\n",
|
||||||
(unsigned long long)this_transaction_id);
|
(unsigned long long)this_transaction_id);
|
||||||
else
|
else
|
||||||
fprintf(stderr,
|
fprintf(stderr,
|
||||||
"The callback got a callback_type of %d. Exiting.",
|
"The callback got a callback_type of %d. Exiting.\n",
|
||||||
this_callback_type);
|
this_callback_type);
|
||||||
getdns_dict_destroy(this_response);
|
getdns_dict_destroy(this_response);
|
||||||
}
|
}
|
||||||
|
@ -67,6 +73,10 @@ this_callbackfn(struct getdns_context *this_context,
|
||||||
int
|
int
|
||||||
main(int argc, char** argv)
|
main(int argc, char** argv)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
const char *transport = argc > 2 ? argv[2] : "udp";
|
||||||
|
const char *resolution = argc > 3 ? argv[3] : "stub";
|
||||||
|
|
||||||
/* Create the DNS context for this call */
|
/* Create the DNS context for this call */
|
||||||
struct getdns_context *this_context = NULL;
|
struct getdns_context *this_context = NULL;
|
||||||
getdns_return_t context_create_return =
|
getdns_return_t context_create_return =
|
||||||
|
@ -76,7 +86,22 @@ main(int argc, char** argv)
|
||||||
context_create_return);
|
context_create_return);
|
||||||
return (GETDNS_RETURN_GENERIC_ERROR);
|
return (GETDNS_RETURN_GENERIC_ERROR);
|
||||||
}
|
}
|
||||||
getdns_context_set_resolution_type(this_context, GETDNS_RESOLUTION_STUB);
|
|
||||||
|
if (strncmp(resolution, RESOLUTION_STUB, 4) == 0)
|
||||||
|
getdns_context_set_resolution_type(this_context, GETDNS_RESOLUTION_STUB);
|
||||||
|
else if (strncmp(resolution, RESOLUTION_REC, 4) != 0) {
|
||||||
|
fprintf(stderr, "Invalid resolution %s, must be one of stub or rec\n", transport);
|
||||||
|
exit(EXIT_FAILURE);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (strncmp(transport, TRANSPORT_TCP, 3) == 0)
|
||||||
|
getdns_context_set_dns_transport(this_context, GETDNS_TRANSPORT_TCP_ONLY);
|
||||||
|
else if (strncmp(transport, TRANSPORT_PIPELINE, 8) == 0)
|
||||||
|
getdns_context_set_dns_transport(this_context, GETDNS_TRANSPORT_TCP_ONLY_KEEP_CONNECTIONS_OPEN);
|
||||||
|
else if (strncmp(transport, TRANSPORT_UDP, 3) != 0) {
|
||||||
|
fprintf(stderr, "Invalid transport %s, must be one of udp, tcp or pipeline\n", transport);
|
||||||
|
exit(EXIT_FAILURE);
|
||||||
|
}
|
||||||
|
|
||||||
getdns_context_set_timeout(this_context, 5000);
|
getdns_context_set_timeout(this_context, 5000);
|
||||||
/* Create an event base and put it in the context using the unknown function name */
|
/* Create an event base and put it in the context using the unknown function name */
|
||||||
|
@ -87,7 +112,7 @@ main(int argc, char** argv)
|
||||||
|
|
||||||
/* Make the call */
|
/* Make the call */
|
||||||
getdns_return_t dns_request_return =
|
getdns_return_t dns_request_return =
|
||||||
getdns_general(this_context, this_name, GETDNS_RRTYPE_A,
|
getdns_address(this_context, this_name,
|
||||||
NULL, this_userarg, &this_transaction_id, this_callbackfn);
|
NULL, this_userarg, &this_transaction_id, this_callbackfn);
|
||||||
if (dns_request_return == GETDNS_RETURN_BAD_DOMAIN_NAME) {
|
if (dns_request_return == GETDNS_RETURN_BAD_DOMAIN_NAME) {
|
||||||
fprintf(stderr, "A bad domain name was used: %s. Exiting.",
|
fprintf(stderr, "A bad domain name was used: %s. Exiting.",
|
||||||
|
|
|
@ -1,187 +1,322 @@
|
||||||
{
|
{
|
||||||
"answer_type": 800,
|
"answer_type": GETDNS_NAMETYPE_DNS,
|
||||||
"canonical_name": <bindata of "www.google.com.">,
|
"canonical_name": <bindata of "getdnsapi.net.">,
|
||||||
"just_address_answers":
|
"just_address_answers":
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
"address_data": <bindata of 0x4a7d8369>,
|
"address_data": <bindata for 185.49.141.37>,
|
||||||
"address_type": <bindata of "IPv4">
|
"address_type": <bindata of "IPv4">
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"address_data": <bindata of 0x4a7d8367>,
|
"address_data": <bindata for 2a04:b900:0:100::37>,
|
||||||
"address_type": <bindata of "IPv4">
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"address_data": <bindata of 0x4a7d8368>,
|
|
||||||
"address_type": <bindata of "IPv4">
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"address_data": <bindata of 0x4a7d8393>,
|
|
||||||
"address_type": <bindata of "IPv4">
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"address_data": <bindata of 0x4a7d836a>,
|
|
||||||
"address_type": <bindata of "IPv4">
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"address_data": <bindata of 0x4a7d8363>,
|
|
||||||
"address_type": <bindata of "IPv4">
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"address_data": <bindata of 0x2607f8b0400c0c030000000000000067>,
|
|
||||||
"address_type": <bindata of "IPv6">
|
"address_type": <bindata of "IPv6">
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"replies_full":
|
"replies_full":
|
||||||
[
|
[
|
||||||
<bindata of 0x00008180000100060000000103777777...>,
|
<bindata of 0x705f8180000100020004000309676574...>,
|
||||||
<bindata of 0x00008180000100010000000103777777...>
|
<bindata of 0x5fb58180000100020004000309676574...>
|
||||||
],
|
],
|
||||||
"replies_tree":
|
"replies_tree":
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
"additional": [],
|
"additional":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"class": GETDNS_RRCLASS_IN,
|
||||||
|
"name": <bindata for getdnsapi.net.>,
|
||||||
|
"rdata":
|
||||||
|
{
|
||||||
|
"ipv6_address": <bindata for 2a04:b900:0:100::37>,
|
||||||
|
"rdata_raw": <bindata of 0x2a04b900000001000000000000000037>
|
||||||
|
},
|
||||||
|
"ttl": 376,
|
||||||
|
"type": GETDNS_RRTYPE_AAAA
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"class": GETDNS_RRCLASS_IN,
|
||||||
|
"name": <bindata for getdnsapi.net.>,
|
||||||
|
"rdata":
|
||||||
|
{
|
||||||
|
"algorithm": 7,
|
||||||
|
"key_tag": 50394,
|
||||||
|
"labels": 2,
|
||||||
|
"original_ttl": 450,
|
||||||
|
"rdata_raw": <bindata of 0x001c0702000001c25462c1ca54465e04...>,
|
||||||
|
"signature": <bindata of 0x997567f31b90d7edb2500dcc5c6f6ee3...>,
|
||||||
|
"signature_expiration": 1415758282,
|
||||||
|
"signature_inception": 1413897732,
|
||||||
|
"signers_name": <bindata for getdnsapi.net.>,
|
||||||
|
"type_covered": GETDNS_RRTYPE_AAAA
|
||||||
|
},
|
||||||
|
"ttl": 376,
|
||||||
|
"type": GETDNS_RRTYPE_RRSIG
|
||||||
|
}
|
||||||
|
],
|
||||||
"answer":
|
"answer":
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
"class": 1,
|
"class": GETDNS_RRCLASS_IN,
|
||||||
"name": <bindata for www.google.com.>,
|
"name": <bindata for getdnsapi.net.>,
|
||||||
"rdata":
|
"rdata":
|
||||||
{
|
{
|
||||||
"ipv4_address": <bindata of 0x4a7d8369>,
|
"ipv4_address": <bindata for 185.49.141.37>,
|
||||||
"rdata_raw": <bindata of 0x4a7d8369>
|
"rdata_raw": <bindata of 0xb9318d25>
|
||||||
},
|
},
|
||||||
"ttl": 227,
|
"ttl": 376,
|
||||||
"type": GETDNS_RRTYPE_A
|
"type": GETDNS_RRTYPE_A
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"class": 1,
|
"class": GETDNS_RRCLASS_IN,
|
||||||
"name": <bindata for www.google.com.>,
|
"name": <bindata for getdnsapi.net.>,
|
||||||
"rdata":
|
"rdata":
|
||||||
{
|
{
|
||||||
"ipv4_address": <bindata of 0x4a7d8367>,
|
"algorithm": 7,
|
||||||
"rdata_raw": <bindata of 0x4a7d8367>
|
"key_tag": 50394,
|
||||||
|
"labels": 2,
|
||||||
|
"original_ttl": 450,
|
||||||
|
"rdata_raw": <bindata of 0x00010702000001c254616f025445ed84...>,
|
||||||
|
"signature": <bindata of 0x6b0f75546e89e16a45d6ffec4dcb9bb0...>,
|
||||||
|
"signature_expiration": 1415671554,
|
||||||
|
"signature_inception": 1413868932,
|
||||||
|
"signers_name": <bindata for getdnsapi.net.>,
|
||||||
|
"type_covered": GETDNS_RRTYPE_A
|
||||||
},
|
},
|
||||||
"ttl": 227,
|
"ttl": 376,
|
||||||
"type": GETDNS_RRTYPE_A
|
"type": GETDNS_RRTYPE_RRSIG
|
||||||
},
|
|
||||||
{
|
|
||||||
"class": 1,
|
|
||||||
"name": <bindata for www.google.com.>,
|
|
||||||
"rdata":
|
|
||||||
{
|
|
||||||
"ipv4_address": <bindata of 0x4a7d8368>,
|
|
||||||
"rdata_raw": <bindata of 0x4a7d8368>
|
|
||||||
},
|
|
||||||
"ttl": 227,
|
|
||||||
"type": GETDNS_RRTYPE_A
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"class": 1,
|
|
||||||
"name": <bindata for www.google.com.>,
|
|
||||||
"rdata":
|
|
||||||
{
|
|
||||||
"ipv4_address": <bindata of 0x4a7d8393>,
|
|
||||||
"rdata_raw": <bindata of 0x4a7d8393>
|
|
||||||
},
|
|
||||||
"ttl": 227,
|
|
||||||
"type": GETDNS_RRTYPE_A
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"class": 1,
|
|
||||||
"name": <bindata for www.google.com.>,
|
|
||||||
"rdata":
|
|
||||||
{
|
|
||||||
"ipv4_address": <bindata of 0x4a7d836a>,
|
|
||||||
"rdata_raw": <bindata of 0x4a7d836a>
|
|
||||||
},
|
|
||||||
"ttl": 227,
|
|
||||||
"type": GETDNS_RRTYPE_A
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"class": 1,
|
|
||||||
"name": <bindata for www.google.com.>,
|
|
||||||
"rdata":
|
|
||||||
{
|
|
||||||
"ipv4_address": <bindata of 0x4a7d8363>,
|
|
||||||
"rdata_raw": <bindata of 0x4a7d8363>
|
|
||||||
},
|
|
||||||
"ttl": 227,
|
|
||||||
"type": GETDNS_RRTYPE_A
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"answer_type": 800,
|
"answer_type": GETDNS_NAMETYPE_DNS,
|
||||||
"authority": [],
|
"authority":
|
||||||
"canonical_name": <bindata of "www.google.com.">,
|
[
|
||||||
|
{
|
||||||
|
"class": GETDNS_RRCLASS_IN,
|
||||||
|
"name": <bindata for getdnsapi.net.>,
|
||||||
|
"rdata":
|
||||||
|
{
|
||||||
|
"nsdname": <bindata for getdnsapi.net.>,
|
||||||
|
"rdata_raw": <bindata for getdnsapi.net.>
|
||||||
|
},
|
||||||
|
"ttl": 376,
|
||||||
|
"type": GETDNS_RRTYPE_NS
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"class": GETDNS_RRCLASS_IN,
|
||||||
|
"name": <bindata for getdnsapi.net.>,
|
||||||
|
"rdata":
|
||||||
|
{
|
||||||
|
"nsdname": <bindata for mcvax.nlnet.nl.>,
|
||||||
|
"rdata_raw": <bindata for mcvax.nlnet.nl.>
|
||||||
|
},
|
||||||
|
"ttl": 376,
|
||||||
|
"type": GETDNS_RRTYPE_NS
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"class": GETDNS_RRCLASS_IN,
|
||||||
|
"name": <bindata for getdnsapi.net.>,
|
||||||
|
"rdata":
|
||||||
|
{
|
||||||
|
"nsdname": <bindata for dicht.nlnetlabs.nl.>,
|
||||||
|
"rdata_raw": <bindata for dicht.nlnetlabs.nl.>
|
||||||
|
},
|
||||||
|
"ttl": 376,
|
||||||
|
"type": GETDNS_RRTYPE_NS
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"class": GETDNS_RRCLASS_IN,
|
||||||
|
"name": <bindata for getdnsapi.net.>,
|
||||||
|
"rdata":
|
||||||
|
{
|
||||||
|
"algorithm": 7,
|
||||||
|
"key_tag": 50394,
|
||||||
|
"labels": 2,
|
||||||
|
"original_ttl": 450,
|
||||||
|
"rdata_raw": <bindata of 0x00020702000001c254606b0054450c84...>,
|
||||||
|
"signature": <bindata of 0x103f5f653c8eca57c2544af8afe62158...>,
|
||||||
|
"signature_expiration": 1415604992,
|
||||||
|
"signature_inception": 1413811332,
|
||||||
|
"signers_name": <bindata for getdnsapi.net.>,
|
||||||
|
"type_covered": GETDNS_RRTYPE_NS
|
||||||
|
},
|
||||||
|
"ttl": 376,
|
||||||
|
"type": GETDNS_RRTYPE_RRSIG
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"canonical_name": <bindata of "getdnsapi.net.">,
|
||||||
"header":
|
"header":
|
||||||
{
|
{
|
||||||
"aa": 0,
|
"aa": 0,
|
||||||
"ad": 0,
|
"ad": 0,
|
||||||
"ancount": 6,
|
"ancount": 2,
|
||||||
"arcount": 0,
|
"arcount": 2,
|
||||||
"cd": 0,
|
"cd": 0,
|
||||||
"id": 0,
|
"id": 28767,
|
||||||
"nscount": 0,
|
"nscount": 4,
|
||||||
"opcode": 0,
|
"opcode": GETDNS_OPCODE_QUERY,
|
||||||
"qdcount": 1,
|
"qdcount": 1,
|
||||||
"qr": 1,
|
"qr": 1,
|
||||||
"ra": 1,
|
"ra": 1,
|
||||||
"rcode": 0,
|
"rcode": GETDNS_RCODE_NOERROR,
|
||||||
"rd": 1,
|
"rd": 1,
|
||||||
"tc": 0,
|
"tc": 0,
|
||||||
"z": 0
|
"z": 0
|
||||||
},
|
},
|
||||||
"question":
|
"question":
|
||||||
{
|
{
|
||||||
"qclass": 1,
|
"qclass": GETDNS_RRCLASS_IN,
|
||||||
"qname": <bindata for www.google.com.>,
|
"qname": <bindata for getdnsapi.net.>,
|
||||||
"qtype": 1
|
"qtype": GETDNS_RRTYPE_A
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"additional": [],
|
"additional":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"class": GETDNS_RRCLASS_IN,
|
||||||
|
"name": <bindata for getdnsapi.net.>,
|
||||||
|
"rdata":
|
||||||
|
{
|
||||||
|
"ipv4_address": <bindata for 185.49.141.37>,
|
||||||
|
"rdata_raw": <bindata of 0xb9318d25>
|
||||||
|
},
|
||||||
|
"ttl": 376,
|
||||||
|
"type": GETDNS_RRTYPE_A
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"class": GETDNS_RRCLASS_IN,
|
||||||
|
"name": <bindata for getdnsapi.net.>,
|
||||||
|
"rdata":
|
||||||
|
{
|
||||||
|
"algorithm": 7,
|
||||||
|
"key_tag": 50394,
|
||||||
|
"labels": 2,
|
||||||
|
"original_ttl": 450,
|
||||||
|
"rdata_raw": <bindata of 0x00010702000001c254616f025445ed84...>,
|
||||||
|
"signature": <bindata of 0x6b0f75546e89e16a45d6ffec4dcb9bb0...>,
|
||||||
|
"signature_expiration": 1415671554,
|
||||||
|
"signature_inception": 1413868932,
|
||||||
|
"signers_name": <bindata for getdnsapi.net.>,
|
||||||
|
"type_covered": GETDNS_RRTYPE_A
|
||||||
|
},
|
||||||
|
"ttl": 376,
|
||||||
|
"type": GETDNS_RRTYPE_RRSIG
|
||||||
|
}
|
||||||
|
],
|
||||||
"answer":
|
"answer":
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
"class": 1,
|
"class": GETDNS_RRCLASS_IN,
|
||||||
"name": <bindata for www.google.com.>,
|
"name": <bindata for getdnsapi.net.>,
|
||||||
"rdata":
|
"rdata":
|
||||||
{
|
{
|
||||||
"ipv6_address": <bindata of 0x2607f8b0400c0c030000000000000067>,
|
"ipv6_address": <bindata for 2a04:b900:0:100::37>,
|
||||||
"rdata_raw": <bindata of 0x2607f8b0400c0c030000000000000067>
|
"rdata_raw": <bindata of 0x2a04b900000001000000000000000037>
|
||||||
},
|
},
|
||||||
"ttl": 136,
|
"ttl": 376,
|
||||||
"type": GETDNS_RRTYPE_AAAA
|
"type": GETDNS_RRTYPE_AAAA
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"class": GETDNS_RRCLASS_IN,
|
||||||
|
"name": <bindata for getdnsapi.net.>,
|
||||||
|
"rdata":
|
||||||
|
{
|
||||||
|
"algorithm": 7,
|
||||||
|
"key_tag": 50394,
|
||||||
|
"labels": 2,
|
||||||
|
"original_ttl": 450,
|
||||||
|
"rdata_raw": <bindata of 0x001c0702000001c25462c1ca54465e04...>,
|
||||||
|
"signature": <bindata of 0x997567f31b90d7edb2500dcc5c6f6ee3...>,
|
||||||
|
"signature_expiration": 1415758282,
|
||||||
|
"signature_inception": 1413897732,
|
||||||
|
"signers_name": <bindata for getdnsapi.net.>,
|
||||||
|
"type_covered": GETDNS_RRTYPE_AAAA
|
||||||
|
},
|
||||||
|
"ttl": 376,
|
||||||
|
"type": GETDNS_RRTYPE_RRSIG
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"answer_type": 800,
|
"answer_type": GETDNS_NAMETYPE_DNS,
|
||||||
"authority": [],
|
"authority":
|
||||||
"canonical_name": <bindata of "www.google.com.">,
|
[
|
||||||
|
{
|
||||||
|
"class": GETDNS_RRCLASS_IN,
|
||||||
|
"name": <bindata for getdnsapi.net.>,
|
||||||
|
"rdata":
|
||||||
|
{
|
||||||
|
"nsdname": <bindata for getdnsapi.net.>,
|
||||||
|
"rdata_raw": <bindata for getdnsapi.net.>
|
||||||
|
},
|
||||||
|
"ttl": 376,
|
||||||
|
"type": GETDNS_RRTYPE_NS
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"class": GETDNS_RRCLASS_IN,
|
||||||
|
"name": <bindata for getdnsapi.net.>,
|
||||||
|
"rdata":
|
||||||
|
{
|
||||||
|
"nsdname": <bindata for mcvax.nlnet.nl.>,
|
||||||
|
"rdata_raw": <bindata for mcvax.nlnet.nl.>
|
||||||
|
},
|
||||||
|
"ttl": 376,
|
||||||
|
"type": GETDNS_RRTYPE_NS
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"class": GETDNS_RRCLASS_IN,
|
||||||
|
"name": <bindata for getdnsapi.net.>,
|
||||||
|
"rdata":
|
||||||
|
{
|
||||||
|
"nsdname": <bindata for dicht.nlnetlabs.nl.>,
|
||||||
|
"rdata_raw": <bindata for dicht.nlnetlabs.nl.>
|
||||||
|
},
|
||||||
|
"ttl": 376,
|
||||||
|
"type": GETDNS_RRTYPE_NS
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"class": GETDNS_RRCLASS_IN,
|
||||||
|
"name": <bindata for getdnsapi.net.>,
|
||||||
|
"rdata":
|
||||||
|
{
|
||||||
|
"algorithm": 7,
|
||||||
|
"key_tag": 50394,
|
||||||
|
"labels": 2,
|
||||||
|
"original_ttl": 450,
|
||||||
|
"rdata_raw": <bindata of 0x00020702000001c254606b0054450c84...>,
|
||||||
|
"signature": <bindata of 0x103f5f653c8eca57c2544af8afe62158...>,
|
||||||
|
"signature_expiration": 1415604992,
|
||||||
|
"signature_inception": 1413811332,
|
||||||
|
"signers_name": <bindata for getdnsapi.net.>,
|
||||||
|
"type_covered": GETDNS_RRTYPE_NS
|
||||||
|
},
|
||||||
|
"ttl": 376,
|
||||||
|
"type": GETDNS_RRTYPE_RRSIG
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"canonical_name": <bindata of "getdnsapi.net.">,
|
||||||
"header":
|
"header":
|
||||||
{
|
{
|
||||||
"aa": 0,
|
"aa": 0,
|
||||||
"ad": 0,
|
"ad": 0,
|
||||||
"ancount": 1,
|
"ancount": 2,
|
||||||
"arcount": 0,
|
"arcount": 2,
|
||||||
"cd": 0,
|
"cd": 0,
|
||||||
"id": 0,
|
"id": 24501,
|
||||||
"nscount": 0,
|
"nscount": 4,
|
||||||
"opcode": 0,
|
"opcode": GETDNS_OPCODE_QUERY,
|
||||||
"qdcount": 1,
|
"qdcount": 1,
|
||||||
"qr": 1,
|
"qr": 1,
|
||||||
"ra": 1,
|
"ra": 1,
|
||||||
"rcode": 0,
|
"rcode": GETDNS_RCODE_NOERROR,
|
||||||
"rd": 1,
|
"rd": 1,
|
||||||
"tc": 0,
|
"tc": 0,
|
||||||
"z": 0
|
"z": 0
|
||||||
},
|
},
|
||||||
"question":
|
"question":
|
||||||
{
|
{
|
||||||
"qclass": 1,
|
"qclass": GETDNS_RRCLASS_IN,
|
||||||
"qname": <bindata for www.google.com.>,
|
"qname": <bindata for getdnsapi.net.>,
|
||||||
"qtype": 28
|
"qtype": GETDNS_RRTYPE_AAAA
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"status": 900
|
"status": GETDNS_RESPSTATUS_GOOD
|
||||||
}
|
}
|
||||||
|
|
|
@ -38,6 +38,12 @@
|
||||||
#include "testmessages.h"
|
#include "testmessages.h"
|
||||||
#include "getdns/getdns.h"
|
#include "getdns/getdns.h"
|
||||||
|
|
||||||
|
#define TRANSPORT_UDP "udp"
|
||||||
|
#define TRANSPORT_TCP "tcp"
|
||||||
|
#define TRANSPORT_PIPELINE "pipeline"
|
||||||
|
#define RESOLUTION_STUB "stub"
|
||||||
|
#define RESOLUTION_REC "rec"
|
||||||
|
|
||||||
static void
|
static void
|
||||||
print_response(struct getdns_dict * response)
|
print_response(struct getdns_dict * response)
|
||||||
{
|
{
|
||||||
|
@ -49,8 +55,12 @@ print_response(struct getdns_dict * response)
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
main()
|
main(int argc, char** argv)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
const char *transport = argc > 1 ? argv[1] : "udp";
|
||||||
|
const char *resolution = argc > 2 ? argv[2] : "stub";
|
||||||
|
|
||||||
/* Create the DNS context for this call */
|
/* Create the DNS context for this call */
|
||||||
struct getdns_context *this_context = NULL;
|
struct getdns_context *this_context = NULL;
|
||||||
getdns_return_t context_create_return =
|
getdns_return_t context_create_return =
|
||||||
|
@ -60,7 +70,22 @@ main()
|
||||||
context_create_return);
|
context_create_return);
|
||||||
return (GETDNS_RETURN_GENERIC_ERROR);
|
return (GETDNS_RETURN_GENERIC_ERROR);
|
||||||
}
|
}
|
||||||
getdns_context_set_resolution_type(this_context, GETDNS_RESOLUTION_STUB);
|
|
||||||
|
if (strncmp(resolution, RESOLUTION_STUB, 4) == 0)
|
||||||
|
getdns_context_set_resolution_type(this_context, GETDNS_RESOLUTION_STUB);
|
||||||
|
else if (strncmp(resolution, RESOLUTION_REC, 4) != 0) {
|
||||||
|
fprintf(stderr, "Invalid resolution %s, must be one of stub or rec\n", transport);
|
||||||
|
exit(EXIT_FAILURE);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (strncmp(transport, TRANSPORT_TCP, 3) == 0)
|
||||||
|
getdns_context_set_dns_transport(this_context, GETDNS_TRANSPORT_TCP_ONLY);
|
||||||
|
else if (strncmp(transport, TRANSPORT_PIPELINE, 8) == 0)
|
||||||
|
getdns_context_set_dns_transport(this_context, GETDNS_TRANSPORT_TCP_ONLY_KEEP_CONNECTIONS_OPEN);
|
||||||
|
else if (strncmp(transport, TRANSPORT_UDP, 3) != 0) {
|
||||||
|
fprintf(stderr, "Invalid transport %s, must be one of udp, tcp or pipeline\n", transport);
|
||||||
|
exit(EXIT_FAILURE);
|
||||||
|
}
|
||||||
|
|
||||||
struct getdns_dict *response = NULL;
|
struct getdns_dict *response = NULL;
|
||||||
getdns_return_t ret =
|
getdns_return_t ret =
|
||||||
|
@ -74,17 +99,14 @@ main()
|
||||||
getdns_dict_destroy(response);
|
getdns_dict_destroy(response);
|
||||||
|
|
||||||
ret =
|
ret =
|
||||||
getdns_service_sync(this_context, "www.google.com", NULL, &response);
|
getdns_service_sync(this_context, "_xmpp-client._tcp.jabber.com.", NULL, &response);
|
||||||
if (ret != GETDNS_RETURN_GOOD || response == NULL) {
|
if (ret != GETDNS_RETURN_GOOD || response == NULL) {
|
||||||
fprintf(stderr, "Service sync returned error.\n");
|
fprintf(stderr, "Service sync returned error.\n");
|
||||||
exit(EXIT_FAILURE);
|
exit(EXIT_FAILURE);
|
||||||
}
|
}
|
||||||
print_response(response);
|
print_response(response);
|
||||||
getdns_dict_destroy(response);
|
getdns_dict_destroy(response);
|
||||||
|
|
||||||
/* Now switch to TCP and make sure everything works */
|
|
||||||
getdns_context_set_dns_transport(this_context, GETDNS_TRANSPORT_TCP_ONLY);
|
|
||||||
|
|
||||||
ret = getdns_general_sync(this_context, "www.google.com", GETDNS_RRTYPE_A,
|
ret = getdns_general_sync(this_context, "www.google.com", GETDNS_RRTYPE_A,
|
||||||
NULL, &response);
|
NULL, &response);
|
||||||
if (ret != GETDNS_RETURN_GOOD || response == NULL) {
|
if (ret != GETDNS_RETURN_GOOD || response == NULL) {
|
||||||
|
@ -93,7 +115,7 @@ main()
|
||||||
}
|
}
|
||||||
print_response(response);
|
print_response(response);
|
||||||
getdns_dict_destroy(response);
|
getdns_dict_destroy(response);
|
||||||
|
|
||||||
/* Clean up */
|
/* Clean up */
|
||||||
getdns_context_destroy(this_context);
|
getdns_context_destroy(this_context);
|
||||||
/* Assuming we get here, leave gracefully */
|
/* Assuming we get here, leave gracefully */
|
||||||
|
|
|
@ -1,41 +1,37 @@
|
||||||
The packet {
|
The packet {
|
||||||
"answer_type": 800,
|
"answer_type": GETDNS_NAMETYPE_DNS,
|
||||||
"canonical_name": <bindata of "www.google.com.">,
|
"canonical_name": <bindata of "www.google.com.">,
|
||||||
"just_address_answers":
|
"just_address_answers":
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
"address_data": <bindata of 0x4a7d8393>,
|
"address_data": <bindata for 74.125.230.81>,
|
||||||
"address_type": <bindata of "IPv4">
|
"address_type": <bindata of "IPv4">
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"address_data": <bindata of 0x4a7d8368>,
|
"address_data": <bindata for 74.125.230.80>,
|
||||||
"address_type": <bindata of "IPv4">
|
"address_type": <bindata of "IPv4">
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"address_data": <bindata of 0x4a7d8363>,
|
"address_data": <bindata for 74.125.230.82>,
|
||||||
"address_type": <bindata of "IPv4">
|
"address_type": <bindata of "IPv4">
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"address_data": <bindata of 0x4a7d8367>,
|
"address_data": <bindata for 74.125.230.83>,
|
||||||
"address_type": <bindata of "IPv4">
|
"address_type": <bindata of "IPv4">
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"address_data": <bindata of 0x4a7d836a>,
|
"address_data": <bindata for 74.125.230.84>,
|
||||||
"address_type": <bindata of "IPv4">
|
"address_type": <bindata of "IPv4">
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"address_data": <bindata of 0x4a7d8369>,
|
"address_data": <bindata for 2a00:1450:4009:800::1014>,
|
||||||
"address_type": <bindata of "IPv4">
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"address_data": <bindata of 0x2607f8b0400c0c030000000000000068>,
|
|
||||||
"address_type": <bindata of "IPv6">
|
"address_type": <bindata of "IPv6">
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"replies_full":
|
"replies_full":
|
||||||
[
|
[
|
||||||
<bindata of 0x00008180000100060000000103777777...>,
|
<bindata of 0xb1808180000100050000000103777777...>,
|
||||||
<bindata of 0x00008180000100010000000103777777...>
|
<bindata of 0xeba08180000100010000000103777777...>
|
||||||
],
|
],
|
||||||
"replies_tree":
|
"replies_tree":
|
||||||
[
|
[
|
||||||
|
@ -44,98 +40,87 @@ The packet {
|
||||||
"answer":
|
"answer":
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
"class": 1,
|
"class": GETDNS_RRCLASS_IN,
|
||||||
"name": <bindata for www.google.com.>,
|
"name": <bindata for www.google.com.>,
|
||||||
"rdata":
|
"rdata":
|
||||||
{
|
{
|
||||||
"ipv4_address": <bindata of 0x4a7d8393>,
|
"ipv4_address": <bindata for 74.125.230.81>,
|
||||||
"rdata_raw": <bindata of 0x4a7d8393>
|
"rdata_raw": <bindata of 0x4a7de651>
|
||||||
},
|
},
|
||||||
"ttl": 300,
|
"ttl": 300,
|
||||||
"type": GETDNS_RRTYPE_A
|
"type": GETDNS_RRTYPE_A
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"class": 1,
|
"class": GETDNS_RRCLASS_IN,
|
||||||
"name": <bindata for www.google.com.>,
|
"name": <bindata for www.google.com.>,
|
||||||
"rdata":
|
"rdata":
|
||||||
{
|
{
|
||||||
"ipv4_address": <bindata of 0x4a7d8368>,
|
"ipv4_address": <bindata for 74.125.230.80>,
|
||||||
"rdata_raw": <bindata of 0x4a7d8368>
|
"rdata_raw": <bindata of 0x4a7de650>
|
||||||
},
|
},
|
||||||
"ttl": 300,
|
"ttl": 300,
|
||||||
"type": GETDNS_RRTYPE_A
|
"type": GETDNS_RRTYPE_A
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"class": 1,
|
"class": GETDNS_RRCLASS_IN,
|
||||||
"name": <bindata for www.google.com.>,
|
"name": <bindata for www.google.com.>,
|
||||||
"rdata":
|
"rdata":
|
||||||
{
|
{
|
||||||
"ipv4_address": <bindata of 0x4a7d8363>,
|
"ipv4_address": <bindata for 74.125.230.82>,
|
||||||
"rdata_raw": <bindata of 0x4a7d8363>
|
"rdata_raw": <bindata of 0x4a7de652>
|
||||||
},
|
},
|
||||||
"ttl": 300,
|
"ttl": 300,
|
||||||
"type": GETDNS_RRTYPE_A
|
"type": GETDNS_RRTYPE_A
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"class": 1,
|
"class": GETDNS_RRCLASS_IN,
|
||||||
"name": <bindata for www.google.com.>,
|
"name": <bindata for www.google.com.>,
|
||||||
"rdata":
|
"rdata":
|
||||||
{
|
{
|
||||||
"ipv4_address": <bindata of 0x4a7d8367>,
|
"ipv4_address": <bindata for 74.125.230.83>,
|
||||||
"rdata_raw": <bindata of 0x4a7d8367>
|
"rdata_raw": <bindata of 0x4a7de653>
|
||||||
},
|
},
|
||||||
"ttl": 300,
|
"ttl": 300,
|
||||||
"type": GETDNS_RRTYPE_A
|
"type": GETDNS_RRTYPE_A
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"class": 1,
|
"class": GETDNS_RRCLASS_IN,
|
||||||
"name": <bindata for www.google.com.>,
|
"name": <bindata for www.google.com.>,
|
||||||
"rdata":
|
"rdata":
|
||||||
{
|
{
|
||||||
"ipv4_address": <bindata of 0x4a7d836a>,
|
"ipv4_address": <bindata for 74.125.230.84>,
|
||||||
"rdata_raw": <bindata of 0x4a7d836a>
|
"rdata_raw": <bindata of 0x4a7de654>
|
||||||
},
|
|
||||||
"ttl": 300,
|
|
||||||
"type": GETDNS_RRTYPE_A
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"class": 1,
|
|
||||||
"name": <bindata for www.google.com.>,
|
|
||||||
"rdata":
|
|
||||||
{
|
|
||||||
"ipv4_address": <bindata of 0x4a7d8369>,
|
|
||||||
"rdata_raw": <bindata of 0x4a7d8369>
|
|
||||||
},
|
},
|
||||||
"ttl": 300,
|
"ttl": 300,
|
||||||
"type": GETDNS_RRTYPE_A
|
"type": GETDNS_RRTYPE_A
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"answer_type": 800,
|
"answer_type": GETDNS_NAMETYPE_DNS,
|
||||||
"authority": [],
|
"authority": [],
|
||||||
"canonical_name": <bindata of "www.google.com.">,
|
"canonical_name": <bindata of "www.google.com.">,
|
||||||
"header":
|
"header":
|
||||||
{
|
{
|
||||||
"aa": 0,
|
"aa": 0,
|
||||||
"ad": 0,
|
"ad": 0,
|
||||||
"ancount": 6,
|
"ancount": 5,
|
||||||
"arcount": 0,
|
"arcount": 0,
|
||||||
"cd": 0,
|
"cd": 0,
|
||||||
"id": 0,
|
"id": 45440,
|
||||||
"nscount": 0,
|
"nscount": 0,
|
||||||
"opcode": 0,
|
"opcode": GETDNS_OPCODE_QUERY,
|
||||||
"qdcount": 1,
|
"qdcount": 1,
|
||||||
"qr": 1,
|
"qr": 1,
|
||||||
"ra": 1,
|
"ra": 1,
|
||||||
"rcode": 0,
|
"rcode": GETDNS_RCODE_NOERROR,
|
||||||
"rd": 1,
|
"rd": 1,
|
||||||
"tc": 0,
|
"tc": 0,
|
||||||
"z": 0
|
"z": 0
|
||||||
},
|
},
|
||||||
"question":
|
"question":
|
||||||
{
|
{
|
||||||
"qclass": 1,
|
"qclass": GETDNS_RRCLASS_IN,
|
||||||
"qname": <bindata for www.google.com.>,
|
"qname": <bindata for www.google.com.>,
|
||||||
"qtype": 1
|
"qtype": GETDNS_RRTYPE_A
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -143,18 +128,18 @@ The packet {
|
||||||
"answer":
|
"answer":
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
"class": 1,
|
"class": GETDNS_RRCLASS_IN,
|
||||||
"name": <bindata for www.google.com.>,
|
"name": <bindata for www.google.com.>,
|
||||||
"rdata":
|
"rdata":
|
||||||
{
|
{
|
||||||
"ipv6_address": <bindata of 0x2607f8b0400c0c030000000000000068>,
|
"ipv6_address": <bindata for 2a00:1450:4009:800::1014>,
|
||||||
"rdata_raw": <bindata of 0x2607f8b0400c0c030000000000000068>
|
"rdata_raw": <bindata of 0x2a001450400908000000000000001014>
|
||||||
},
|
},
|
||||||
"ttl": 300,
|
"ttl": 300,
|
||||||
"type": GETDNS_RRTYPE_AAAA
|
"type": GETDNS_RRTYPE_AAAA
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"answer_type": 800,
|
"answer_type": GETDNS_NAMETYPE_DNS,
|
||||||
"authority": [],
|
"authority": [],
|
||||||
"canonical_name": <bindata of "www.google.com.">,
|
"canonical_name": <bindata of "www.google.com.">,
|
||||||
"header":
|
"header":
|
||||||
|
@ -164,86 +149,244 @@ The packet {
|
||||||
"ancount": 1,
|
"ancount": 1,
|
||||||
"arcount": 0,
|
"arcount": 0,
|
||||||
"cd": 0,
|
"cd": 0,
|
||||||
"id": 0,
|
"id": 60320,
|
||||||
"nscount": 0,
|
"nscount": 0,
|
||||||
"opcode": 0,
|
"opcode": GETDNS_OPCODE_QUERY,
|
||||||
"qdcount": 1,
|
"qdcount": 1,
|
||||||
"qr": 1,
|
"qr": 1,
|
||||||
"ra": 1,
|
"ra": 1,
|
||||||
"rcode": 0,
|
"rcode": GETDNS_RCODE_NOERROR,
|
||||||
"rd": 1,
|
"rd": 1,
|
||||||
"tc": 0,
|
"tc": 0,
|
||||||
"z": 0
|
"z": 0
|
||||||
},
|
},
|
||||||
"question":
|
"question":
|
||||||
{
|
{
|
||||||
"qclass": 1,
|
"qclass": GETDNS_RRCLASS_IN,
|
||||||
"qname": <bindata for www.google.com.>,
|
"qname": <bindata for www.google.com.>,
|
||||||
"qtype": 28
|
"qtype": GETDNS_RRTYPE_AAAA
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"status": 900
|
"status": GETDNS_RESPSTATUS_GOOD
|
||||||
}
|
}
|
||||||
The packet {
|
The packet {
|
||||||
"answer_type": 800,
|
"answer_type": GETDNS_NAMETYPE_DNS,
|
||||||
"canonical_name": <bindata of "www.google.com.">,
|
"canonical_name": <bindata of "_xmpp-client._tcp.jabber.com.">,
|
||||||
"just_address_answers": [],
|
"just_address_answers": [],
|
||||||
"replies_full":
|
"replies_full":
|
||||||
[
|
[
|
||||||
<bindata of 0x00008180000100000001000103777777...>
|
<bindata of 0xad6f818000010001000200020c5f786d...>
|
||||||
|
],
|
||||||
|
"replies_tree":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"additional":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"class": GETDNS_RRCLASS_IN,
|
||||||
|
"name": <bindata for denjab2.jabber.com.>,
|
||||||
|
"rdata":
|
||||||
|
{
|
||||||
|
"ipv4_address": <bindata for 216.24.133.14>,
|
||||||
|
"rdata_raw": <bindata of 0xd818850e>
|
||||||
|
},
|
||||||
|
"ttl": 85567,
|
||||||
|
"type": GETDNS_RRTYPE_A
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"answer":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"class": GETDNS_RRCLASS_IN,
|
||||||
|
"name": <bindata for _xmpp-client._tcp.jabber.com.>,
|
||||||
|
"rdata":
|
||||||
|
{
|
||||||
|
"port": 5222,
|
||||||
|
"priority": 10,
|
||||||
|
"rdata_raw": <bindata of 0x000a000014660764656e6a616232066a...>,
|
||||||
|
"target": <bindata for denjab2.jabber.com.>,
|
||||||
|
"weight": 0
|
||||||
|
},
|
||||||
|
"ttl": 6367,
|
||||||
|
"type": GETDNS_RRTYPE_SRV
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"answer_type": GETDNS_NAMETYPE_DNS,
|
||||||
|
"authority":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"class": GETDNS_RRCLASS_IN,
|
||||||
|
"name": <bindata for jabber.com.>,
|
||||||
|
"rdata":
|
||||||
|
{
|
||||||
|
"nsdname": <bindata for ns1.as13445.net.>,
|
||||||
|
"rdata_raw": <bindata for ns1.as13445.net.>
|
||||||
|
},
|
||||||
|
"ttl": 85567,
|
||||||
|
"type": GETDNS_RRTYPE_NS
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"class": GETDNS_RRCLASS_IN,
|
||||||
|
"name": <bindata for jabber.com.>,
|
||||||
|
"rdata":
|
||||||
|
{
|
||||||
|
"nsdname": <bindata for ns2.as13445.net.>,
|
||||||
|
"rdata_raw": <bindata for ns2.as13445.net.>
|
||||||
|
},
|
||||||
|
"ttl": 85567,
|
||||||
|
"type": GETDNS_RRTYPE_NS
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"canonical_name": <bindata of "_xmpp-client._tcp.jabber.com.">,
|
||||||
|
"header":
|
||||||
|
{
|
||||||
|
"aa": 0,
|
||||||
|
"ad": 0,
|
||||||
|
"ancount": 1,
|
||||||
|
"arcount": 1,
|
||||||
|
"cd": 0,
|
||||||
|
"id": 44399,
|
||||||
|
"nscount": 2,
|
||||||
|
"opcode": GETDNS_OPCODE_QUERY,
|
||||||
|
"qdcount": 1,
|
||||||
|
"qr": 1,
|
||||||
|
"ra": 1,
|
||||||
|
"rcode": GETDNS_RCODE_NOERROR,
|
||||||
|
"rd": 1,
|
||||||
|
"tc": 0,
|
||||||
|
"z": 0
|
||||||
|
},
|
||||||
|
"question":
|
||||||
|
{
|
||||||
|
"qclass": GETDNS_RRCLASS_IN,
|
||||||
|
"qname": <bindata for _xmpp-client._tcp.jabber.com.>,
|
||||||
|
"qtype": GETDNS_RRTYPE_SRV
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"status": GETDNS_RESPSTATUS_GOOD
|
||||||
|
}
|
||||||
|
The packet {
|
||||||
|
"answer_type": GETDNS_NAMETYPE_DNS,
|
||||||
|
"canonical_name": <bindata of "www.google.com.">,
|
||||||
|
"just_address_answers":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"address_data": <bindata for 74.125.230.81>,
|
||||||
|
"address_type": <bindata of "IPv4">
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"address_data": <bindata for 74.125.230.80>,
|
||||||
|
"address_type": <bindata of "IPv4">
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"address_data": <bindata for 74.125.230.82>,
|
||||||
|
"address_type": <bindata of "IPv4">
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"address_data": <bindata for 74.125.230.83>,
|
||||||
|
"address_type": <bindata of "IPv4">
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"address_data": <bindata for 74.125.230.84>,
|
||||||
|
"address_type": <bindata of "IPv4">
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"replies_full":
|
||||||
|
[
|
||||||
|
<bindata of 0x6f2c8180000100050000000103777777...>
|
||||||
],
|
],
|
||||||
"replies_tree":
|
"replies_tree":
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
"additional": [],
|
"additional": [],
|
||||||
"answer": [],
|
"answer":
|
||||||
"answer_type": 800,
|
|
||||||
"authority":
|
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
"class": 1,
|
"class": GETDNS_RRCLASS_IN,
|
||||||
"name": <bindata for google.com.>,
|
"name": <bindata for www.google.com.>,
|
||||||
"rdata":
|
"rdata":
|
||||||
{
|
{
|
||||||
"expire": 300,
|
"ipv4_address": <bindata for 74.125.230.81>,
|
||||||
"mname": <bindata for ns1.google.com.>,
|
"rdata_raw": <bindata of 0x4a7de651>
|
||||||
"rdata_raw": <bindata of 0x036e733106676f6f676c6503636f6d00...>,
|
|
||||||
"refresh": 1800,
|
|
||||||
"retry": 1209600,
|
|
||||||
"rname": <bindata for dns-admin.google.com.>,
|
|
||||||
"serial": 1546121
|
|
||||||
},
|
},
|
||||||
"ttl": 60,
|
"ttl": 300,
|
||||||
"type": GETDNS_RRTYPE_SOA
|
"type": GETDNS_RRTYPE_A
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"class": GETDNS_RRCLASS_IN,
|
||||||
|
"name": <bindata for www.google.com.>,
|
||||||
|
"rdata":
|
||||||
|
{
|
||||||
|
"ipv4_address": <bindata for 74.125.230.80>,
|
||||||
|
"rdata_raw": <bindata of 0x4a7de650>
|
||||||
|
},
|
||||||
|
"ttl": 300,
|
||||||
|
"type": GETDNS_RRTYPE_A
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"class": GETDNS_RRCLASS_IN,
|
||||||
|
"name": <bindata for www.google.com.>,
|
||||||
|
"rdata":
|
||||||
|
{
|
||||||
|
"ipv4_address": <bindata for 74.125.230.82>,
|
||||||
|
"rdata_raw": <bindata of 0x4a7de652>
|
||||||
|
},
|
||||||
|
"ttl": 300,
|
||||||
|
"type": GETDNS_RRTYPE_A
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"class": GETDNS_RRCLASS_IN,
|
||||||
|
"name": <bindata for www.google.com.>,
|
||||||
|
"rdata":
|
||||||
|
{
|
||||||
|
"ipv4_address": <bindata for 74.125.230.83>,
|
||||||
|
"rdata_raw": <bindata of 0x4a7de653>
|
||||||
|
},
|
||||||
|
"ttl": 300,
|
||||||
|
"type": GETDNS_RRTYPE_A
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"class": GETDNS_RRCLASS_IN,
|
||||||
|
"name": <bindata for www.google.com.>,
|
||||||
|
"rdata":
|
||||||
|
{
|
||||||
|
"ipv4_address": <bindata for 74.125.230.84>,
|
||||||
|
"rdata_raw": <bindata of 0x4a7de654>
|
||||||
|
},
|
||||||
|
"ttl": 300,
|
||||||
|
"type": GETDNS_RRTYPE_A
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"answer_type": GETDNS_NAMETYPE_DNS,
|
||||||
|
"authority": [],
|
||||||
"canonical_name": <bindata of "www.google.com.">,
|
"canonical_name": <bindata of "www.google.com.">,
|
||||||
"header":
|
"header":
|
||||||
{
|
{
|
||||||
"aa": 0,
|
"aa": 0,
|
||||||
"ad": 0,
|
"ad": 0,
|
||||||
"ancount": 0,
|
"ancount": 5,
|
||||||
"arcount": 0,
|
"arcount": 0,
|
||||||
"cd": 0,
|
"cd": 0,
|
||||||
"id": 0,
|
"id": 28460,
|
||||||
"nscount": 1,
|
"nscount": 0,
|
||||||
"opcode": 0,
|
"opcode": GETDNS_OPCODE_QUERY,
|
||||||
"qdcount": 1,
|
"qdcount": 1,
|
||||||
"qr": 1,
|
"qr": 1,
|
||||||
"ra": 1,
|
"ra": 1,
|
||||||
"rcode": 0,
|
"rcode": GETDNS_RCODE_NOERROR,
|
||||||
"rd": 1,
|
"rd": 1,
|
||||||
"tc": 0,
|
"tc": 0,
|
||||||
"z": 0
|
"z": 0
|
||||||
},
|
},
|
||||||
"question":
|
"question":
|
||||||
{
|
{
|
||||||
"qclass": 1,
|
"qclass": GETDNS_RRCLASS_IN,
|
||||||
"qname": <bindata for www.google.com.>,
|
"qname": <bindata for www.google.com.>,
|
||||||
"qtype": 33
|
"qtype": GETDNS_RRTYPE_A
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"status": 900
|
"status": GETDNS_RESPSTATUS_GOOD
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue