Acidanthera UEFI Development Kit based on EDK II edk2-stable202311
Go to file
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
AppPkg AppPkg/.../Python: Clean up and document how to escape the -# option. 2016-01-06 01:00:19 +00:00
ArmPkg ArmPkg/CompilerIntrinsicsLib: use Clang-compatible 'weak' attribute 2016-09-06 15:49:40 +01:00
ArmPlatformPkg ArmPlatformPkg/ArmPlatformStackLib: switch to ASM_FUNC() asm macro 2016-08-11 13:25:06 +02:00
ArmVirtPkg ArmVirtPkg/FdtPciHostBridgeLib: enable 64-bit PCI DMA 2016-09-06 15:46:53 +01:00
BaseTools BaseTools: Change source files to DOS format 2016-09-04 13:25:49 +08:00
BeagleBoardPkg BeagleBoardPkg: add missing ArmMmuLib resolution 2016-08-11 13:25:04 +02:00
Conf EDK II: Add .gitignore 2014-10-14 16:08:15 +00:00
CorebootModulePkg CorebootModulePkg/SecCore: Adding NASM files in SecCore module 2016-08-03 17:20:17 -07:00
CorebootPayloadPkg CorebootPayloadPkg/ResetSystemLib: Implement ResetPlatformSpecific 2016-09-02 10:07:15 +08:00
CryptoPkg CryptoPkg: Fix "responsiblity" typos 2016-08-11 15:21:49 +08:00
DuetPkg DuetPkg: Add DxeMpInitLib instance reference 2016-08-19 15:09:26 +08:00
EdkCompatibilityPkg EdkCompatibilityPkg: Fix GCC build failure 2016-08-01 12:44:44 +08:00
EdkShellBinPkg */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
EdkShellPkg */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
EmbeddedPkg EmbeddedPkg: make PrePiMemoryAllocationLib a SEC type library 2016-08-03 15:45:23 +02:00
EmulatorPkg BaseTools GCC: use 'gcc' as the linker command for GCC44 and later 2016-08-02 08:40:43 +02:00
FatBinPkg FatBinPkg: Change to 2-clause BSD license 2016-04-22 00:55:21 -07:00
FatPkg FatPkg DSC: Add build option to disable deprecated APIs 2016-08-08 11:00:03 +08:00
IntelFrameworkModulePkg IntelFrameworkModulePkg: Use IsZeroGuid API for zero GUID checking 2016-08-31 11:13:49 +08:00
IntelFrameworkPkg IntelFrameworkPkg DSC: Add build option to disable deprecated APIs 2016-08-08 11:00:04 +08:00
IntelFsp2Pkg IntelFsp2Pkg: Fix typo and comments 2016-08-31 14:27:54 +08:00
IntelFsp2WrapperPkg IntelFsp2WrapperPkg DSC: Add build option to disable deprecated APIs 2016-08-08 11:00:05 +08:00
IntelFspPkg IntelFspPkg DSC: Add build option to disable deprecated APIs 2016-08-08 11:00:06 +08:00
IntelFspWrapperPkg IntelFspWrapperPkg DSC: Add build option to disable deprecated APIs 2016-08-08 11:00:06 +08:00
IntelSiliconPkg IntelSiliconPkg: Rename IGD structures to make it consistent 2016-09-03 06:14:18 +08:00
MdeModulePkg MdeModulePkg/PciHostBridgeDxe: restrict 64-bit DMA to devices that support it 2016-09-06 15:46:38 +01:00
MdePkg MdePkg/UefiSpec.h: Align function header of ResetSystem to UEFI Spec 2016-09-02 10:07:13 +08:00
NetworkPkg NetworkPkg/DnsDxe: Handle CNAME type responded from the name server 2016-09-07 14:28:17 +08:00
Nt32Pkg Nt32Pkg PlatformBootManagerLib: Enable BootManagerMenuApp. 2016-09-02 10:11:20 +08:00
Omap35xxPkg Omap35xxPkg: drop CpuExceptionHandlerLib library class resolution 2016-03-17 09:15:11 +01:00
OptionRomPkg OptionRomPkg: Fix typos in comments 2016-07-11 10:29:47 +08:00
OvmfPkg OvmfPkg: Use MdeModulePkg/ResetSystemRuntimeDxe 2016-09-02 10:07:17 +08:00
PcAtChipsetPkg PcAtChipsetPkg: Remove KbcResetDxe 2016-09-02 10:07:17 +08:00
PerformancePkg PerformancePkg DSC: Add build option to disable deprecated APIs 2016-08-08 11:00:09 +08:00
QuarkPlatformPkg QuarkPlatformPkg: Declare PciSegmentLib in platform dsc 2016-09-05 18:15:25 +08:00
QuarkSocPkg QuarkSocPkg/QuarkSocPkg.dsc: Declare PciSegmentLib 2016-09-05 18:15:38 +08:00
SecurityPkg SecurityPkg/SecurityPkg.dsc: Declare PciSegmentLib 2016-09-05 18:15:45 +08:00
ShellBinPkg ShellBinPkg Arm/AArch64 Shell binary update 2016-08-02 12:25:13 +02:00
ShellPkg ShellPkg: Fix the incorrect return status in function FindFiles() 2016-09-01 16:38:07 +08:00
SourceLevelDebugPkg UefiCpuPkg/LocalApic.h: Remove duplicated/conflicted definitions 2016-08-17 19:54:41 +08:00
StdLib StdLib/LibC ARM AARCH64: do not redefine compiler intrinsics 2016-08-09 10:10:12 +02:00
StdLibPrivateInternalFiles StdLib: Clarify and improve comments. 2016-01-06 00:31:42 +00:00
UefiCpuPkg UefiCpuPkg/PiSmmCpuDxeSmm: Consume PcdAcpiS3Enable to control the code 2016-09-01 08:18:59 -07:00
UnixPkg UnixPkg: Remove UnixPkg files (It is replaced by EmulatorPkg) 2013-07-29 21:09:55 +00:00
Vlv2DeviceRefCodePkg Vlv2DeviceRefCodePkg/ValleyView2Soc: Remove the unused code 2016-08-03 11:02:19 +08:00
Vlv2TbltDevicePkg Vlv2TbltDevicePkg: Declare PciSegmentLib in platform dsc 2016-09-05 18:15:18 +08:00
.gitignore EDK II: Add .gitignore 2014-10-14 16:08:15 +00:00
BuildNotes2.txt BaseTools: Updated BuildNotes URLs 2016-03-25 09:46:44 +08:00
Edk2Setup.bat BaseTools: Update Edk2Setup.bat to support multiple workspaces 2015-10-08 09:29:36 +00:00
Maintainers.txt Maintainers.txt: Add IntelFsp2Pkg, IntelFsp2WrapperPkg and IntelSiliconPkg. 2016-08-30 09:31:29 +08:00
edksetup.bat Update edksetup.bat to check NASM system environment variable 2016-07-26 10:16:48 +08:00
edksetup.sh BaseTools: Update edksetup.sh to support multiple workspaces 2015-10-08 09:29:56 +00:00