aboutsummaryrefslogtreecommitdiffstats
path: root/epan
diff options
context:
space:
mode:
authorBill Meier <wmeier@newsguy.com>2014-02-06 17:58:43 -0500
committerBill Meier <wmeier@newsguy.com>2014-02-06 23:27:34 +0000
commitff858332356a365f028407b895bf2e86c737daa6 (patch)
tree8f84542d9894cc50409d9f10366fc54a445d0a19 /epan
parent02b5bf9718d60a2c015956416d670dbfdfdacb5f (diff)
Fix Bug #9690: DHCPv6 Packet dissector incorrectly handling FQDN in option 17.2171.6
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9690 Change-Id: I606bb73f4a226cbf1eb56cc0a27b926b97a453a0 Reviewed-on: https://code.wireshark.org/review/131 Reviewed-by: Bill Meier <wmeier@newsguy.com>
Diffstat (limited to 'epan')
-rw-r--r--epan/dissectors/packet-dhcpv6.c16
1 files changed, 6 insertions, 10 deletions
diff --git a/epan/dissectors/packet-dhcpv6.c b/epan/dissectors/packet-dhcpv6.c
index e44b7c2cf4..4f94e004a8 100644
--- a/epan/dissectors/packet-dhcpv6.c
+++ b/epan/dissectors/packet-dhcpv6.c
@@ -1078,21 +1078,17 @@ dissect_packetcable_cccV6_option(proto_tree *v_tree, proto_item *v_item, packet_
/* Validate KRB Realm name encoding (sort of) and syntax per RFCs 3495, 1510, and 1035 */
for (cnt=0; cnt < len_cnt-2; cnt++) {
kr_value = (int) wmem_strbuf_get_str(strbuf)[cnt];
- if ((kr_value >= 65 && kr_value <= 90)
- || kr_value == 34
- || kr_value == 44
- || kr_value == 46
- || kr_value == 47
- || kr_value == 58
- || kr_value == 61
- || kr_value == 92) {
+ if ((kr_value >= 'A' && kr_value <= 'Z')
+ || (kr_value >= '0' && kr_value <= '9')
+ || kr_value == '.'
+ || kr_value == '-') {
} else if (!kr_fail_flag) {
kr_pos = cnt;
kr_fail_flag = 1;
}
}
if (kr_fail_flag)
- expert_add_info_format(pinfo, pi_tmp, &ei_dhcpv6_invalid_byte, "Invalid at byte=%d", kr_pos);
+ expert_add_info_format(pinfo, pi_tmp, &ei_dhcpv6_invalid_byte, "Invalid at byte offset=%d", kr_pos);
}
suboptoff += subopt_len;
break;
@@ -2529,7 +2525,7 @@ proto_register_dhcpv6(void)
{ &ei_dhcpv6_bogus_length, { "dhcpv6.bogus_length", PI_MALFORMED, PI_ERROR, "Bogus length", EXPFILL }},
{ &ei_dhcpv6_malformed_option, { "dhcpv6.malformed_option", PI_MALFORMED, PI_ERROR, "Malformed option", EXPFILL }},
{ &ei_dhcpv6_no_suboption_len, { "dhcpv6.no_suboption_len", PI_PROTOCOL, PI_WARN, "no room left in option for suboption length", EXPFILL }},
- { &ei_dhcpv6_invalid_byte, { "dhcpv6.invalid_byte", PI_PROTOCOL, PI_WARN, "Invalid at byte", EXPFILL }},
+ { &ei_dhcpv6_invalid_byte, { "dhcpv6.invalid_byte", PI_PROTOCOL, PI_WARN, "Invalid at byte offset", EXPFILL }},
{ &ei_dhcpv6_invalid_time_value, { "dhcpv6.invalid_time_value", PI_PROTOCOL, PI_WARN, "Invalid time value", EXPFILL }},
{ &ei_dhcpv6_invalid_type, { "dhcpv6.invalid_type", PI_PROTOCOL, PI_WARN, "Invalid type", EXPFILL }},
{ &ei_dhcpv6_malformed_dns, { "dhcpv6.malformed_dns", PI_PROTOCOL, PI_WARN, "Malformed DNS name record (MS Vista client?)", EXPFILL }},