david/ipxe
Archived
1
0
This repository has been archived on 2020-12-06. You can view files and clone it, but cannot push or open issues or pull requests.
ipxe/src/net/udp
Michael Brown ff341c1861 [dns] Update end-of-name pointer after processing CNAME record
Commit d4c0226 ("[dns] Support DNS search lists") introduced a
regression when handling CNAME records resolving to names longer than
the original name.  The "end of name" offset stored in dns->offset was
not updated to reflect the length of the new name, causing
dns_question() to append the (empty) search suffix at an incorrect
offset within the name buffer, resulting in a mangled DNS name.

In the case of a CNAME record resolving to a name shorter than or
equal in length to the original name, then the mangling would occur in
an unused portion of the name buffer.  In the common case of a name
server returning the A (or AAAA) record along with the CNAME record,
this would cause name resolution to succeed despite the mangling.  (If
the name server did not return the A or AAAA record along with the
CNAME record, then the mangling would be revealed by the subsequent
invalid query packet.)

Reported-by: Nicolas Sylvain <nsylvain@gmail.com>
Signed-off-by: Michael Brown <mcb30@ipxe.org>
2014-02-26 16:04:34 +00:00
..
dhcp.c [dns] Support DNS search lists 2014-02-05 14:56:49 +00:00
dhcpv6.c [dns] Support DNS search lists 2014-02-05 14:56:49 +00:00
dns.c [dns] Update end-of-name pointer after processing CNAME record 2014-02-26 16:04:34 +00:00
slam.c [legal] Update FSF mailing address in GPL licence texts 2012-07-20 19:55:45 +01:00
syslog.c [settings] Force settings into alphabetical order within sections 2013-12-05 12:43:28 +00:00
tftp.c [tftp] Allow TFTP block size to be controlled via the PXE TFTP API 2013-03-06 17:35:30 +00:00