diff options
author | Alexis La Goutte <alexis.lagoutte@gmail.com> | 2013-09-03 06:36:33 +0000 |
---|---|---|
committer | Alexis La Goutte <alexis.lagoutte@gmail.com> | 2013-09-03 06:36:33 +0000 |
commit | 6f4225a6f4edc3b08f75bc0c2d470ba8358d1a45 (patch) | |
tree | 2087692b4e8089393c1bc356a100a26bca135c4a /epan/dissectors/packet-dns.c | |
parent | 29d07267df2e5362833f966a58b1a0174f67f212 (diff) |
Enhance NSEC3,NSEC3PARAM TLSA type visibility
svn path=/trunk/; revision=51716
Diffstat (limited to 'epan/dissectors/packet-dns.c')
-rw-r--r-- | epan/dissectors/packet-dns.c | 33 |
1 files changed, 25 insertions, 8 deletions
diff --git a/epan/dissectors/packet-dns.c b/epan/dissectors/packet-dns.c index 31dfebac84..42f3c10173 100644 --- a/epan/dissectors/packet-dns.c +++ b/epan/dissectors/packet-dns.c @@ -3101,21 +3101,31 @@ dissect_dns_answer(tvbuff_t *tvb, int offsetx, int dns_data_offset, proto_tree *flags_tree; - proto_tree_add_item(rr_tree, hf_dns_nsec3_algo, tvb, cur_offset++, 1, ENC_BIG_ENDIAN); + proto_tree_add_item(rr_tree, hf_dns_nsec3_algo, tvb, cur_offset, 1, ENC_BIG_ENDIAN); + cur_offset += 1; + flags_item = proto_tree_add_item(rr_tree, hf_dns_nsec3_flags, tvb, cur_offset, 1, ENC_BIG_ENDIAN); flags_tree = proto_item_add_subtree(flags_item, ett_nsec3_flags); proto_tree_add_item(flags_tree, hf_dns_nsec3_flag_optout, tvb, cur_offset, 1, ENC_BIG_ENDIAN); - cur_offset++; + cur_offset += 1; + proto_tree_add_item(rr_tree, hf_dns_nsec3_iterations, tvb, cur_offset, 2, ENC_BIG_ENDIAN); cur_offset += 2; + + proto_tree_add_item(rr_tree, hf_dns_nsec3_salt_length, tvb, cur_offset, 1, ENC_BIG_ENDIAN); salt_len = tvb_get_guint8(tvb, cur_offset); - proto_tree_add_item(rr_tree, hf_dns_nsec3_salt_length, tvb, cur_offset++, 1, ENC_BIG_ENDIAN); + cur_offset += 1; + proto_tree_add_item(rr_tree, hf_dns_nsec3_salt_value, tvb, cur_offset, salt_len, ENC_NA); cur_offset += salt_len; + + proto_tree_add_item(rr_tree, hf_dns_nsec3_hash_length, tvb, cur_offset, 1, ENC_BIG_ENDIAN); hash_len = tvb_get_guint8(tvb, cur_offset); - proto_tree_add_item(rr_tree, hf_dns_nsec3_hash_length, tvb, cur_offset++, 1, ENC_BIG_ENDIAN); + cur_offset += 1; + proto_tree_add_item(rr_tree, hf_dns_nsec3_hash_value, tvb, cur_offset, hash_len, ENC_NA); cur_offset += hash_len; + rr_len = data_len - (cur_offset - initial_offset); dissect_type_bitmap(rr_tree, tvb, cur_offset, rr_len); @@ -3131,14 +3141,18 @@ dissect_dns_answer(tvbuff_t *tvb, int offsetx, int dns_data_offset, } proto_tree_add_item(rr_tree, hf_dns_nsec3_algo, tvb, cur_offset, 1, ENC_BIG_ENDIAN); - cur_offset ++; + cur_offset +=1; + proto_tree_add_item(rr_tree, hf_dns_nsec3_flags, tvb, cur_offset, 1, ENC_BIG_ENDIAN); - cur_offset ++; + cur_offset +=1; + proto_tree_add_item(rr_tree, hf_dns_nsec3_iterations, tvb, cur_offset, 2, ENC_BIG_ENDIAN); cur_offset += 2; - salt_len = tvb_get_guint8(tvb, cur_offset); + proto_tree_add_item(rr_tree, hf_dns_nsec3_salt_length, tvb, cur_offset, 1, ENC_BIG_ENDIAN); - cur_offset ++; + salt_len = tvb_get_guint8(tvb, cur_offset); + cur_offset +=1; + proto_tree_add_item(rr_tree, hf_dns_nsec3_salt_value, tvb, cur_offset, salt_len, ENC_NA); } @@ -3155,12 +3169,15 @@ dissect_dns_answer(tvbuff_t *tvb, int offsetx, int dns_data_offset, proto_tree_add_item(rr_tree, hf_dns_tlsa_certificate_usage, tvb, cur_offset, 1, ENC_BIG_ENDIAN); cur_offset ++; rr_len --; + proto_tree_add_item(rr_tree, hf_dns_tlsa_selector, tvb, cur_offset, 1, ENC_BIG_ENDIAN); cur_offset ++; rr_len --; + proto_tree_add_item(rr_tree, hf_dns_tlsa_matching_type, tvb, cur_offset, 1, ENC_BIG_ENDIAN); cur_offset ++; rr_len --; + proto_tree_add_item(rr_tree, hf_dns_tlsa_certificate_association_data, tvb, cur_offset, rr_len, ENC_NA); } |