IANA has approved below new media type for EFI http(s) boot usage:
application/vnd.efi.img
application/vnd.efi.iso
HTTP boot driver should be updated to check the above media type
from Content-Type header field.
Cc: Ye Ting <ting.ye@intel.com>
Cc: Fu Siyuan <siyuan.fu@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Wu Jiaxin <jiaxin.wu@intel.com>
Reviewed-by: Fu Siyuan <siyuan.fu@intel.com>
Reviewed-by: Ye Ting <ting.ye@intel.com>
#define HTTP_BOOT_DXE_VERSION 0xa\r
\r
//\r
#define HTTP_BOOT_DXE_VERSION 0xa\r
\r
//\r
-// Provisional Standard Media Types defined in \r
-// http://www.iana.org/assignments/provisional-standard-media-types/provisional-standard-media-types.xhtml\r
+// Standard Media Types defined in \r
+// http://www.iana.org/assignments/media-types\r
//\r
#define HTTP_CONTENT_TYPE_APP_EFI "application/efi"\r
//\r
#define HTTP_CONTENT_TYPE_APP_EFI "application/efi"\r
+#define HTTP_CONTENT_TYPE_APP_IMG "application/vnd.efi-img"\r
+#define HTTP_CONTENT_TYPE_APP_ISO "application/vnd.efi-iso"\r
\r
//\r
// Protocol instances\r
\r
//\r
// Protocol instances\r
\r
//\r
// Determine the image type by the HTTP Content-Type header field first.\r
\r
//\r
// Determine the image type by the HTTP Content-Type header field first.\r
- // "application/efi" -> EFI Image\r
+ // "application/efi" -> EFI Image\r
+ // "application/vnd.efi-iso" -> CD/DVD Image\r
+ // "application/vnd.efi-img" -> Virtual Disk Image\r
//\r
Header = HttpFindHeader (HeaderCount, Headers, HTTP_HEADER_CONTENT_TYPE);\r
if (Header != NULL) {\r
if (AsciiStriCmp (Header->FieldValue, HTTP_CONTENT_TYPE_APP_EFI) == 0) {\r
*ImageType = ImageTypeEfi;\r
return EFI_SUCCESS;\r
//\r
Header = HttpFindHeader (HeaderCount, Headers, HTTP_HEADER_CONTENT_TYPE);\r
if (Header != NULL) {\r
if (AsciiStriCmp (Header->FieldValue, HTTP_CONTENT_TYPE_APP_EFI) == 0) {\r
*ImageType = ImageTypeEfi;\r
return EFI_SUCCESS;\r
+ } else if (AsciiStriCmp (Header->FieldValue, HTTP_CONTENT_TYPE_APP_ISO) == 0) {\r
+ *ImageType = ImageTypeVirtualCd;\r
+ return EFI_SUCCESS;\r
+ } else if (AsciiStriCmp (Header->FieldValue, HTTP_CONTENT_TYPE_APP_IMG) == 0) {\r
+ *ImageType = ImageTypeVirtualDisk;\r
+ return EFI_SUCCESS;\r