audk/NetworkPkg
Jiaxin Wu 3093f45c44 NetworkPkg/DnsDxe: Handle CNAME type responded from the name server
v2:
* Code refine.
* For DnsCache, the minimum value of TTL is selected between CNAME and A/AAAA record.

According RFC 1034 - 3.6.2, if the query name is an alias, the name server
will include the CNAME record in the response and restart the query at the
domain name specified in the data field of the CNAME record. RFC also provides
one example server action when A query received:

Suppose a name server was processing a query with for USCISIC.ARPA, asking for
type A information, and had the following resource records:
USC-ISIC.ARPA IN CNAME C.ISI.EDU
C.ISI.EDU     IN A     10.0.0.52
Both of these RRs would be returned in the response to the type A query.

Currently, DnsDxe driver doesn't handle the CNAME type response, which will cause
any exception result. The driver need continue the packet parsing while CNAME type
record parsed. So, this patch is used to handle it correctly.

Cc: Hegde Nagaraj P <nagaraj-p.hegde@hpe.com>
Cc: Fu Siyuan <siyuan.fu@intel.com>
Cc: Ye Ting <ting.ye@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jiaxin Wu <jiaxin.wu@intel.com>
Reviewed-by: Fu Siyuan <siyuan.fu@intel.com>
Tested-by: Hegde Nagaraj P <nagaraj-p.hegde@hpe.com>
2016-09-07 14:28:17 +08:00
..
Application NetworkPkg: Replace UnicodeStrToAsciiStr/AsciiStrToUnicodeStr 2016-06-21 12:46:24 +08:00
Dhcp6Dxe NetworkPkg: Add missed character in copyright. 2016-08-01 10:21:04 +08:00
DnsDxe NetworkPkg/DnsDxe: Handle CNAME type responded from the name server 2016-09-07 14:28:17 +08:00
HttpBootDxe Fix IPv6 HTTPClient vendor class data 2016-07-22 10:16:49 +08:00
HttpDxe NetworkPkg: Fix typos in comments 2016-07-11 10:29:50 +08:00
HttpUtilitiesDxe NetworkPkg:HttpDxe:Consume DxeHttpLib API changes 2016-04-27 10:43:18 +08:00
IScsiDxe NetworkPkg: Fix assert issue in iSCSI driver 2016-08-18 13:54:07 +08:00
Include/Guid NetworkPkg: Add URI configuration form to HTTP boot driver. 2016-03-07 09:12:14 +08:00
Ip6Dxe NetworkPkg: Fix typos in comments 2016-07-11 10:29:50 +08:00
IpSecDxe NetworkPkg/IpSecDxe: Generate SPI randomly and correct IKE_SPI_BASE value 2016-09-06 19:01:04 +08:00
Mtftp6Dxe NetworkPkg:Fix Network memory leak when calling GetModeData interface 2016-01-28 02:32:43 +00:00
TcpDxe NetworkPkg: Add missed character in copyright. 2016-08-01 10:21:04 +08:00
Udp6Dxe NetworkPkg: Add missed character in copyright. 2016-08-01 10:21:04 +08:00
UefiPxeBcDxe NetworkPkg UefiPxeBcDxe: Fix build error for lastest VS2015 compiler 2016-07-26 13:44:01 +08:00
Contributions.txt */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
License.txt Update copyright format 2012-04-24 06:49:39 +00:00
NetworkPkg.dec NetworkPkg: Add URI configuration form to HTTP boot driver. 2016-03-07 09:12:14 +08:00
NetworkPkg.dsc NetworkPkg DSC: Add build option to disable deprecated APIs 2016-08-08 11:00:08 +08:00
NetworkPkg.uni NetworkPkg: Update NetworkPkg.uni to UTF-8 file format 2015-12-23 07:55:27 +00:00
NetworkPkgExtra.uni NetworkPkg: Convert all .uni files to utf-8 2015-12-15 04:56:57 +00:00