URL: https://code.wireshark.org/review/gitweb?p=wireshark.git;a=commit;h=faeefc9d59c616f855be94715943ff5f9d74d421
Submitter: "Cal Turney <cturney111@xxxxxxxxx>"
Changed: branch: master
Repository: wireshark
Commits:
faeefc9 by Cal Turney (cturney111@xxxxxxxxx):
DHCPv6: fix for bogus errors. Detailed error msgs
Routine "dhcpv6_domain()" of packet-dhcpv6.c has the following
issues:
a. It is unaware of partial (relative) domain names which unlike
FQDNs must *not* be root terminated(0); otherwise, the resolver
interprets them as top-level domains (TLDs) such as "com." and
"org.".
b. Malformed errors are not thrown when they should be and when
thrown, it does so for the wrong reason.
c. No detail is provided as to the nature of a malformation.
d. The routine does not know the difference between an "empty"
and "root-only" domain name.
Routine "dhcpv6_option():
The meanings of flags octet of the in the OPTION_CLIENT_FQDN
option sent by the client are different that those of the server.
These differences are not reflected in the display. In addition,
the description of the 'N' bit is incorrect in either case. The
sender type must be determined in order to label them correctly
and to detect conflicts among them.
These changes fully address the above issues. Six types of
domain name errors are now detected. I believe the unusually
large amount of detailed comments with RFC references and
explanations were needed in this case due to the introduction
of concepts such as partial domain names that were not
recognized as such and thus improperly handled and labelled.
The subtree option headers have been converted from "Text only"
to named fields (dhcpv6.option.type_str). Example captures are
attached to the bug report.
The msgtype global variable has been eliminatd.
Bug: 16627
Change-Id: I8d9bf1164835ece2272cc92dd0917322024422d2
Reviewed-on: https://code.wireshark.org/review/37661
Petri-Dish: Alexis La Goutte <alexis.lagoutte@xxxxxxxxx>
Reviewed-by: Cal Turney <cturney111@xxxxxxxxx>
Actions performed:
from b46a554 Packetlogger: check for more packet types in the libwiretap heuristics.
add faeefc9 DHCPv6: fix for bogus errors. Detailed error msgs
Summary of changes:
epan/dissectors/packet-dhcpv6.c | 790 ++++++++++++++++++++++++++++++----------
1 file changed, 598 insertions(+), 192 deletions(-)