audk/NetworkPkg/DnsDxe
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
..
ComponentName.c NetworkPkg:Fix Network memory leak when calling GetModeData interface 2016-01-28 02:32:43 +00:00
DnsDhcp.c NetworkPkg: Revert git 'eb213f2f' fix 2016-03-02 15:43:55 +08:00
DnsDhcp.h NetworkPkg: Add DNS feature support over IPv4 and IPv6. 2015-07-07 08:22:03 +00:00
DnsDriver.c NetworkPkg: Fix typos in comments 2016-07-11 10:29:50 +08:00
DnsDriver.h NetworkPkg: Fix typos in comments 2016-07-11 10:29:50 +08:00
DnsDxe.inf NetworkPkg: Revert git 'eb213f2f' fix 2016-03-02 15:43:55 +08:00
DnsDxe.uni NetworkPkg: Convert all .uni files to utf-8 2015-12-15 04:56:57 +00:00
DnsDxeExtra.uni NetworkPkg: Convert all .uni files to utf-8 2015-12-15 04:56:57 +00:00
DnsImpl.c NetworkPkg/DnsDxe: Handle CNAME type responded from the name server 2016-09-07 14:28:17 +08:00
DnsImpl.h NetworkPkg: Fix DNS GeneralLookUp failure in some case 2016-06-13 13:26:31 +08:00
DnsProtocol.c NetworkPkg: Replace ASSERT with error handling in DnsDxe 2016-06-21 12:56:28 +08:00