diff options
author | Alexis La Goutte <alexis.lagoutte@gmail.com> | 2015-11-23 11:59:10 +0100 |
---|---|---|
committer | Michael Mann <mmann78@netscape.net> | 2015-11-24 00:34:38 +0000 |
commit | ed0cc4319cdfa48d65ef504b5be0a6eb0b41d1a7 (patch) | |
tree | eaf1c6c365f64aa8d4c4c6079e228febecc230a9 /epan/dissectors/packet-dns.c | |
parent | bf34d531f90c5027b6639bf760fef1aa566f8e6d (diff) | |
download | wireshark-ed0cc4319cdfa48d65ef504b5be0a6eb0b41d1a7.tar.gz |
DNS: Chain Query requests
https://tools.ietf.org/html/draft-ietf-dnsop-edns-chain-query
Bug:11759
Change-Id: I631bf381dbfed956285855083a00a91f54a3c39c
Reviewed-on: https://code.wireshark.org/review/12064
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
Diffstat (limited to 'epan/dissectors/packet-dns.c')
-rw-r--r-- | epan/dissectors/packet-dns.c | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/epan/dissectors/packet-dns.c b/epan/dissectors/packet-dns.c index 677604f3c6..985c917e61 100644 --- a/epan/dissectors/packet-dns.c +++ b/epan/dissectors/packet-dns.c @@ -307,6 +307,7 @@ static int hf_dns_opt_cookie_client = -1; static int hf_dns_opt_cookie_server = -1; static int hf_dns_opt_edns_tcp_keepalive_timeout = -1; static int hf_dns_opt_padding = -1; +static int hf_dns_opt_chain_fqdn = -1; static int hf_dns_nsec3_algo = -1; static int hf_dns_nsec3_flags = -1; static int hf_dns_nsec3_flag_optout = -1; @@ -597,6 +598,7 @@ typedef struct _dns_conv_info_t { #define O_COOKIE 10 /* draft-ietf-dnsop-cookie */ #define O_EDNS_TCP_KA 11 /* draft-ietf-dnsop-edns-tcp-keepalive */ #define O_PADDING 12 /* draft-ietf-dprive-edns0-padding */ +#define O_CHAIN 13 /* draft-ietf-dnsop-edns-chain-query */ static const true_false_string tfs_flags_response = { "Message is a response", @@ -1031,7 +1033,8 @@ static const value_string edns0_opt_code_vals[] = { {O_COOKIE, "COOKIE"}, {O_EDNS_TCP_KA, "EDNS TCP Keepalive"}, {O_PADDING, "PADDING"}, - {0, NULL} + {O_CHAIN, "CHAIN"}, + {0, NULL} }; /* DNS-Based Authentication of Named Entities (DANE) Parameters http://www.iana.org/assignments/dane-parameters (last updated 2014-04-23) @@ -2789,6 +2792,13 @@ dissect_dns_answer(tvbuff_t *tvb, int offsetx, int dns_data_offset, cur_offset += optlen; rropt_len -= optlen; break; + case O_CHAIN: + if(optlen){ + proto_tree_add_item(rropt_tree, hf_dns_opt_chain_fqdn, tvb, cur_offset, optlen, ENC_ASCII|ENC_NA); + } + cur_offset += optlen; + rropt_len -= optlen; + break; default: cur_offset += optlen; rropt_len -= optlen; @@ -5080,6 +5090,11 @@ proto_register_dns(void) FT_BYTES, BASE_NONE, NULL, 0x0, "The PADDING octets MUST be set to 0x00", HFILL }}, + { &hf_dns_opt_chain_fqdn, + { "Closest Trust Point", "dns.opt.chain.fqdn", + FT_STRING, BASE_NONE, NULL, 0x0, + "A variable length Fully Qualified Domain Name (FQDN) in DNS wire format of the requested start point of the chain", HFILL }}, + { &hf_dns_count_questions, { "Questions", "dns.count.queries", FT_UINT16, BASE_DEC, NULL, 0x0, |