summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/console.c15
-rw-r--r--lib/guid.c27
-rw-r--r--lib/simple_file.c27
-rw-r--r--lib/variables.c2
4 files changed, 39 insertions, 32 deletions
diff --git a/lib/console.c b/lib/console.c
index b647dd1f..358c78bf 100644
--- a/lib/console.c
+++ b/lib/console.c
@@ -8,15 +8,13 @@
#include <efilib.h>
#include <stdarg.h>
#include <stdbool.h>
-#include <console.h>
-#include <variables.h>
-#include <errors.h>
+
+#include "shim.h"
+
#include <Library/BaseCryptLib.h>
#include <openssl/err.h>
#include <openssl/crypto.h>
-#include "shim.h"
-
static int
count_lines(CHAR16 *str_arr[])
{
@@ -417,13 +415,12 @@ VOID
setup_verbosity(VOID)
{
EFI_STATUS status;
- EFI_GUID guid = SHIM_LOCK_GUID;
UINT8 verbose_check;
UINTN verbose_check_size;
verbose_check_size = 1;
status = get_variable(L"SHIM_VERBOSE", (void *)&verbose_check,
- &verbose_check_size, guid);
+ &verbose_check_size, SHIM_LOCK_GUID);
verbose = 0;
if (!EFI_ERROR(status))
verbose = verbose_check;
@@ -432,13 +429,13 @@ setup_verbosity(VOID)
VOID setup_console (int text)
{
EFI_STATUS status;
- EFI_GUID console_control_guid = EFI_CONSOLE_CONTROL_PROTOCOL_GUID;
EFI_CONSOLE_CONTROL_PROTOCOL *concon;
static EFI_CONSOLE_CONTROL_SCREEN_MODE mode =
EfiConsoleControlScreenGraphics;
EFI_CONSOLE_CONTROL_SCREEN_MODE new_mode;
- status = LibLocateProtocol(&console_control_guid, (VOID **)&concon);
+ status = LibLocateProtocol(&EFI_CONSOLE_CONTROL_GUID,
+ (VOID **)&concon);
if (status != EFI_SUCCESS)
return;
diff --git a/lib/guid.c b/lib/guid.c
index 5f5a03ff..57c02fbe 100644
--- a/lib/guid.c
+++ b/lib/guid.c
@@ -4,19 +4,36 @@
* see COPYING file
*/
-#include <guid.h>
+#include "shim.h"
-/* all the necessary guids */
+EFI_GUID BDS_GUID = { 0x8108ac4e, 0x9f11, 0x4d59, { 0x85, 0x0e, 0xe2, 0x1a, 0x52, 0x2c, 0x59, 0xb2 } };
EFI_GUID GV_GUID = EFI_GLOBAL_VARIABLE;
EFI_GUID SIG_DB = { 0xd719b2cb, 0x3d3a, 0x4596, {0xa3, 0xbc, 0xda, 0xd0, 0xe, 0x67, 0x65, 0x6f }};
-
EFI_GUID X509_GUID = { 0xa5c059a1, 0x94e4, 0x4aa7, {0x87, 0xb5, 0xab, 0x15, 0x5c, 0x2b, 0xf0, 0x72} };
EFI_GUID RSA2048_GUID = { 0x3c5766e8, 0x269c, 0x4e34, {0xaa, 0x14, 0xed, 0x77, 0x6e, 0x85, 0xb3, 0xb6} };
EFI_GUID PKCS7_GUID = { 0x4aafd29d, 0x68df, 0x49ee, {0x8a, 0xa9, 0x34, 0x7d, 0x37, 0x56, 0x65, 0xa7} };
EFI_GUID IMAGE_PROTOCOL = LOADED_IMAGE_PROTOCOL;
-EFI_GUID SIMPLE_FS_PROTOCOL = SIMPLE_FILE_SYSTEM_PROTOCOL;
+EFI_GUID EFI_FILE_INFO_GUID = EFI_FILE_INFO_ID;
+EFI_GUID EFI_FILE_SYSTEM_INFO_GUID = EFI_FILE_SYSTEM_INFO_ID;
+EFI_GUID EFI_CERT_RSA2048_GUID = { 0x3c5766e8, 0x269c, 0x4e34, {0xaa, 0x14, 0xed, 0x77, 0x6e, 0x85, 0xb3, 0xb6} };
EFI_GUID EFI_CERT_SHA1_GUID = { 0x826ca512, 0xcf10, 0x4ac9, {0xb1, 0x87, 0xbe, 0x1, 0x49, 0x66, 0x31, 0xbd }};
EFI_GUID EFI_CERT_SHA256_GUID = { 0xc1c41626, 0x504c, 0x4092, { 0xac, 0xa9, 0x41, 0xf9, 0x36, 0x93, 0x43, 0x28 } };
-EFI_GUID MOK_OWNER = { 0x605dab50, 0xe046, 0x4300, {0xab, 0xb6, 0x3d, 0xd8, 0x10, 0xdd, 0x8b, 0x23} };
+EFI_GUID EFI_CERT_SHA224_GUID = { 0xb6e5233, 0xa65c, 0x44c9, {0x94, 0x7, 0xd9, 0xab, 0x83, 0xbf, 0xc8, 0xbd} };
+EFI_GUID EFI_CERT_SHA384_GUID = { 0xff3e5307, 0x9fd0, 0x48c9, {0x85, 0xf1, 0x8a, 0xd5, 0x6c, 0x70, 0x1e, 0x1} };
+EFI_GUID EFI_CERT_SHA512_GUID = { 0x93e0fae, 0xa6c4, 0x4f50, {0x9f, 0x1b, 0xd4, 0x1e, 0x2b, 0x89, 0xc1, 0x9a} };
+EFI_GUID EFI_CERT_TYPE_PKCS7_GUID = { 0x4aafd29d, 0x68df, 0x49ee, {0x8a, 0xa9, 0x34, 0x7d, 0x37, 0x56, 0x65, 0xa7} };
+EFI_GUID EFI_CERT_TYPE_RSA2048_SHA256_GUID = { 0xa7717414, 0xc616, 0x4977, {0x94, 0x20, 0x84, 0x47, 0x12, 0xa7, 0x35, 0xbf } };
+EFI_GUID EFI_CERT_TYPE_X509_GUID = { 0xa5c059a1, 0x94e4, 0x4aa7, {0x87, 0xb5, 0xab, 0x15, 0x5c, 0x2b, 0xf0, 0x72} };
+EFI_GUID EFI_CONSOLE_CONTROL_GUID = { 0xf42f7782, 0x12e, 0x4c12, {0x99, 0x56, 0x49, 0xf9, 0x43, 0x4, 0xf7, 0x21} };
+EFI_GUID EFI_HTTP_BINDING_GUID = { 0xbdc8e6af, 0xd9bc, 0x4379, {0xa7, 0x2a, 0xe0, 0xc4, 0xe7, 0x5d, 0xae, 0x1c } };
+EFI_GUID EFI_HTTP_PROTOCOL_GUID = { 0x7a59b29b, 0x910b, 0x4171, {0x82, 0x42, 0xa8, 0x5a, 0x0d, 0xf2, 0x5b, 0x5b } };
+EFI_GUID EFI_IP4_CONFIG2_GUID = { 0x5b446ed1, 0xe30b, 0x4faa, {0x87, 0x1a, 0x36, 0x54, 0xec, 0xa3, 0x60, 0x80 } };
+EFI_GUID EFI_IP6_CONFIG_GUID = { 0x937fe521, 0x95ae, 0x4d1a, {0x89, 0x29, 0x48, 0xbc, 0xd9, 0x0a, 0xd3, 0x1a } };
+EFI_GUID EFI_LOADED_IMAGE_GUID = EFI_LOADED_IMAGE_PROTOCOL_GUID;
+EFI_GUID EFI_TPM_GUID = { 0xf541796d, 0xa62e, 0x4954, {0xa7, 0x75, 0x95, 0x84, 0xf6, 0x1b, 0x9c, 0xdd } };
+EFI_GUID EFI_TPM2_GUID = { 0x607f766c, 0x7455, 0x42be, {0x93, 0x0b, 0xe4, 0xd7, 0x6d, 0xb2, 0x72, 0x0f } };
+EFI_GUID EFI_SECURE_BOOT_DB_GUID = { 0xd719b2cb, 0x3d3a, 0x4596, { 0xa3, 0xbc, 0xda, 0xd0, 0x0e, 0x67, 0x65, 0x6f } };
+EFI_GUID EFI_SIMPLE_FILE_SYSTEM_GUID = SIMPLE_FILE_SYSTEM_PROTOCOL;
EFI_GUID SECURITY_PROTOCOL_GUID = { 0xA46423E3, 0x4617, 0x49f1, {0xB9, 0xFF, 0xD1, 0xBF, 0xA9, 0x11, 0x58, 0x39 } };
EFI_GUID SECURITY2_PROTOCOL_GUID = { 0x94ab2f58, 0x1438, 0x4ef1, {0x91, 0x52, 0x18, 0x94, 0x1a, 0x3a, 0x0e, 0x68 } };
+EFI_GUID SHIM_LOCK_GUID = {0x605dab50, 0xe046, 0x4300, {0xab, 0xb6, 0x3d, 0xd8, 0x10, 0xdd, 0x8b, 0x23 } };
diff --git a/lib/simple_file.c b/lib/simple_file.c
index f7762cc2..2b823138 100644
--- a/lib/simple_file.c
+++ b/lib/simple_file.c
@@ -9,9 +9,6 @@
#include "shim.h"
-static EFI_GUID FILE_INFO = EFI_FILE_INFO_ID;
-static EFI_GUID FS_INFO = EFI_FILE_SYSTEM_INFO_ID;
-
EFI_STATUS
simple_file_open_by_handle(EFI_HANDLE device, CHAR16 *name, EFI_FILE **file, UINT64 mode)
{
@@ -20,7 +17,7 @@ simple_file_open_by_handle(EFI_HANDLE device, CHAR16 *name, EFI_FILE **file, UIN
EFI_FILE *root;
efi_status = uefi_call_wrapper(BS->HandleProtocol, 3, device,
- &SIMPLE_FS_PROTOCOL, (void **)&drive);
+ &EFI_SIMPLE_FILE_SYSTEM_GUID, (void **)&drive);
if (efi_status != EFI_SUCCESS) {
Print(L"Unable to find simple file protocol (%d)\n", efi_status);
@@ -81,8 +78,8 @@ simple_dir_read_all_by_handle(EFI_HANDLE image, EFI_FILE *file, CHAR16* name, EF
char buf[4096];
UINTN size = sizeof(buf);
EFI_FILE_INFO *fi = (void *)buf;
-
- status = uefi_call_wrapper(file->GetInfo, 4, file, &FILE_INFO,
+
+ status = uefi_call_wrapper(file->GetInfo, 4, file, &EFI_FILE_INFO_GUID,
&size, fi);
if (status != EFI_SUCCESS) {
Print(L"Failed to get file info\n");
@@ -151,10 +148,9 @@ simple_file_read_all(EFI_FILE *file, UINTN *size, void **buffer)
*size = sizeof(buf);
fi = (void *)buf;
-
- efi_status = uefi_call_wrapper(file->GetInfo, 4, file, &FILE_INFO,
- size, fi);
+ efi_status = uefi_call_wrapper(file->GetInfo, 4, file,
+ &EFI_FILE_INFO_GUID, size, fi);
if (efi_status != EFI_SUCCESS) {
Print(L"Failed to get file info\n");
return efi_status;
@@ -199,7 +195,7 @@ simple_volume_selector(CHAR16 **title, CHAR16 **selected, EFI_HANDLE *h)
int val;
uefi_call_wrapper(BS->LocateHandleBuffer, 5, ByProtocol,
- &SIMPLE_FS_PROTOCOL, NULL, &count, &vol_handles);
+ &EFI_SIMPLE_FILE_SYSTEM_GUID, NULL, &count, &vol_handles);
if (!count || !vol_handles)
return EFI_NOT_FOUND;
@@ -218,7 +214,7 @@ simple_volume_selector(CHAR16 **title, CHAR16 **selected, EFI_HANDLE *h)
status = uefi_call_wrapper(BS->HandleProtocol, 3,
vol_handles[i],
- &SIMPLE_FS_PROTOCOL,
+ &EFI_SIMPLE_FILE_SYSTEM_GUID,
(void **)&drive);
if (status != EFI_SUCCESS || !drive)
continue;
@@ -227,14 +223,13 @@ simple_volume_selector(CHAR16 **title, CHAR16 **selected, EFI_HANDLE *h)
if (status != EFI_SUCCESS)
continue;
- status = uefi_call_wrapper(root->GetInfo, 4, root, &FS_INFO,
- &size, fi);
+ status = uefi_call_wrapper(root->GetInfo, 4, root,
+ &EFI_FILE_SYSTEM_INFO_GUID, &size, fi);
if (status != EFI_SUCCESS)
continue;
name = fi->VolumeLabel;
-
- if (!name || StrLen(name) == 0 || StrCmp(name, L" ") == 0)
+ if (!name || StrLen(name) == 0 || StrCmp(name, L" ") == 0)
name = DevicePathToStr(DevicePathFromHandle(vol_handles[i]));
entries[i] = AllocatePool((StrLen(name) + 2) * sizeof(CHAR16));
@@ -264,7 +259,6 @@ simple_volume_selector(CHAR16 **title, CHAR16 **selected, EFI_HANDLE *h)
FreePool(entries);
FreePool(vol_handles);
-
return EFI_SUCCESS;
}
@@ -304,7 +298,6 @@ simple_dir_filter(EFI_HANDLE image, CHAR16 *name, CHAR16 *filter,
*count = 0;
status = simple_dir_read_all(image, name, entries, &tot);
-
if (status != EFI_SUCCESS)
goto out;
ptr = next = *entries;
diff --git a/lib/variables.c b/lib/variables.c
index 1fd95a7f..0abd6a09 100644
--- a/lib/variables.c
+++ b/lib/variables.c
@@ -323,7 +323,7 @@ variable_enroll_hash(CHAR16 *var, EFI_GUID owner,
l->SignatureListSize = sizeof(sig);
l->SignatureSize = 16 +32; /* UEFI defined */
CopyMem(&d->SignatureData, hash, SHA256_DIGEST_SIZE);
- d->SignatureOwner = MOK_OWNER;
+ d->SignatureOwner = SHIM_LOCK_GUID;
if (CompareGuid(&owner, &SIG_DB) == 0)
status = SetSecureVariable(var, sig, sizeof(sig), owner,