dns: fix indentation.
Change-Id: I25894fd4e28002f75e43b7a6fd7bec58889e0590 Reviewed-on: https://code.wireshark.org/review/26538 Petri-Dish: Dario Lombardo <lomato@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
This commit is contained in:
parent
a055e3c299
commit
5077890e0a
|
@ -4103,108 +4103,116 @@ dissect_dns(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data)
|
|||
|
||||
static void dns_stats_tree_init(stats_tree* st)
|
||||
{
|
||||
st_node_packets = stats_tree_create_node(st, st_str_packets, 0, TRUE);
|
||||
st_node_packet_qr = stats_tree_create_pivot(st, st_str_packet_qr, st_node_packets);
|
||||
st_node_packet_qtypes = stats_tree_create_pivot(st, st_str_packet_qtypes, st_node_packets);
|
||||
st_node_packet_qclasses = stats_tree_create_pivot(st, st_str_packet_qclasses, st_node_packets);
|
||||
st_node_packet_rcodes = stats_tree_create_pivot(st, st_str_packet_rcodes, st_node_packets);
|
||||
st_node_packet_opcodes = stats_tree_create_pivot(st, st_str_packet_opcodes, st_node_packets);
|
||||
st_node_packets_avg_size = stats_tree_create_node(st, st_str_packets_avg_size, 0, FALSE);
|
||||
st_node_query_stats = stats_tree_create_node(st, st_str_query_stats, 0, TRUE);
|
||||
st_node_query_qname_len = stats_tree_create_node(st, st_str_query_qname_len, st_node_query_stats, FALSE);
|
||||
st_node_query_domains = stats_tree_create_node(st, st_str_query_domains, st_node_query_stats, TRUE);
|
||||
st_node_query_domains_l1 = stats_tree_create_node(st, st_str_query_domains_l1, st_node_query_domains, FALSE);
|
||||
st_node_query_domains_l2 = stats_tree_create_node(st, st_str_query_domains_l2, st_node_query_domains, FALSE);
|
||||
st_node_query_domains_l3 = stats_tree_create_node(st, st_str_query_domains_l3, st_node_query_domains, FALSE);
|
||||
st_node_query_domains_lmore = stats_tree_create_node(st, st_str_query_domains_lmore, st_node_query_domains, FALSE);
|
||||
st_node_response_stats = stats_tree_create_node(st, st_str_response_stats, 0, TRUE);
|
||||
st_node_response_nquestions = stats_tree_create_node(st, st_str_response_nquestions,
|
||||
st_node_response_stats, FALSE);
|
||||
st_node_response_nanswers = stats_tree_create_node(st, st_str_response_nanswers,
|
||||
st_node_response_stats, FALSE);
|
||||
st_node_response_nauthorities = stats_tree_create_node(st, st_str_response_nauthorities,
|
||||
st_node_response_stats, FALSE);
|
||||
st_node_response_nadditionals = stats_tree_create_node(st, st_str_response_nadditionals,
|
||||
st_node_response_stats, FALSE);
|
||||
st_node_service_stats = stats_tree_create_node(st, st_str_service_stats, 0, TRUE);
|
||||
st_node_service_unsolicited = stats_tree_create_node(st, st_str_service_unsolicited, st_node_service_stats, FALSE);
|
||||
st_node_service_retransmission = stats_tree_create_node(st, st_str_service_retransmission, st_node_service_stats, FALSE);
|
||||
st_node_service_rrt = stats_tree_create_node(st, st_str_service_rrt, st_node_service_stats, FALSE);
|
||||
st_node_packets = stats_tree_create_node(st, st_str_packets, 0, TRUE);
|
||||
st_node_packet_qr = stats_tree_create_pivot(st, st_str_packet_qr, st_node_packets);
|
||||
st_node_packet_qtypes = stats_tree_create_pivot(st, st_str_packet_qtypes, st_node_packets);
|
||||
st_node_packet_qclasses = stats_tree_create_pivot(st, st_str_packet_qclasses, st_node_packets);
|
||||
st_node_packet_rcodes = stats_tree_create_pivot(st, st_str_packet_rcodes, st_node_packets);
|
||||
st_node_packet_opcodes = stats_tree_create_pivot(st, st_str_packet_opcodes, st_node_packets);
|
||||
st_node_packets_avg_size = stats_tree_create_node(st, st_str_packets_avg_size, 0, FALSE);
|
||||
st_node_query_stats = stats_tree_create_node(st, st_str_query_stats, 0, TRUE);
|
||||
st_node_query_qname_len = stats_tree_create_node(st, st_str_query_qname_len, st_node_query_stats, FALSE);
|
||||
st_node_query_domains = stats_tree_create_node(st, st_str_query_domains, st_node_query_stats, TRUE);
|
||||
st_node_query_domains_l1 = stats_tree_create_node(st, st_str_query_domains_l1, st_node_query_domains, FALSE);
|
||||
st_node_query_domains_l2 = stats_tree_create_node(st, st_str_query_domains_l2, st_node_query_domains, FALSE);
|
||||
st_node_query_domains_l3 = stats_tree_create_node(st, st_str_query_domains_l3, st_node_query_domains, FALSE);
|
||||
st_node_query_domains_lmore = stats_tree_create_node(st, st_str_query_domains_lmore, st_node_query_domains, FALSE);
|
||||
st_node_response_stats = stats_tree_create_node(st, st_str_response_stats, 0, TRUE);
|
||||
st_node_response_nquestions = stats_tree_create_node(st, st_str_response_nquestions,
|
||||
st_node_response_stats, FALSE);
|
||||
st_node_response_nanswers = stats_tree_create_node(st, st_str_response_nanswers,
|
||||
st_node_response_stats, FALSE);
|
||||
st_node_response_nauthorities = stats_tree_create_node(st, st_str_response_nauthorities,
|
||||
st_node_response_stats, FALSE);
|
||||
st_node_response_nadditionals = stats_tree_create_node(st, st_str_response_nadditionals,
|
||||
st_node_response_stats, FALSE);
|
||||
st_node_service_stats = stats_tree_create_node(st, st_str_service_stats, 0, TRUE);
|
||||
st_node_service_unsolicited = stats_tree_create_node(st, st_str_service_unsolicited, st_node_service_stats, FALSE);
|
||||
st_node_service_retransmission = stats_tree_create_node(st, st_str_service_retransmission, st_node_service_stats, FALSE);
|
||||
st_node_service_rrt = stats_tree_create_node(st, st_str_service_rrt, st_node_service_stats, FALSE);
|
||||
}
|
||||
|
||||
static int dns_stats_tree_packet(stats_tree* st, packet_info* pinfo _U_, epan_dissect_t* edt _U_, const void* p)
|
||||
{
|
||||
const struct DnsTap *pi = (const struct DnsTap *)p;
|
||||
tick_stat_node(st, st_str_packets, 0, FALSE);
|
||||
stats_tree_tick_pivot(st, st_node_packet_qr,
|
||||
val_to_str(pi->packet_qr, dns_qr_vals, "Unknown qr (%d)"));
|
||||
stats_tree_tick_pivot(st, st_node_packet_qtypes,
|
||||
val_to_str(pi->packet_qtype, dns_types_description_vals, "Unknown packet type (%d)"));
|
||||
stats_tree_tick_pivot(st, st_node_packet_qclasses,
|
||||
val_to_str(pi->packet_qclass, dns_classes, "Unknown class (%d)"));
|
||||
stats_tree_tick_pivot(st, st_node_packet_rcodes,
|
||||
val_to_str(pi->packet_rcode, rcode_vals, "Unknown rcode (%d)"));
|
||||
stats_tree_tick_pivot(st, st_node_packet_opcodes,
|
||||
val_to_str(pi->packet_opcode, opcode_vals, "Unknown opcode (%d)"));
|
||||
avg_stat_node_add_value(st, st_str_packets_avg_size, 0, FALSE,
|
||||
pi->payload_size);
|
||||
const struct DnsTap *pi = (const struct DnsTap *)p;
|
||||
tick_stat_node(st, st_str_packets, 0, FALSE);
|
||||
stats_tree_tick_pivot(st, st_node_packet_qr,
|
||||
val_to_str(pi->packet_qr, dns_qr_vals, "Unknown qr (%d)"));
|
||||
stats_tree_tick_pivot(st, st_node_packet_qtypes,
|
||||
val_to_str(pi->packet_qtype, dns_types_description_vals, "Unknown packet type (%d)"));
|
||||
stats_tree_tick_pivot(st, st_node_packet_qclasses,
|
||||
val_to_str(pi->packet_qclass, dns_classes, "Unknown class (%d)"));
|
||||
stats_tree_tick_pivot(st, st_node_packet_rcodes,
|
||||
val_to_str(pi->packet_rcode, rcode_vals, "Unknown rcode (%d)"));
|
||||
stats_tree_tick_pivot(st, st_node_packet_opcodes,
|
||||
val_to_str(pi->packet_opcode, opcode_vals, "Unknown opcode (%d)"));
|
||||
avg_stat_node_add_value(st, st_str_packets_avg_size, 0, FALSE,
|
||||
pi->payload_size);
|
||||
|
||||
/* split up stats for queries and responses */
|
||||
if (pi->packet_qr == 0) {
|
||||
avg_stat_node_add_value(st, st_str_query_qname_len, 0, FALSE, pi->qname_len);
|
||||
switch(pi->qname_labels) {
|
||||
case 1:
|
||||
tick_stat_node(st, st_str_query_domains_l1, 0, FALSE);
|
||||
break;
|
||||
case 2:
|
||||
tick_stat_node(st, st_str_query_domains_l2, 0, FALSE);
|
||||
break;
|
||||
case 3:
|
||||
tick_stat_node(st, st_str_query_domains_l3, 0, FALSE);
|
||||
break;
|
||||
default:
|
||||
tick_stat_node(st, st_str_query_domains_lmore, 0, FALSE);
|
||||
break;
|
||||
}
|
||||
/* split up stats for queries and responses */
|
||||
if (pi->packet_qr == 0) {
|
||||
avg_stat_node_add_value(st, st_str_query_qname_len, 0, FALSE, pi->qname_len);
|
||||
switch(pi->qname_labels) {
|
||||
case 1:
|
||||
tick_stat_node(st, st_str_query_domains_l1, 0, FALSE);
|
||||
break;
|
||||
case 2:
|
||||
tick_stat_node(st, st_str_query_domains_l2, 0, FALSE);
|
||||
break;
|
||||
case 3:
|
||||
tick_stat_node(st, st_str_query_domains_l3, 0, FALSE);
|
||||
break;
|
||||
default:
|
||||
tick_stat_node(st, st_str_query_domains_lmore, 0, FALSE);
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
avg_stat_node_add_value(st, st_str_response_nquestions, 0, FALSE, pi->nquestions);
|
||||
avg_stat_node_add_value(st, st_str_response_nanswers, 0, FALSE, pi->nanswers);
|
||||
avg_stat_node_add_value(st, st_str_response_nauthorities, 0, FALSE, pi->nauthorities);
|
||||
avg_stat_node_add_value(st, st_str_response_nadditionals, 0, FALSE, pi->nadditionals);
|
||||
if (pi->unsolicited) {
|
||||
tick_stat_node(st, st_str_service_unsolicited, 0, FALSE);
|
||||
} else {
|
||||
avg_stat_node_add_value(st, st_str_response_nquestions, 0, FALSE, pi->nquestions);
|
||||
avg_stat_node_add_value(st, st_str_response_nanswers, 0, FALSE, pi->nanswers);
|
||||
avg_stat_node_add_value(st, st_str_response_nauthorities, 0, FALSE, pi->nauthorities);
|
||||
avg_stat_node_add_value(st, st_str_response_nadditionals, 0, FALSE, pi->nadditionals);
|
||||
if (pi->unsolicited) {
|
||||
tick_stat_node(st, st_str_service_unsolicited, 0, FALSE);
|
||||
tick_stat_node(st, st_str_service_unsolicited, 0, FALSE);
|
||||
} else {
|
||||
if (pi->retransmission)
|
||||
tick_stat_node(st, st_str_service_retransmission, 0, FALSE);
|
||||
else
|
||||
avg_stat_node_add_value(st, st_str_service_rrt, 0, FALSE, (guint32)(pi->rrt.secs * 1000000 + pi->rrt.nsecs));
|
||||
if (pi->retransmission)
|
||||
tick_stat_node(st, st_str_service_retransmission, 0, FALSE);
|
||||
else
|
||||
avg_stat_node_add_value(st, st_str_service_rrt, 0, FALSE, (guint32)(pi->rrt.secs * 1000000 + pi->rrt.nsecs));
|
||||
}
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
void
|
||||
proto_reg_handoff_dns(void)
|
||||
{
|
||||
dissector_handle_t mdns_udp_handle;
|
||||
dissector_handle_t llmnr_udp_handle;
|
||||
dissector_handle_t mdns_udp_handle;
|
||||
dissector_handle_t llmnr_udp_handle;
|
||||
|
||||
mdns_udp_handle = create_dissector_handle(dissect_mdns_udp, proto_mdns);
|
||||
llmnr_udp_handle = create_dissector_handle(dissect_llmnr_udp, proto_llmnr);
|
||||
dissector_add_uint_with_preference("udp.port", UDP_PORT_MDNS, mdns_udp_handle);
|
||||
dissector_add_uint_with_preference("udp.port", UDP_PORT_LLMNR, llmnr_udp_handle);
|
||||
dissector_add_uint("sctp.port", SCTP_PORT_DNS, dns_handle);
|
||||
mdns_udp_handle = create_dissector_handle(dissect_mdns_udp, proto_mdns);
|
||||
llmnr_udp_handle = create_dissector_handle(dissect_llmnr_udp, proto_llmnr);
|
||||
dissector_add_uint_with_preference("udp.port", UDP_PORT_MDNS, mdns_udp_handle);
|
||||
dissector_add_uint_with_preference("udp.port", UDP_PORT_LLMNR, llmnr_udp_handle);
|
||||
dissector_add_uint("sctp.port", SCTP_PORT_DNS, dns_handle);
|
||||
#if 0
|
||||
dissector_add_uint("sctp.ppi", DNS_PAYLOAD_PROTOCOL_ID, dns_handle);
|
||||
dissector_add_uint("sctp.ppi", DNS_PAYLOAD_PROTOCOL_ID, dns_handle);
|
||||
#endif
|
||||
stats_tree_register("dns", "dns", "DNS", 0, dns_stats_tree_packet, dns_stats_tree_init, NULL);
|
||||
gssapi_handle = find_dissector_add_dependency("gssapi", proto_dns);
|
||||
ntlmssp_handle = find_dissector_add_dependency("ntlmssp", proto_dns);
|
||||
ssl_dissector_add(TCP_PORT_DNS_TLS, dns_handle);
|
||||
dtls_dissector_add(UDP_PORT_DNS_DTLS, dns_handle);
|
||||
dissector_add_uint_range_with_preference("tcp.port", DEFAULT_DNS_TCP_PORT_RANGE, dns_handle);
|
||||
dissector_add_uint_range_with_preference("udp.port", DEFAULT_DNS_PORT_RANGE, dns_handle);
|
||||
dissector_add_string("media_type", "application/dns-udpwireformat", dns_handle); /* draft-ietf-doh-dns-over-https-03 */
|
||||
stats_tree_register("dns", "dns", "DNS", 0, dns_stats_tree_packet, dns_stats_tree_init, NULL);
|
||||
gssapi_handle = find_dissector_add_dependency("gssapi", proto_dns);
|
||||
ntlmssp_handle = find_dissector_add_dependency("ntlmssp", proto_dns);
|
||||
ssl_dissector_add(TCP_PORT_DNS_TLS, dns_handle);
|
||||
dtls_dissector_add(UDP_PORT_DNS_DTLS, dns_handle);
|
||||
dissector_add_uint_range_with_preference("tcp.port", DEFAULT_DNS_TCP_PORT_RANGE, dns_handle);
|
||||
dissector_add_uint_range_with_preference("udp.port", DEFAULT_DNS_PORT_RANGE, dns_handle);
|
||||
dissector_add_string("media_type", "application/dns-udpwireformat", dns_handle); /* draft-ietf-doh-dns-over-https-03 */
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -5694,14 +5702,14 @@ proto_register_dns(void)
|
|||
};
|
||||
|
||||
static ei_register_info ei[] = {
|
||||
{ &ei_dns_opt_bad_length, { "dns.rr.opt.bad_length", PI_MALFORMED, PI_ERROR, "Length too long for any type of IP address.", EXPFILL }},
|
||||
{ &ei_dns_undecoded_option, { "dns.undecoded.type", PI_UNDECODED, PI_NOTE, "Undecoded option", EXPFILL }},
|
||||
{ &ei_dns_depr_opc, { "dns.depr.opc", PI_PROTOCOL, PI_WARN, "Deprecated opcode", EXPFILL }},
|
||||
{ &ei_ttl_negative, { "dns.ttl.negative", PI_PROTOCOL, PI_WARN, "TTL can't be negative", EXPFILL }},
|
||||
{ &ei_dns_tsig_alg, { "dns.tsig.noalg", PI_UNDECODED, PI_WARN, "No dissector for algorithm", EXPFILL }},
|
||||
{ &ei_dns_key_id_buffer_too_short, { "dns.key_id_buffer_too_short", PI_PROTOCOL, PI_WARN, "Buffer too short to compute a key id", EXPFILL }},
|
||||
{ &ei_dns_retransmit_request, { "dns.retransmit_request", PI_PROTOCOL, PI_WARN, "DNS query retransmission", EXPFILL }},
|
||||
{ &ei_dns_retransmit_response, { "dns.retransmit_response", PI_PROTOCOL, PI_WARN, "DNS response retransmission", EXPFILL }},
|
||||
{ &ei_dns_opt_bad_length, { "dns.rr.opt.bad_length", PI_MALFORMED, PI_ERROR, "Length too long for any type of IP address.", EXPFILL }},
|
||||
{ &ei_dns_undecoded_option, { "dns.undecoded.type", PI_UNDECODED, PI_NOTE, "Undecoded option", EXPFILL }},
|
||||
{ &ei_dns_depr_opc, { "dns.depr.opc", PI_PROTOCOL, PI_WARN, "Deprecated opcode", EXPFILL }},
|
||||
{ &ei_ttl_negative, { "dns.ttl.negative", PI_PROTOCOL, PI_WARN, "TTL can't be negative", EXPFILL }},
|
||||
{ &ei_dns_tsig_alg, { "dns.tsig.noalg", PI_UNDECODED, PI_WARN, "No dissector for algorithm", EXPFILL }},
|
||||
{ &ei_dns_key_id_buffer_too_short, { "dns.key_id_buffer_too_short", PI_PROTOCOL, PI_WARN, "Buffer too short to compute a key id", EXPFILL }},
|
||||
{ &ei_dns_retransmit_request, { "dns.retransmit_request", PI_PROTOCOL, PI_WARN, "DNS query retransmission", EXPFILL }},
|
||||
{ &ei_dns_retransmit_response, { "dns.retransmit_response", PI_PROTOCOL, PI_WARN, "DNS response retransmission", EXPFILL }},
|
||||
};
|
||||
|
||||
static gint *ett[] = {
|
||||
|
|
Loading…
Reference in New Issue