diff --git a/bug-889332_shim-mok-oob.patch b/bug-889332_shim-mok-oob.patch deleted file mode 100644 index c0850bf..0000000 --- a/bug-889332_shim-mok-oob.patch +++ /dev/null @@ -1,69 +0,0 @@ -Index: shim-0.7.318.81ee561d/MokManager.c -=================================================================== ---- shim-0.7.318.81ee561d.orig/MokManager.c -+++ shim-0.7.318.81ee561d/MokManager.c -@@ -163,8 +163,18 @@ static UINT32 count_keys(void *Data, UIN - EFI_SIGNATURE_LIST *CertList = Data; - UINTN dbsize = DataSize; - UINT32 MokNum = 0; -+ void *end = Data + DataSize; - - while ((dbsize > 0) && (dbsize >= CertList->SignatureListSize)) { -+ -+ /* Use ptr arithmetics to ensure bounded access. Do not allow 0 -+ * SignatureListSize that will cause endless loop. -+ */ -+ if ((void *)(CertList + 1) > end || CertList->SignatureListSize == 0) { -+ console_notify(L"Invalid MOK detected! Ignoring MOK List."); -+ return 0; -+ } -+ - if (CertList->SignatureListSize == 0 || - CertList->SignatureListSize <= CertList->SignatureSize) { - console_errorbox(L"Corrupted signature list"); -@@ -192,6 +202,7 @@ static MokListNode *build_mok_list(UINT3 - EFI_GUID CertType = X509_GUID; - UINTN dbsize = DataSize; - UINTN count = 0; -+ void *end = Data + DataSize; - - list = AllocatePool(sizeof(MokListNode) * num); - -@@ -201,12 +212,24 @@ static MokListNode *build_mok_list(UINT3 - } - - while ((dbsize > 0) && (dbsize >= CertList->SignatureListSize)) { -+ /* CertList out of bounds? */ -+ if ((void *)(CertList + 1) > end || CertList->SignatureListSize == 0) { -+ FreePool(list); -+ return NULL; -+ } -+ - /* Omit the signature check here since we already did it - in count_keys() */ - - Cert = (EFI_SIGNATURE_DATA *) (((UINT8 *) CertList) + - sizeof (EFI_SIGNATURE_LIST) + CertList->SignatureHeaderSize); - -+ /* Cert out of bounds? */ -+ if ((void *)(Cert + 1) > end || CertList->SignatureSize <= sizeof(EFI_GUID)) { -+ FreePool(list); -+ return NULL; -+ } -+ - list[count].Type = CertList->SignatureType; - if (CompareGuid (&CertList->SignatureType, &CertType) == 0) { - list[count].MokSize = CertList->SignatureSize - -@@ -218,6 +241,12 @@ static MokListNode *build_mok_list(UINT3 - list[count].Mok = (void *)Cert; - } - -+ /* MOK out of bounds? */ -+ if (list[count].MokSize > end - (void *)list[count].Mok) { -+ FreePool(list); -+ return NULL; -+ } -+ - count++; - dbsize -= CertList->SignatureListSize; - CertList = (EFI_SIGNATURE_LIST *) ((UINT8 *) CertList + diff --git a/bug-889332_shim-overflow.patch b/bug-889332_shim-overflow.patch deleted file mode 100644 index 3309b38..0000000 --- a/bug-889332_shim-overflow.patch +++ /dev/null @@ -1,161 +0,0 @@ -diff --git a/netboot.c b/netboot.c -index 5ef53f7..f01a9bc 100644 ---- a/netboot.c -+++ b/netboot.c -@@ -116,29 +116,34 @@ BOOLEAN findNetboot(EFI_HANDLE device) - - static CHAR8 *get_v6_bootfile_url(EFI_PXE_BASE_CODE_DHCPV6_PACKET *pkt) - { -- void *optr; -- EFI_DHCP6_PACKET_OPTION *option; -- CHAR8 *url; -- UINT32 urllen; -+ void *optr = NULL, *end = NULL; -+ EFI_DHCP6_PACKET_OPTION *option = NULL; -+ CHAR8 *url = NULL; -+ UINT32 urllen = 0; - - optr = pkt->DhcpOptions; -+ end = optr + sizeof(pkt->DhcpOptions); - -- for(;;) { -+ for (;;) { - option = (EFI_DHCP6_PACKET_OPTION *)optr; - - if (ntohs(option->OpCode) == 0) -- return NULL; -+ break; - - if (ntohs(option->OpCode) == 59) { - /* This is the bootfile url option */ - urllen = ntohs(option->Length); -- url = AllocateZeroPool(urllen+1); -+ if ((void *)(option->Data + urllen) > end) -+ break; -+ url = AllocateZeroPool(urllen + 1); - if (!url) -- return NULL; -+ break; - memcpy(url, option->Data, urllen); - return url; - } - optr += 4 + ntohs(option->Length); -+ if (optr + sizeof(EFI_DHCP6_PACKET_OPTION) > end) -+ break; - } - - return NULL; -@@ -164,45 +169,60 @@ static CHAR16 str2ns(CHAR8 *str) - - static CHAR8 *str2ip6(CHAR8 *str) - { -- UINT8 i, j, p; -- size_t len; -- CHAR8 *a, *b, t; -- static UINT16 ip[8]; -+ UINT8 i = 0, j = 0, p = 0; -+ size_t len = 0, dotcount = 0; -+ enum { MAX_IP6_DOTS = 7 }; -+ CHAR8 *a = NULL, *b = NULL, t = 0; -+ static UINT16 ip[8]; - -- for(i=0; i < 8; i++) { -- ip[i] = 0; -- } -- len = strlen(str); -- a = b = str; -- for(i=p=0; i < len; i++, b++) { -- if (*b != ':') -- continue; -- *b = '\0'; -- ip[p++] = str2ns(a); -- *b = ':'; -- a = b + 1; -- if ( *(b+1) == ':' ) -- break; -- } -- a = b = (str + len); -- for(j=len, p=7; j > i; j--, a--) { -- if (*a != ':') -- continue; -- t = *b; -- *b = '\0'; -- ip[p--] = str2ns(a+1); -- *b = t; -- b = a; -- } -- return (CHAR8 *)ip; -+ memset(ip, 0, sizeof(ip)); -+ -+ /* Count amount of ':' to prevent overflows. -+ * max. count = 7. Returns an invalid ip6 that -+ * can be checked against -+ */ -+ for (a = str; *a != 0; ++a) { -+ if (*a == ':') -+ ++dotcount; -+ } -+ if (dotcount > MAX_IP6_DOTS) -+ return (CHAR8 *)ip; -+ -+ len = strlen(str); -+ a = b = str; -+ for (i = p = 0; i < len; i++, b++) { -+ if (*b != ':') -+ continue; -+ *b = '\0'; -+ ip[p++] = str2ns(a); -+ *b = ':'; -+ a = b + 1; -+ if (b[1] == ':' ) -+ break; -+ } -+ a = b = (str + len); -+ for (j = len, p = 7; j > i; j--, a--) { -+ if (*a != ':') -+ continue; -+ t = *b; -+ *b = '\0'; -+ ip[p--] = str2ns(a+1); -+ *b = t; -+ b = a; -+ } -+ return (CHAR8 *)ip; - } - - static BOOLEAN extract_tftp_info(CHAR8 *url) - { - CHAR8 *start, *end; - CHAR8 ip6str[40]; -+ CHAR8 ip6inv[16]; - CHAR8 *template = (CHAR8 *)translate_slashes(DEFAULT_LOADER_CHAR); - -+ // to check against str2ip6() errors -+ memset(ip6inv, 0, sizeof(ip6inv)); -+ - if (strncmp((UINT8 *)url, (UINT8 *)"tftp://", 7)) { - Print(L"URLS MUST START WITH tftp://\n"); - return FALSE; -@@ -217,7 +237,7 @@ static BOOLEAN extract_tftp_info(CHAR8 *url) - end = start; - while ((*end != '\0') && (*end != ']')) { - end++; -- if (end - start > 39) { -+ if (end - start >= (int)sizeof(ip6str)) { - Print(L"TFTP URL includes malformed IPv6 address\n"); - return FALSE; - } -@@ -226,10 +246,12 @@ static BOOLEAN extract_tftp_info(CHAR8 *url) - Print(L"TFTP SERVER MUST BE ENCLOSED IN [..]\n"); - return FALSE; - } -- memset(ip6str, 0, 40); -+ memset(ip6str, 0, sizeof(ip6str)); - memcpy(ip6str, start, end - start); - end++; - memcpy(&tftp_addr.v6, str2ip6(ip6str), 16); -+ if (memcmp(&tftp_addr.v6, ip6inv, sizeof(ip6inv)) == 0) -+ return FALSE; - full_path = AllocateZeroPool(strlen(end)+strlen(template)+1); - if (!full_path) - return FALSE; diff --git a/shim-0.7.318.81ee561d.tar.bz2 b/shim-0.7.318.81ee561d.tar.bz2 deleted file mode 100644 index df1129e..0000000 --- a/shim-0.7.318.81ee561d.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:161cdfa33c1221b9d86241d7b9803240c91d939251a5d6b5c8d8626b8d93cf7f -size 1012687 diff --git a/shim-0.8.tar.bz2 b/shim-0.8.tar.bz2 new file mode 100644 index 0000000..3dbba68 --- /dev/null +++ b/shim-0.8.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4cea304dc6f6e5c429f602c42a4dda7b9c64f448a346bae78fb2c6c19c0cd0b3 +size 991166 diff --git a/shim-bnc863205-mokmanager-fix-hash-delete.patch b/shim-bnc863205-mokmanager-fix-hash-delete.patch deleted file mode 100644 index 2f94abc..0000000 --- a/shim-bnc863205-mokmanager-fix-hash-delete.patch +++ /dev/null @@ -1,60 +0,0 @@ -From 23cdee7b62fc62cd988d74b2180014595da9e4c5 Mon Sep 17 00:00:00 2001 -From: Gary Ching-Pang Lin -Date: Thu, 13 Feb 2014 15:05:45 +0800 -Subject: [PATCH 1/2] MokManager: calculate the variable size correctly - -MokSize of the hash signature list includes the owner GUID, -so we should not add the 16bytes compensation. - -Signed-off-by: Gary Ching-Pang Lin ---- - MokManager.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -Index: shim-0.7/MokManager.c -=================================================================== ---- shim-0.7.orig/MokManager.c -+++ shim-0.7/MokManager.c -@@ -940,7 +940,9 @@ static EFI_STATUS write_back_mok_list (M - if (list[i].Mok == NULL) - continue; - -- DataSize += sizeof(EFI_SIGNATURE_LIST) + sizeof(EFI_GUID); -+ DataSize += sizeof(EFI_SIGNATURE_LIST); -+ if (CompareGuid(&(list[i].Type), &CertType) == 0) -+ DataSize += sizeof(EFI_GUID); - DataSize += list[i].MokSize; - } - -@@ -1046,6 +1048,7 @@ static void delete_hash_in_list (UINT8 * - { - EFI_GUID HashType = EFI_CERT_SHA256_GUID; - UINT32 sig_size; -+ UINT32 list_num; - int i, del_ind; - void *start, *end; - UINT32 remain; -@@ -1057,8 +1060,10 @@ static void delete_hash_in_list (UINT8 * - (mok[i].MokSize < sig_size)) - continue; - -+ list_num = mok[i].MokSize / sig_size; -+ - del_ind = match_hash(hash, hash_size, 0, mok[i].Mok, -- mok[i].MokSize); -+ list_num); - while (del_ind >= 0) { - /* Remove the hash */ - if (sig_size == mok[i].MokSize) { -@@ -1073,9 +1078,10 @@ static void delete_hash_in_list (UINT8 * - - mem_move(start, end, remain); - mok[i].MokSize -= sig_size; -+ list_num--; - - del_ind = match_hash(hash, hash_size, del_ind, -- mok[i].Mok, mok[i].MokSize); -+ mok[i].Mok, list_num); - } - } - } diff --git a/shim-fix-gnu-efi-30w.patch b/shim-fix-gnu-efi-30w.patch new file mode 100644 index 0000000..b8ad5e4 --- /dev/null +++ b/shim-fix-gnu-efi-30w.patch @@ -0,0 +1,85 @@ +From d4e4bf4e1e03eb5685474d240929d3e3b50581f8 Mon Sep 17 00:00:00 2001 +From: Gary Ching-Pang Lin +Date: Thu, 25 Sep 2014 18:12:42 +0800 +Subject: [PATCH] Adapt the change in gnu-efi-3.0w + +--- + Cryptlib/Include/OpenSslSupport.h | 13 +++++++------ + Cryptlib/Makefile | 1 + + Cryptlib/OpenSSL/Makefile | 3 +++ + Makefile | 2 ++ + 4 files changed, 13 insertions(+), 6 deletions(-) + +diff --git a/Cryptlib/Include/OpenSslSupport.h b/Cryptlib/Include/OpenSslSupport.h +index 9e56ced..6b3bfbd 100644 +--- a/Cryptlib/Include/OpenSslSupport.h ++++ b/Cryptlib/Include/OpenSslSupport.h +@@ -16,12 +16,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + #define __OPEN_SSL_SUPPORT_H__ + + #include +-#include +-#include +-#include +-#include +-#include +-#include + + #define CONST const + +@@ -63,6 +57,13 @@ typedef __builtin_va_list VA_LIST; + #define va_end(Marker) ((void)0) + #endif + ++#include ++#include ++#include ++#include ++#include ++#include ++ + // + // #defines from EFI Application Toolkit required to buiild Open SSL + // +diff --git a/Cryptlib/Makefile b/Cryptlib/Makefile +index 9719a27..dbd79fb 100644 +--- a/Cryptlib/Makefile ++++ b/Cryptlib/Makefile +@@ -3,6 +3,7 @@ EFI_INCLUDES = -IInclude -I$(EFI_INCLUDE) -I$(EFI_INCLUDE)/$(ARCH) -I$(EFI_INCLU + + CFLAGS = -ggdb -O0 -I. -fno-stack-protector -fno-strict-aliasing -fpic -fshort-wchar \ + -Wall $(EFI_INCLUDES) ++CFLAGS += -DGNU_EFI_USE_EXTERNAL_STDARG + + ifeq ($(ARCH),x86_64) + CFLAGS += -mno-mmx -mno-sse -mno-red-zone -nostdinc -maccumulate-outgoing-args \ +diff --git a/Cryptlib/OpenSSL/Makefile b/Cryptlib/OpenSSL/Makefile +index 7990b3c..967e55e 100644 +--- a/Cryptlib/OpenSSL/Makefile ++++ b/Cryptlib/OpenSSL/Makefile +@@ -18,6 +18,9 @@ endif + ifeq ($(ARCH),arm) + CFLAGS += -O2 -DTHIRTY_TWO_BIT -ffreestanding -I$(shell $(CC) -print-file-name=include) + endif ++ ++CFLAGS += -DGNU_EFI_USE_EXTERNAL_STDARG ++ + LDFLAGS = -nostdlib -znocombreloc + + TARGET = libopenssl.a +diff --git a/Makefile b/Makefile +index 332a29b..52fd5b3 100644 +--- a/Makefile ++++ b/Makefile +@@ -26,6 +26,8 @@ CFLAGS = -ggdb -O0 -fno-stack-protector -fno-strict-aliasing -fpic \ + "-DDEFAULT_LOADER_CHAR=\"$(DEFAULT_LOADER)\"" \ + $(EFI_INCLUDES) + ++CFLAGS += -DGNU_EFI_USE_EXTERNAL_STDARG ++ + ifneq ($(origin OVERRIDE_SECURITY_POLICY), undefined) + CFLAGS += -DOVERRIDE_SECURITY_POLICY + endif +-- +1.8.4.5 + diff --git a/shim-mokmanager-support-sha-family.patch b/shim-mokmanager-support-sha-family.patch deleted file mode 100644 index 20d526c..0000000 --- a/shim-mokmanager-support-sha-family.patch +++ /dev/null @@ -1,449 +0,0 @@ -From f110c89b169505156741ee4ce4b0952e899ed0d8 Mon Sep 17 00:00:00 2001 -From: Gary Ching-Pang Lin -Date: Thu, 3 Apr 2014 18:26:37 +0800 -Subject: [PATCH 1/5] MokManager: Support SHA1 hash in MOK - -Add SHA1 hash support and amend the code to make it easier to support -other SHA digests. ---- - MokManager.c | 121 ++++++++++++++++++++++++++++++++++++----------------------- - 1 file changed, 75 insertions(+), 46 deletions(-) - -Index: shim-0.7/MokManager.c -=================================================================== ---- shim-0.7.orig/MokManager.c -+++ shim-0.7/MokManager.c -@@ -25,6 +25,9 @@ - #define EFI_VARIABLE_APPEND_WRITE 0x00000040 - - EFI_GUID SHIM_LOCK_GUID = { 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} }; - - #define CERT_STRING L"Select an X509 certificate to enroll:\n\n" - #define HASH_STRING L"Select a file to trust:\n\n" -@@ -93,31 +96,84 @@ done: - return status; - } - -+static BOOLEAN is_sha_hash (EFI_GUID Type) -+{ -+ EFI_GUID Sha1 = EFI_CERT_SHA1_GUID; -+ EFI_GUID Sha224 = EFI_CERT_SHA224_GUID; -+ EFI_GUID Sha256 = EFI_CERT_SHA256_GUID; -+ EFI_GUID Sha384 = EFI_CERT_SHA384_GUID; -+ EFI_GUID Sha512 = EFI_CERT_SHA512_GUID; -+ -+ if (CompareGuid(&Type, &Sha1) == 0) -+ return TRUE; -+ else if (CompareGuid(&Type, &Sha224) == 0) -+ return TRUE; -+ else if (CompareGuid(&Type, &Sha256) == 0) -+ return TRUE; -+ else if (CompareGuid(&Type, &Sha384) == 0) -+ return TRUE; -+ else if (CompareGuid(&Type, &Sha512) == 0) -+ return TRUE; -+ -+ return FALSE; -+} -+ -+static UINT32 sha_size (EFI_GUID Type) -+{ -+ EFI_GUID Sha1 = EFI_CERT_SHA1_GUID; -+ EFI_GUID Sha224 = EFI_CERT_SHA224_GUID; -+ EFI_GUID Sha256 = EFI_CERT_SHA256_GUID; -+ EFI_GUID Sha384 = EFI_CERT_SHA384_GUID; -+ EFI_GUID Sha512 = EFI_CERT_SHA512_GUID; -+ -+ if (CompareGuid(&Type, &Sha1) == 0) -+ return SHA1_DIGEST_SIZE; -+ else if (CompareGuid(&Type, &Sha224) == 0) -+ return SHA224_DIGEST_LENGTH; -+ else if (CompareGuid(&Type, &Sha256) == 0) -+ return SHA256_DIGEST_SIZE; -+ else if (CompareGuid(&Type, &Sha384) == 0) -+ return SHA384_DIGEST_LENGTH; -+ else if (CompareGuid(&Type, &Sha512) == 0) -+ return SHA512_DIGEST_LENGTH; -+ -+ return 0; -+} -+ -+static BOOLEAN is_valid_siglist (EFI_GUID Type, UINT32 SigSize) -+{ -+ EFI_GUID CertType = X509_GUID; -+ UINT32 hash_sig_size; -+ -+ if (CompareGuid (&Type, &CertType) == 0 && SigSize != 0) -+ return TRUE; -+ -+ if (!is_sha_hash (Type)) -+ return FALSE; -+ -+ hash_sig_size = sha_size (Type) + sizeof(EFI_GUID); -+ if (SigSize != hash_sig_size) -+ return FALSE; -+ -+ return TRUE; -+} -+ - static UINT32 count_keys(void *Data, UINTN DataSize) - { - EFI_SIGNATURE_LIST *CertList = Data; -- EFI_GUID CertType = X509_GUID; -- EFI_GUID HashType = EFI_CERT_SHA256_GUID; - UINTN dbsize = DataSize; - UINT32 MokNum = 0; - - while ((dbsize > 0) && (dbsize >= CertList->SignatureListSize)) { -- if ((CompareGuid (&CertList->SignatureType, &CertType) != 0) && -- (CompareGuid (&CertList->SignatureType, &HashType) != 0)) { -- console_notify(L"Doesn't look like a key or hash"); -- dbsize -= CertList->SignatureListSize; -- CertList = (EFI_SIGNATURE_LIST *) ((UINT8 *) CertList + -- CertList->SignatureListSize); -- continue; -+ if (CertList->SignatureListSize == 0 || -+ CertList->SignatureListSize <= CertList->SignatureSize) { -+ console_errorbox(L"Corrupted signature list"); -+ return 0; - } - -- if ((CompareGuid (&CertList->SignatureType, &CertType) != 0) && -- (CertList->SignatureSize != 48)) { -- console_notify(L"Doesn't look like a valid hash"); -- dbsize -= CertList->SignatureListSize; -- CertList = (EFI_SIGNATURE_LIST *) ((UINT8 *) CertList + -- CertList->SignatureListSize); -- continue; -+ if (!is_valid_siglist(CertList->SignatureType, CertList->SignatureSize)) { -+ console_errorbox(L"Invalid signature list found"); -+ return 0; - } - - MokNum++; -@@ -134,7 +190,6 @@ static MokListNode *build_mok_list(UINT3 - EFI_SIGNATURE_LIST *CertList = Data; - EFI_SIGNATURE_DATA *Cert; - EFI_GUID CertType = X509_GUID; -- EFI_GUID HashType = EFI_CERT_SHA256_GUID; - UINTN dbsize = DataSize; - UINTN count = 0; - -@@ -146,21 +201,8 @@ static MokListNode *build_mok_list(UINT3 - } - - while ((dbsize > 0) && (dbsize >= CertList->SignatureListSize)) { -- if ((CompareGuid (&CertList->SignatureType, &CertType) != 0) && -- (CompareGuid (&CertList->SignatureType, &HashType) != 0)) { -- dbsize -= CertList->SignatureListSize; -- CertList = (EFI_SIGNATURE_LIST *)((UINT8 *) CertList + -- CertList->SignatureListSize); -- continue; -- } -- -- if ((CompareGuid (&CertList->SignatureType, &HashType) == 0) && -- (CertList->SignatureSize != 48)) { -- dbsize -= CertList->SignatureListSize; -- CertList = (EFI_SIGNATURE_LIST *)((UINT8 *) CertList + -- CertList->SignatureListSize); -- continue; -- } -+ /* Omit the signature check here since we already did it -+ in count_keys() */ - - Cert = (EFI_SIGNATURE_DATA *) (((UINT8 *) CertList) + - sizeof (EFI_SIGNATURE_LIST) + CertList->SignatureHeaderSize); -@@ -380,22 +422,46 @@ static void show_x509_info (X509 *X509Ce - FreePool(text); - } - --static void show_sha256_digest (UINT8 *hash) -+static void show_sha_digest (EFI_GUID Type, UINT8 *hash) - { -+ EFI_GUID Sha1 = EFI_CERT_SHA1_GUID; -+ EFI_GUID Sha224 = EFI_CERT_SHA224_GUID; -+ EFI_GUID Sha256 = EFI_CERT_SHA256_GUID; -+ EFI_GUID Sha384 = EFI_CERT_SHA384_GUID; -+ EFI_GUID Sha512 = EFI_CERT_SHA512_GUID; - CHAR16 *text[5]; - POOL_PRINT hash_string1; - POOL_PRINT hash_string2; - int i; -+ int length; -+ -+ if (CompareGuid(&Type, &Sha1) == 0) { -+ length = SHA1_DIGEST_SIZE; -+ text[0] = L"SHA1 hash"; -+ } else if (CompareGuid(&Type, &Sha224) == 0) { -+ length = SHA224_DIGEST_LENGTH; -+ text[0] = L"SHA224 hash"; -+ } else if (CompareGuid(&Type, &Sha256) == 0) { -+ length = SHA256_DIGEST_SIZE; -+ text[0] = L"SHA256 hash"; -+ } else if (CompareGuid(&Type, &Sha384) == 0) { -+ length = SHA384_DIGEST_LENGTH; -+ text[0] = L"SHA384 hash"; -+ } else if (CompareGuid(&Type, &Sha512) == 0) { -+ length = SHA512_DIGEST_LENGTH; -+ text[0] = L"SHA512 hash"; -+ } else { -+ return; -+ } - - ZeroMem(&hash_string1, sizeof(hash_string1)); - ZeroMem(&hash_string2, sizeof(hash_string2)); - -- text[0] = L"SHA256 hash"; - text[1] = L""; - -- for (i=0; i<16; i++) -+ for (i=0; iSignatureListSize = list[i].MokSize + - sizeof(EFI_SIGNATURE_LIST); -- CertList->SignatureSize = SHA256_DIGEST_SIZE + sizeof(EFI_GUID); -+ CertList->SignatureSize = sha_size(list[i].Type) + sizeof(EFI_GUID); - - CopyMem(CertData, list[i].Mok, list[i].MokSize); - } -@@ -1043,10 +1111,9 @@ static void mem_move (void *dest, void * - d[i] = s[i]; - } - --static void delete_hash_in_list (UINT8 *hash, UINT32 hash_size, -+static void delete_hash_in_list (EFI_GUID Type, UINT8 *hash, UINT32 hash_size, - MokListNode *mok, INTN mok_num) - { -- EFI_GUID HashType = EFI_CERT_SHA256_GUID; - UINT32 sig_size; - UINT32 list_num; - int i, del_ind; -@@ -1056,7 +1123,7 @@ static void delete_hash_in_list (UINT8 * - sig_size = hash_size + sizeof(EFI_GUID); - - for (i = 0; i < mok_num; i++) { -- if ((CompareGuid(&(mok[i].Type), &HashType) != 0) || -+ if ((CompareGuid(&(mok[i].Type), &Type) != 0) || - (mok[i].MokSize < sig_size)) - continue; - -@@ -1086,7 +1153,7 @@ static void delete_hash_in_list (UINT8 * - } - } - --static void delete_hash_list (void *hash_list, UINT32 list_size, -+static void delete_hash_list (EFI_GUID Type, void *hash_list, UINT32 list_size, - MokListNode *mok, INTN mok_num) - { - UINT32 hash_size; -@@ -1095,7 +1162,7 @@ static void delete_hash_list (void *hash - UINT8 *hash; - int i; - -- hash_size = SHA256_DIGEST_SIZE; -+ hash_size = sha_size (Type); - sig_size = hash_size + sizeof(EFI_GUID); - if (list_size < sig_size) - return; -@@ -1105,7 +1172,7 @@ static void delete_hash_list (void *hash - hash = hash_list + sizeof(EFI_GUID); - - for (i = 0; i < hash_num; i++) { -- delete_hash_in_list (hash, hash_size, mok, mok_num); -+ delete_hash_in_list (Type, hash, hash_size, mok, mok_num); - hash += sig_size; - } - } -@@ -1114,7 +1181,6 @@ static EFI_STATUS delete_keys (void *Mok - { - EFI_GUID shim_lock_guid = SHIM_LOCK_GUID; - EFI_GUID CertType = X509_GUID; -- EFI_GUID HashType = EFI_CERT_SHA256_GUID; - EFI_STATUS efi_status; - CHAR16 *db_name; - CHAR16 *auth_name; -@@ -1161,7 +1227,13 @@ static EFI_STATUS delete_keys (void *Mok - - efi_status = get_variable_attr (db_name, &MokListData, &MokListDataSize, - shim_lock_guid, &attributes); -- if (attributes & EFI_VARIABLE_RUNTIME_ACCESS) { -+ if (efi_status != EFI_SUCCESS) { -+ if (MokX) -+ console_errorbox(L"Failed to retrieve MokListX"); -+ else -+ console_errorbox(L"Failed to retrieve MokList"); -+ return EFI_ABORTED; -+ } else if (attributes & EFI_VARIABLE_RUNTIME_ACCESS) { - if (MokX) { - err_str1 = L"MokListX is compromised!"; - err_str2 = L"Erase all keys in MokListX!"; -@@ -1170,7 +1242,11 @@ static EFI_STATUS delete_keys (void *Mok - err_str2 = L"Erase all keys in MokList!"; - } - console_alertbox((CHAR16 *[]){err_str1, err_str2, NULL}); -- LibDeleteVariable(db_name, &shim_lock_guid); -+ uefi_call_wrapper(RT->SetVariable, 5, db_name, -+ &shim_lock_guid, -+ EFI_VARIABLE_NON_VOLATILE | -+ EFI_VARIABLE_BOOTSERVICE_ACCESS, -+ 0, NULL); - return EFI_ACCESS_DENIED; - } - -@@ -1180,23 +1256,56 @@ static EFI_STATUS delete_keys (void *Mok - - /* Construct lists */ - mok_num = count_keys(MokListData, MokListDataSize); -+ if (mok_num == 0) { -+ if (MokX) { -+ err_str1 = L"Failed to construct the key list of MokListX"; -+ err_str2 = L"Reset MokListX!"; -+ } else { -+ err_str1 = L"Failed to construct the key list of MokList"; -+ err_str2 = L"Reset MokList!"; -+ } -+ console_alertbox((CHAR16 *[]){err_str1, err_str2, NULL}); -+ uefi_call_wrapper(RT->SetVariable, 5, db_name, -+ &shim_lock_guid, -+ EFI_VARIABLE_NON_VOLATILE | -+ EFI_VARIABLE_BOOTSERVICE_ACCESS, -+ 0, NULL); -+ efi_status = EFI_ABORTED; -+ goto error; -+ } - mok = build_mok_list(mok_num, MokListData, MokListDataSize); -+ if (!mok) { -+ console_errorbox(L"Failed to construct key list"); -+ efi_status = EFI_ABORTED; -+ goto error; -+ } - del_num = count_keys(MokDel, MokDelSize); -+ if (del_num == 0) { -+ console_errorbox(L"Invalid key delete list"); -+ efi_status = EFI_ABORTED; -+ goto error; -+ } - del_key = build_mok_list(del_num, MokDel, MokDelSize); -+ if (!del_key) { -+ console_errorbox(L"Failed to construct key list"); -+ efi_status = EFI_ABORTED; -+ goto error; -+ } - - /* Search and destroy */ - for (i = 0; i < del_num; i++) { - if (CompareGuid(&(del_key[i].Type), &CertType) == 0) { - delete_cert(del_key[i].Mok, del_key[i].MokSize, - mok, mok_num); -- } else if (CompareGuid(&(del_key[i].Type), &HashType) == 0) { -- delete_hash_list(del_key[i].Mok, del_key[i].MokSize, -- mok, mok_num); -+ } else if (is_sha_hash(del_key[i].Type)) { -+ delete_hash_list(del_key[i].Type, del_key[i].Mok, -+ del_key[i].MokSize, mok, mok_num); - } - } - - efi_status = write_back_mok_list(mok, mok_num, MokX); - -+error: - if (MokListData) - FreePool(MokListData); - if (mok) diff --git a/shim-mokx-support.patch b/shim-mokx-support.patch index dab9e13..3d40a61 100644 --- a/shim-mokx-support.patch +++ b/shim-mokx-support.patch @@ -1,7 +1,7 @@ -From 58b8e54ef60d488886a9f0d0877b7187eb200d07 Mon Sep 17 00:00:00 2001 +From 72a6913fa790c6d504f87eefddd1b2b392185b79 Mon Sep 17 00:00:00 2001 From: Gary Ching-Pang Lin Date: Thu, 24 Oct 2013 17:02:08 +0800 -Subject: [PATCH 01/10] Support MOK blacklist +Subject: [PATCH 01/16] Support MOK blacklist The new blacklist, MokListX, stores the keys and hashes that are banned. @@ -12,148 +12,11 @@ Signed-off-by: Gary Ching-Pang Lin shim.c | 3 +- 2 files changed, 202 insertions(+), 42 deletions(-) -Index: shim-0.7/MokManager.c -=================================================================== ---- shim-0.7.orig/MokManager.c -+++ shim-0.7/MokManager.c -@@ -165,9 +165,16 @@ static MokListNode *build_mok_list(UINT3 - Cert = (EFI_SIGNATURE_DATA *) (((UINT8 *) CertList) + - sizeof (EFI_SIGNATURE_LIST) + CertList->SignatureHeaderSize); - -- list[count].MokSize = CertList->SignatureSize - sizeof(EFI_GUID); -- list[count].Mok = (void *)Cert->SignatureData; - list[count].Type = CertList->SignatureType; -+ if (CompareGuid (&CertList->SignatureType, &CertType) == 0) { -+ list[count].MokSize = CertList->SignatureSize - -+ sizeof(EFI_GUID); -+ list[count].Mok = (void *)Cert->SignatureData; -+ } else { -+ list[count].MokSize = CertList->SignatureListSize - -+ sizeof(EFI_SIGNATURE_LIST); -+ list[count].Mok = (void *)Cert; -+ } - - count++; - dbsize -= CertList->SignatureListSize; -@@ -373,7 +380,7 @@ static void show_x509_info (X509 *X509Ce - FreePool(text); - } - --static void show_efi_hash (UINT8 *hash) -+static void show_sha256_digest (UINT8 *hash) - { - CHAR16 *text[5]; - POOL_PRINT hash_string1; -@@ -404,16 +411,68 @@ static void show_efi_hash (UINT8 *hash) - FreePool(hash_string2.str); - } - --static void show_mok_info (void *Mok, UINTN MokSize) -+static void show_efi_hash (void *Mok, UINTN MokSize) -+{ -+ UINTN sig_size; -+ UINTN hash_num; -+ UINT8 *hash; -+ CHAR16 **menu_strings; -+ int key_num = 0; -+ int i; -+ -+ sig_size = SHA256_DIGEST_SIZE + sizeof(EFI_GUID); -+ if ((MokSize % sig_size) != 0) { -+ console_errorbox(L"Corrupted Hash List"); -+ return; -+ } -+ hash_num = MokSize / sig_size; -+ -+ if (hash_num == 1) { -+ hash = (UINT8 *)Mok + sizeof(EFI_GUID); -+ show_sha256_digest(hash); -+ return; -+ } -+ -+ menu_strings = AllocateZeroPool(sizeof(CHAR16 *) * (hash_num + 2)); -+ if (!menu_strings) { -+ console_errorbox(L"Out of Resources"); -+ return; -+ } -+ for (i=0; i= hash_num) -+ break; -+ -+ hash = (UINT8 *)Mok + sig_size*key_num + sizeof(EFI_GUID); -+ show_sha256_digest(hash); -+ } -+ -+ for (i=0; menu_strings[i] != NULL; i++) -+ FreePool(menu_strings[i]); -+ -+ FreePool(menu_strings); -+} -+ -+static void show_mok_info (EFI_GUID Type, void *Mok, UINTN MokSize) - { - EFI_STATUS efi_status; - UINT8 hash[SHA1_DIGEST_SIZE]; - X509 *X509Cert; -+ EFI_GUID CertType = X509_GUID; -+ EFI_GUID HashType = EFI_CERT_SHA256_GUID; - - if (!Mok || MokSize == 0) - return; - -- if (MokSize != SHA256_DIGEST_SIZE) { -+ if (CompareGuid (&Type, &CertType) == 0) { - efi_status = get_sha1sum(Mok, MokSize, hash); - - if (efi_status != EFI_SUCCESS) { -@@ -429,8 +488,8 @@ static void show_mok_info (void *Mok, UI - console_notify(L"Not a valid X509 certificate"); - return; - } -- } else { -- show_efi_hash(Mok); -+ } else if (CompareGuid (&Type, &HashType) == 0) { -+ show_efi_hash(Mok, MokSize); - } - } - -@@ -438,7 +497,7 @@ static EFI_STATUS list_keys (void *KeyLi - { - UINT32 MokNum = 0; - MokListNode *keys = NULL; -- INTN key_num = 0; -+ int key_num = 0; - CHAR16 **menu_strings; - unsigned int i; - -@@ -470,12 +529,13 @@ static EFI_STATUS list_keys (void *KeyLi - - while (key_num < MokNum) { - key_num = console_select((CHAR16 *[]){ title, NULL }, -- menu_strings, 0); -+ menu_strings, key_num); - -- if (key_num < 0) -+ if (key_num < 0 || key_num >= MokNum) - break; -- else if (key_num < MokNum) -- show_mok_info(keys[key_num].Mok, keys[key_num].MokSize); -+ -+ show_mok_info(keys[key_num].Type, keys[key_num].Mok, -+ keys[key_num].MokSize); - } - - for (i=0; menu_strings[i] != NULL; i++) -@@ -707,23 +767,37 @@ static EFI_STATUS match_password (PASSWO +diff --git a/MokManager.c b/MokManager.c +index ee29051..29ea4db 100644 +--- a/MokManager.c ++++ b/MokManager.c +@@ -738,23 +738,37 @@ static EFI_STATUS match_password (PASSWORD_CRYPT *pw_crypt, return EFI_SUCCESS; } @@ -194,7 +57,7 @@ Index: shim-0.7/MokManager.c return efi_status; } -@@ -740,14 +814,14 @@ static EFI_STATUS store_keys (void *MokN +@@ -771,14 +785,14 @@ static EFI_STATUS store_keys (void *MokNew, UINTN MokNewSize, int authenticate) if (!MokNewSize) { /* Delete MOK */ @@ -211,7 +74,7 @@ Index: shim-0.7/MokManager.c &shim_lock_guid, EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS -@@ -763,17 +837,25 @@ static EFI_STATUS store_keys (void *MokN +@@ -794,17 +808,25 @@ static EFI_STATUS store_keys (void *MokNew, UINTN MokNewSize, int authenticate) return EFI_SUCCESS; } @@ -222,13 +85,13 @@ Index: shim-0.7/MokManager.c EFI_GUID shim_lock_guid = SHIM_LOCK_GUID; EFI_STATUS efi_status; + CHAR16 *title; -+ + +- if (list_keys(MokNew, MokNewSize, L"[Enroll MOK]") != EFI_SUCCESS) + if (MokX) + title = L"[Enroll MOKX]"; + else + title = L"[Enroll MOK]"; - -- if (list_keys(MokNew, MokNewSize, L"[Enroll MOK]") != EFI_SUCCESS) ++ + if (list_keys(MokNew, MokNewSize, title) != EFI_SUCCESS) return 0; @@ -240,7 +103,7 @@ Index: shim-0.7/MokManager.c if (efi_status != EFI_SUCCESS) { console_notify(L"Failed to enroll keys\n"); -@@ -781,8 +863,13 @@ static UINTN mok_enrollment_prompt (void +@@ -812,8 +834,13 @@ static UINTN mok_enrollment_prompt (void *MokNew, UINTN MokNewSize, int auth) { } if (auth) { @@ -256,7 +119,7 @@ Index: shim-0.7/MokManager.c console_notify(L"The system must now be rebooted"); uefi_call_wrapper(RT->ResetSystem, 4, EfiResetWarm, -@@ -794,25 +881,35 @@ static UINTN mok_enrollment_prompt (void +@@ -825,25 +852,35 @@ static UINTN mok_enrollment_prompt (void *MokNew, UINTN MokNewSize, int auth) { return 0; } @@ -297,7 +160,7 @@ Index: shim-0.7/MokManager.c console_notify(L"The system must now be rebooted"); uefi_call_wrapper(RT->ResetSystem, 4, EfiResetWarm, -@@ -821,15 +918,23 @@ static INTN mok_reset_prompt () +@@ -852,7 +889,8 @@ static INTN mok_reset_prompt () return -1; } @@ -306,10 +169,8 @@ Index: shim-0.7/MokManager.c + BOOLEAN MokX) { EFI_GUID shim_lock_guid = SHIM_LOCK_GUID; -+ EFI_GUID CertType = X509_GUID; EFI_STATUS efi_status; - EFI_SIGNATURE_LIST *CertList; - EFI_SIGNATURE_DATA *CertData; +@@ -861,6 +899,12 @@ static EFI_STATUS write_back_mok_list (MokListNode *list, INTN key_num) void *Data = NULL, *ptr; INTN DataSize = 0; int i; @@ -322,36 +183,8 @@ Index: shim-0.7/MokManager.c for (i = 0; i < key_num; i++) { if (list[i].Mok == NULL) -@@ -854,20 +959,27 @@ static EFI_STATUS write_back_mok_list (M - sizeof(EFI_SIGNATURE_LIST)); - - CertList->SignatureType = list[i].Type; -- CertList->SignatureListSize = list[i].MokSize + -- sizeof(EFI_SIGNATURE_LIST) + -- sizeof(EFI_SIGNATURE_DATA) - 1; - CertList->SignatureHeaderSize = 0; -- CertList->SignatureSize = list[i].MokSize + sizeof(EFI_GUID); - -- CertData->SignatureOwner = shim_lock_guid; -- CopyMem(CertData->SignatureData, list[i].Mok, list[i].MokSize); -+ if (CompareGuid(&(list[i].Type), &CertType) == 0) { -+ CertList->SignatureListSize = list[i].MokSize + -+ sizeof(EFI_SIGNATURE_LIST) + -+ sizeof(EFI_GUID); -+ CertList->SignatureSize = list[i].MokSize + sizeof(EFI_GUID); - -- ptr = (uint8_t *)ptr + sizeof(EFI_SIGNATURE_LIST) + -- sizeof(EFI_GUID) + list[i].MokSize; -+ CertData->SignatureOwner = shim_lock_guid; -+ CopyMem(CertData->SignatureData, list[i].Mok, list[i].MokSize); -+ } else { -+ CertList->SignatureListSize = list[i].MokSize + -+ sizeof(EFI_SIGNATURE_LIST); -+ CertList->SignatureSize = SHA256_DIGEST_SIZE + sizeof(EFI_GUID); -+ -+ CopyMem(CertData, list[i].Mok, list[i].MokSize); -+ } -+ ptr = (uint8_t *)ptr + CertList->SignatureListSize; +@@ -898,7 +942,7 @@ static EFI_STATUS write_back_mok_list (MokListNode *list, INTN key_num) + sizeof(EFI_GUID) + list[i].MokSize; } - efi_status = uefi_call_wrapper(RT->SetVariable, 5, L"MokList", @@ -359,125 +192,14 @@ Index: shim-0.7/MokManager.c &shim_lock_guid, EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS, -@@ -883,10 +995,125 @@ static EFI_STATUS write_back_mok_list (M +@@ -914,10 +958,14 @@ static EFI_STATUS write_back_mok_list (MokListNode *list, INTN key_num) return EFI_SUCCESS; } -static EFI_STATUS delete_keys (void *MokDel, UINTN MokDelSize) -+static void delete_cert (void *key, UINT32 key_size, -+ MokListNode *mok, INTN mok_num) -+{ -+ EFI_GUID CertType = X509_GUID; -+ int i; -+ -+ for (i = 0; i < mok_num; i++) { -+ if (CompareGuid(&(mok[i].Type), &CertType) != 0) -+ continue; -+ -+ if (mok[i].MokSize == key_size && -+ CompareMem(key, mok[i].Mok, key_size) == 0) { -+ /* Remove the key */ -+ mok[i].Mok = NULL; -+ mok[i].MokSize = 0; -+ } -+ } -+} -+ -+static int match_hash (UINT8 *hash, UINT32 hash_size, int start, -+ void *hash_list, UINT32 list_num) -+{ -+ UINT8 *ptr; -+ int i; -+ -+ ptr = hash_list + sizeof(EFI_GUID); -+ for (i = start; i < list_num; i++) { -+ if (CompareMem(hash, ptr, hash_size) == 0) -+ return i; -+ ptr += hash_size + sizeof(EFI_GUID); -+ } -+ -+ return -1; -+} -+ -+static void mem_move (void *dest, void *src, UINTN size) -+{ -+ UINT8 *d, *s; -+ int i; -+ -+ d = (UINT8 *)dest; -+ s = (UINT8 *)src; -+ for (i = 0; i < size; i++) -+ d[i] = s[i]; -+} -+ -+static void delete_hash_in_list (UINT8 *hash, UINT32 hash_size, -+ MokListNode *mok, INTN mok_num) -+{ -+ EFI_GUID HashType = EFI_CERT_SHA256_GUID; -+ UINT32 sig_size; -+ int i, del_ind; -+ void *start, *end; -+ UINT32 remain; -+ -+ sig_size = hash_size + sizeof(EFI_GUID); -+ -+ for (i = 0; i < mok_num; i++) { -+ if ((CompareGuid(&(mok[i].Type), &HashType) != 0) || -+ (mok[i].MokSize < sig_size)) -+ continue; -+ -+ del_ind = match_hash(hash, hash_size, 0, mok[i].Mok, -+ mok[i].MokSize); -+ while (del_ind >= 0) { -+ /* Remove the hash */ -+ if (sig_size == mok[i].MokSize) { -+ mok[i].Mok = NULL; -+ mok[i].MokSize = 0; -+ break; -+ } -+ -+ start = mok[i].Mok + del_ind * sig_size; -+ end = start + sig_size; -+ remain = mok[i].MokSize - (del_ind + 1)*sig_size; -+ -+ mem_move(start, end, remain); -+ mok[i].MokSize -= sig_size; -+ -+ del_ind = match_hash(hash, hash_size, del_ind, -+ mok[i].Mok, mok[i].MokSize); -+ } -+ } -+} -+ -+static void delete_hash_list (void *hash_list, UINT32 list_size, -+ MokListNode *mok, INTN mok_num) -+{ -+ UINT32 hash_size; -+ UINT32 hash_num; -+ UINT32 sig_size; -+ UINT8 *hash; -+ int i; -+ -+ hash_size = SHA256_DIGEST_SIZE; -+ sig_size = hash_size + sizeof(EFI_GUID); -+ if (list_size < sig_size) -+ return; -+ -+ hash_num = list_size / sig_size; -+ -+ hash = hash_list + sizeof(EFI_GUID); -+ -+ for (i = 0; i < hash_num; i++) { -+ delete_hash_in_list (hash, hash_size, mok, mok_num); -+ hash += sig_size; -+ } -+} -+ +static EFI_STATUS delete_keys (void *MokDel, UINTN MokDelSize, BOOLEAN MokX) { EFI_GUID shim_lock_guid = SHIM_LOCK_GUID; -+ EFI_GUID CertType = X509_GUID; -+ EFI_GUID HashType = EFI_CERT_SHA256_GUID; EFI_STATUS efi_status; + CHAR16 *db_name; + CHAR16 *auth_name; @@ -486,12 +208,9 @@ Index: shim-0.7/MokManager.c UINT8 auth[PASSWORD_CRYPT_SIZE]; UINTN auth_size = PASSWORD_CRYPT_SIZE; UINT32 attributes; -@@ -894,15 +1121,26 @@ static EFI_STATUS delete_keys (void *Mok - UINTN MokListDataSize = 0; - MokListNode *mok, *del_key; +@@ -927,13 +975,24 @@ static EFI_STATUS delete_keys (void *MokDel, UINTN MokDelSize) INTN mok_num, del_num; -- int i, j; -+ int i; + int i, j; - efi_status = uefi_call_wrapper(RT->GetVariable, 5, L"MokDelAuth", + if (MokX) { @@ -516,7 +235,7 @@ Index: shim-0.7/MokManager.c return efi_status; } -@@ -915,15 +1153,18 @@ static EFI_STATUS delete_keys (void *Mok +@@ -946,15 +1005,18 @@ static EFI_STATUS delete_keys (void *MokDel, UINTN MokDelSize) if (efi_status != EFI_SUCCESS) return EFI_ACCESS_DENIED; @@ -541,25 +260,7 @@ Index: shim-0.7/MokManager.c return EFI_ACCESS_DENIED; } -@@ -939,19 +1180,16 @@ static EFI_STATUS delete_keys (void *Mok - - /* Search and destroy */ - for (i = 0; i < del_num; i++) { -- UINT32 key_size = del_key[i].MokSize; -- void *key = del_key[i].Mok; -- for (j = 0; j < mok_num; j++) { -- if (mok[j].MokSize == key_size && -- CompareMem(key, mok[j].Mok, key_size) == 0) { -- /* Remove the key */ -- mok[j].Mok = NULL; -- mok[j].MokSize = 0; -- } -+ if (CompareGuid(&(del_key[i].Type), &CertType) == 0) { -+ delete_cert(del_key[i].Mok, del_key[i].MokSize, -+ mok, mok_num); -+ } else if (CompareGuid(&(del_key[i].Type), &HashType) == 0) { -+ delete_hash_list(del_key[i].Mok, del_key[i].MokSize, -+ mok, mok_num); +@@ -982,7 +1044,7 @@ static EFI_STATUS delete_keys (void *MokDel, UINTN MokDelSize) } } @@ -568,7 +269,7 @@ Index: shim-0.7/MokManager.c if (MokListData) FreePool(MokListData); -@@ -963,27 +1201,38 @@ static EFI_STATUS delete_keys (void *Mok +@@ -994,27 +1056,38 @@ static EFI_STATUS delete_keys (void *MokDel, UINTN MokDelSize) return efi_status; } @@ -612,7 +313,7 @@ Index: shim-0.7/MokManager.c console_notify(L"The system must now be rebooted"); uefi_call_wrapper(RT->ResetSystem, 4, EfiResetWarm, -@@ -1446,7 +1695,7 @@ static EFI_STATUS enroll_file (void *dat +@@ -1477,7 +1550,7 @@ static EFI_STATUS enroll_file (void *data, UINTN datasize, BOOLEAN hash) goto out; } @@ -621,7 +322,7 @@ Index: shim-0.7/MokManager.c out: if (mokbuffer) FreePool(mokbuffer); -@@ -1681,8 +1930,11 @@ static int draw_countdown() +@@ -1712,8 +1785,11 @@ static int draw_countdown() typedef enum { MOK_CONTINUE_BOOT, MOK_RESET_MOK, @@ -633,7 +334,7 @@ Index: shim-0.7/MokManager.c MOK_CHANGE_SB, MOK_SET_PW, MOK_CHANGE_DB, -@@ -1695,13 +1947,17 @@ static EFI_STATUS enter_mok_menu(EFI_HAN +@@ -1726,13 +1802,17 @@ static EFI_STATUS enter_mok_menu(EFI_HANDLE image_handle, void *MokDel, UINTN MokDelSize, void *MokSB, UINTN MokSBSize, void *MokPW, UINTN MokPWSize, @@ -652,7 +353,7 @@ Index: shim-0.7/MokManager.c UINTN menucount = 3, i = 0; EFI_STATUS efi_status; EFI_GUID shim_lock_guid = SHIM_LOCK_GUID; -@@ -1730,12 +1986,34 @@ static EFI_STATUS enter_mok_menu(EFI_HAN +@@ -1761,12 +1841,34 @@ static EFI_STATUS enter_mok_menu(EFI_HANDLE image_handle, (auth_size == SHA256_DIGEST_SIZE || auth_size == PASSWORD_CRYPT_SIZE)) MokDelAuth = 1; @@ -687,7 +388,7 @@ Index: shim-0.7/MokManager.c if (MokSB) menucount++; -@@ -1773,12 +2051,29 @@ static EFI_STATUS enter_mok_menu(EFI_HAN +@@ -1804,12 +1906,29 @@ static EFI_STATUS enter_mok_menu(EFI_HANDLE image_handle, i++; } @@ -718,7 +419,7 @@ Index: shim-0.7/MokManager.c if (MokSB) { menu_strings[i] = L"Change Secure Boot state"; menu_item[i] = MOK_CHANGE_SB; -@@ -1821,13 +2116,22 @@ static EFI_STATUS enter_mok_menu(EFI_HAN +@@ -1852,13 +1971,22 @@ static EFI_STATUS enter_mok_menu(EFI_HANDLE image_handle, case MOK_CONTINUE_BOOT: goto out; case MOK_RESET_MOK: @@ -744,7 +445,7 @@ Index: shim-0.7/MokManager.c break; case MOK_CHANGE_SB: mok_sb_prompt(MokSB, MokSBSize); -@@ -1861,13 +2165,15 @@ out: +@@ -1892,13 +2020,15 @@ out: static EFI_STATUS check_mok_request(EFI_HANDLE image_handle) { EFI_GUID shim_lock_guid = SHIM_LOCK_GUID; @@ -762,7 +463,7 @@ Index: shim-0.7/MokManager.c EFI_STATUS status; status = get_variable(L"MokNew", (UINT8 **)&MokNew, &MokNewSize, -@@ -1920,8 +2226,29 @@ static EFI_STATUS check_mok_request(EFI_ +@@ -1951,8 +2081,29 @@ static EFI_STATUS check_mok_request(EFI_HANDLE image_handle) console_error(L"Could not retrieve MokDB", status); } @@ -793,7 +494,7 @@ Index: shim-0.7/MokManager.c if (MokNew) FreePool (MokNew); -@@ -1938,8 +2265,16 @@ static EFI_STATUS check_mok_request(EFI_ +@@ -1969,8 +2120,16 @@ static EFI_STATUS check_mok_request(EFI_HANDLE image_handle) if (MokDB) FreePool (MokDB); @@ -810,11 +511,572 @@ Index: shim-0.7/MokManager.c return EFI_SUCCESS; } -Index: shim-0.7/shim.c -=================================================================== ---- shim-0.7.orig/shim.c -+++ shim-0.7/shim.c -@@ -390,6 +390,7 @@ static EFI_STATUS check_blacklist (WIN_C +diff --git a/shim.c b/shim.c +index 8076caa..bab5e92 100644 +--- a/shim.c ++++ b/shim.c +@@ -1779,7 +1779,8 @@ EFI_STATUS check_mok_request(EFI_HANDLE image_handle) + + if (check_var(L"MokNew") || check_var(L"MokSB") || + check_var(L"MokPW") || check_var(L"MokAuth") || +- check_var(L"MokDel") || check_var(L"MokDB")) { ++ check_var(L"MokDel") || check_var(L"MokDB") || ++ check_var(L"MokXNew") || check_var(L"MokXDel")) { + efi_status = start_image(image_handle, MOK_MANAGER); + + if (efi_status != EFI_SUCCESS) { +-- +1.8.4.5 + + +From 697a7b7d80692ea6ed9b9a73ffde1d742eee8850 Mon Sep 17 00:00:00 2001 +From: Gary Ching-Pang Lin +Date: Thu, 24 Oct 2013 17:32:31 +0800 +Subject: [PATCH 02/16] MokManager: show the hash list properly + +Signed-off-by: Gary Ching-Pang Lin +--- + MokManager.c | 82 ++++++++++++++++++++++++++++++++++++++++++++++++++++-------- + 1 file changed, 71 insertions(+), 11 deletions(-) + +diff --git a/MokManager.c b/MokManager.c +index 29ea4db..2441026 100644 +--- a/MokManager.c ++++ b/MokManager.c +@@ -187,9 +187,16 @@ static MokListNode *build_mok_list(UINT32 num, void *Data, UINTN DataSize) { + return NULL; + } + +- list[count].MokSize = CertList->SignatureSize - sizeof(EFI_GUID); +- list[count].Mok = (void *)Cert->SignatureData; + list[count].Type = CertList->SignatureType; ++ if (CompareGuid (&CertList->SignatureType, &CertType) == 0) { ++ list[count].MokSize = CertList->SignatureSize - ++ sizeof(EFI_GUID); ++ list[count].Mok = (void *)Cert->SignatureData; ++ } else { ++ list[count].MokSize = CertList->SignatureListSize - ++ sizeof(EFI_SIGNATURE_LIST); ++ list[count].Mok = (void *)Cert; ++ } + + /* MOK out of bounds? */ + if (list[count].MokSize > (unsigned long)end - +@@ -402,7 +409,7 @@ static void show_x509_info (X509 *X509Cert, UINT8 *hash) + FreePool(text); + } + +-static void show_efi_hash (UINT8 *hash) ++static void show_sha256_digest (UINT8 *hash) + { + CHAR16 *text[5]; + POOL_PRINT hash_string1; +@@ -433,16 +440,68 @@ static void show_efi_hash (UINT8 *hash) + FreePool(hash_string2.str); + } + +-static void show_mok_info (void *Mok, UINTN MokSize) ++static void show_efi_hash (void *Mok, UINTN MokSize) ++{ ++ UINTN sig_size; ++ UINTN hash_num; ++ UINT8 *hash; ++ CHAR16 **menu_strings; ++ int key_num = 0; ++ int i; ++ ++ sig_size = SHA256_DIGEST_SIZE + sizeof(EFI_GUID); ++ if ((MokSize % sig_size) != 0) { ++ console_errorbox(L"Corrupted Hash List"); ++ return; ++ } ++ hash_num = MokSize / sig_size; ++ ++ if (hash_num == 1) { ++ hash = (UINT8 *)Mok + sizeof(EFI_GUID); ++ show_sha256_digest(hash); ++ return; ++ } ++ ++ menu_strings = AllocateZeroPool(sizeof(CHAR16 *) * (hash_num + 2)); ++ if (!menu_strings) { ++ console_errorbox(L"Out of Resources"); ++ return; ++ } ++ for (i=0; i= hash_num) ++ break; ++ ++ hash = (UINT8 *)Mok + sig_size*key_num + sizeof(EFI_GUID); ++ show_sha256_digest(hash); ++ } ++ ++ for (i=0; menu_strings[i] != NULL; i++) ++ FreePool(menu_strings[i]); ++ ++ FreePool(menu_strings); ++} ++ ++static void show_mok_info (EFI_GUID Type, void *Mok, UINTN MokSize) + { + EFI_STATUS efi_status; + UINT8 hash[SHA1_DIGEST_SIZE]; + X509 *X509Cert; ++ EFI_GUID CertType = X509_GUID; ++ EFI_GUID HashType = EFI_CERT_SHA256_GUID; + + if (!Mok || MokSize == 0) + return; + +- if (MokSize != SHA256_DIGEST_SIZE) { ++ if (CompareGuid (&Type, &CertType) == 0) { + efi_status = get_sha1sum(Mok, MokSize, hash); + + if (efi_status != EFI_SUCCESS) { +@@ -458,8 +517,8 @@ static void show_mok_info (void *Mok, UINTN MokSize) + console_notify(L"Not a valid X509 certificate"); + return; + } +- } else { +- show_efi_hash(Mok); ++ } else if (CompareGuid (&Type, &HashType) == 0) { ++ show_efi_hash(Mok, MokSize); + } + } + +@@ -467,7 +526,7 @@ static EFI_STATUS list_keys (void *KeyList, UINTN KeyListSize, CHAR16 *title) + { + INTN MokNum = 0; + MokListNode *keys = NULL; +- INTN key_num = 0; ++ int key_num = 0; + CHAR16 **menu_strings; + int i; + +@@ -503,10 +562,11 @@ static EFI_STATUS list_keys (void *KeyList, UINTN KeyListSize, CHAR16 *title) + key_num = console_select((CHAR16 *[]){ title, NULL }, + menu_strings, 0); + +- if (key_num < 0) ++ if (key_num < 0 || key_num >= MokNum) + break; +- else if (key_num < MokNum) +- show_mok_info(keys[key_num].Mok, keys[key_num].MokSize); ++ ++ show_mok_info(keys[key_num].Type, keys[key_num].Mok, ++ keys[key_num].MokSize); + } + + for (i=0; menu_strings[i] != NULL; i++) +-- +1.8.4.5 + + +From 22b51db7daa834f8746ce3bc4e6670f21ea2311b Mon Sep 17 00:00:00 2001 +From: Gary Ching-Pang Lin +Date: Fri, 25 Oct 2013 16:54:25 +0800 +Subject: [PATCH 03/16] MokManager: delete the hash properly + +Signed-off-by: Gary Ching-Pang Lin +--- + MokManager.c | 124 ++++++++++++++++++++++++++++++++++++++++++++++++++++++----- + 1 file changed, 114 insertions(+), 10 deletions(-) + +diff --git a/MokManager.c b/MokManager.c +index 2441026..59df4a6 100644 +--- a/MokManager.c ++++ b/MokManager.c +@@ -1018,9 +1018,116 @@ static EFI_STATUS write_back_mok_list (MokListNode *list, INTN key_num, + return EFI_SUCCESS; + } + ++static void delete_cert (void *key, UINT32 key_size, ++ MokListNode *mok, INTN mok_num) ++{ ++ EFI_GUID CertType = X509_GUID; ++ int i; ++ ++ for (i = 0; i < mok_num; i++) { ++ if (CompareGuid(&(mok[i].Type), &CertType) != 0) ++ continue; ++ ++ if (mok[i].MokSize == key_size && ++ CompareMem(key, mok[i].Mok, key_size) == 0) { ++ /* Remove the key */ ++ mok[i].Mok = NULL; ++ mok[i].MokSize = 0; ++ } ++ } ++} ++ ++static int match_hash (UINT8 *hash, UINT32 hash_size, ++ void *hash_list, UINT32 list_num) ++{ ++ UINT8 *ptr; ++ int i; ++ ++ ptr = hash_list + sizeof(EFI_GUID); ++ for (i = 0; i < list_num; i++) { ++ if (CompareMem(hash, ptr, hash_size) == 0) ++ return i; ++ ptr += hash_size + sizeof(EFI_GUID); ++ } ++ ++ return -1; ++} ++ ++static void mem_move (void *dest, void *src, UINTN size) ++{ ++ UINT8 *d, *s; ++ int i; ++ ++ d = (UINT8 *)dest; ++ s = (UINT8 *)src; ++ for (i = 0; i < size; i++) ++ d[i] = s[i]; ++} ++ ++static void delete_hash_in_list (UINT8 *hash, UINT32 hash_size, ++ MokListNode *mok, INTN mok_num) ++{ ++ EFI_GUID HashType = EFI_CERT_SHA256_GUID; ++ UINT32 sig_size; ++ int i, del_ind; ++ void *start, *end; ++ UINT32 remain; ++ ++ sig_size = hash_size + sizeof(EFI_GUID); ++ ++ for (i = 0; i < mok_num; i++) { ++ if ((CompareGuid(&(mok[i].Type), &HashType) != 0) || ++ (mok[i].MokSize < sig_size)) ++ continue; ++ ++ del_ind = match_hash(hash, hash_size, mok[i].Mok, ++ mok[i].MokSize); ++ if (del_ind < 0) ++ continue; ++ /* Remove the hash */ ++ if (sig_size == mok[i].MokSize) { ++ mok[i].Mok = NULL; ++ mok[i].MokSize = 0; ++ } else { ++ start = mok[i].Mok + del_ind * sig_size; ++ end = start + sig_size; ++ remain = mok[i].MokSize - (del_ind + 1)*sig_size; ++ ++ mem_move(start, end, remain); ++ mok[i].MokSize -= sig_size; ++ } ++ } ++} ++ ++static void delete_hash_list (void *hash_list, UINT32 list_size, ++ MokListNode *mok, INTN mok_num) ++{ ++ UINT32 hash_size; ++ UINT32 hash_num; ++ UINT32 sig_size; ++ UINT8 *hash; ++ int i; ++ ++ hash_size = SHA256_DIGEST_SIZE; ++ sig_size = hash_size + sizeof(EFI_GUID); ++ if (list_size < sig_size) ++ return; ++ ++ hash_num = list_size / sig_size; ++ ++ hash = hash_list + sizeof(EFI_GUID); ++ ++ for (i = 0; i < hash_num; i++) { ++ delete_hash_in_list (hash, hash_size, mok, mok_num); ++ hash += sig_size; ++ } ++} ++ + static EFI_STATUS delete_keys (void *MokDel, UINTN MokDelSize, BOOLEAN MokX) + { + EFI_GUID shim_lock_guid = SHIM_LOCK_GUID; ++ EFI_GUID CertType = X509_GUID; ++ EFI_GUID HashType = EFI_CERT_SHA256_GUID; + EFI_STATUS efi_status; + CHAR16 *db_name; + CHAR16 *auth_name; +@@ -1033,7 +1140,7 @@ static EFI_STATUS delete_keys (void *MokDel, UINTN MokDelSize, BOOLEAN MokX) + UINTN MokListDataSize = 0; + MokListNode *mok, *del_key; + INTN mok_num, del_num; +- int i, j; ++ int i; + + if (MokX) { + db_name = L"MokListX"; +@@ -1092,15 +1199,12 @@ static EFI_STATUS delete_keys (void *MokDel, UINTN MokDelSize, BOOLEAN MokX) + + /* Search and destroy */ + for (i = 0; i < del_num; i++) { +- UINT32 key_size = del_key[i].MokSize; +- void *key = del_key[i].Mok; +- for (j = 0; j < mok_num; j++) { +- if (mok[j].MokSize == key_size && +- CompareMem(key, mok[j].Mok, key_size) == 0) { +- /* Remove the key */ +- mok[j].Mok = NULL; +- mok[j].MokSize = 0; +- } ++ if (CompareGuid(&(del_key[i].Type), &CertType) == 0) { ++ delete_cert(del_key[i].Mok, del_key[i].MokSize, ++ mok, mok_num); ++ } else if (CompareGuid(&(del_key[i].Type), &HashType) == 0) { ++ delete_hash_list(del_key[i].Mok, del_key[i].MokSize, ++ mok, mok_num); + } + } + +-- +1.8.4.5 + + +From 3c4c4f8e2b41a127aad6c7e967138639ed162ed1 Mon Sep 17 00:00:00 2001 +From: Gary Ching-Pang Lin +Date: Fri, 25 Oct 2013 17:05:10 +0800 +Subject: [PATCH 04/16] MokManager: Match all hashes in the list + +Signed-off-by: Gary Ching-Pang Lin +--- + MokManager.c | 24 ++++++++++++++---------- + 1 file changed, 14 insertions(+), 10 deletions(-) + +diff --git a/MokManager.c b/MokManager.c +index 59df4a6..31cc06a 100644 +--- a/MokManager.c ++++ b/MokManager.c +@@ -1037,14 +1037,14 @@ static void delete_cert (void *key, UINT32 key_size, + } + } + +-static int match_hash (UINT8 *hash, UINT32 hash_size, ++static int match_hash (UINT8 *hash, UINT32 hash_size, int start, + void *hash_list, UINT32 list_num) + { + UINT8 *ptr; + int i; + + ptr = hash_list + sizeof(EFI_GUID); +- for (i = 0; i < list_num; i++) { ++ for (i = start; i < list_num; i++) { + if (CompareMem(hash, ptr, hash_size) == 0) + return i; + ptr += hash_size + sizeof(EFI_GUID); +@@ -1080,21 +1080,25 @@ static void delete_hash_in_list (UINT8 *hash, UINT32 hash_size, + (mok[i].MokSize < sig_size)) + continue; + +- del_ind = match_hash(hash, hash_size, mok[i].Mok, ++ del_ind = match_hash(hash, hash_size, 0, mok[i].Mok, + mok[i].MokSize); +- if (del_ind < 0) +- continue; +- /* Remove the hash */ +- if (sig_size == mok[i].MokSize) { +- mok[i].Mok = NULL; +- mok[i].MokSize = 0; +- } else { ++ while (del_ind >= 0) { ++ /* Remove the hash */ ++ if (sig_size == mok[i].MokSize) { ++ mok[i].Mok = NULL; ++ mok[i].MokSize = 0; ++ break; ++ } ++ + start = mok[i].Mok + del_ind * sig_size; + end = start + sig_size; + remain = mok[i].MokSize - (del_ind + 1)*sig_size; + + mem_move(start, end, remain); + mok[i].MokSize -= sig_size; ++ ++ del_ind = match_hash(hash, hash_size, del_ind, ++ mok[i].Mok, mok[i].MokSize); + } + } + } +-- +1.8.4.5 + + +From 2b5292ad76908cbfeba28f9b212a421b1efc50d9 Mon Sep 17 00:00:00 2001 +From: Gary Ching-Pang Lin +Date: Fri, 25 Oct 2013 18:30:48 +0800 +Subject: [PATCH 05/16] MokManager: Write the hash list properly + +also return to the previous entry in the list + +Signed-off-by: Gary Ching-Pang Lin +--- + MokManager.c | 30 +++++++++++++++++++----------- + 1 file changed, 19 insertions(+), 11 deletions(-) + +diff --git a/MokManager.c b/MokManager.c +index 31cc06a..56839cc 100644 +--- a/MokManager.c ++++ b/MokManager.c +@@ -470,12 +470,12 @@ static void show_efi_hash (void *Mok, UINTN MokSize) + for (i=0; i= hash_num) + break; +@@ -560,7 +560,7 @@ static EFI_STATUS list_keys (void *KeyList, UINTN KeyListSize, CHAR16 *title) + + while (key_num < MokNum) { + key_num = console_select((CHAR16 *[]){ title, NULL }, +- menu_strings, 0); ++ menu_strings, key_num); + + if (key_num < 0 || key_num >= MokNum) + break; +@@ -953,6 +953,7 @@ static EFI_STATUS write_back_mok_list (MokListNode *list, INTN key_num, + BOOLEAN MokX) + { + EFI_GUID shim_lock_guid = SHIM_LOCK_GUID; ++ EFI_GUID CertType = X509_GUID; + EFI_STATUS efi_status; + EFI_SIGNATURE_LIST *CertList; + EFI_SIGNATURE_DATA *CertData; +@@ -989,17 +990,24 @@ static EFI_STATUS write_back_mok_list (MokListNode *list, INTN key_num, + sizeof(EFI_SIGNATURE_LIST)); + + CertList->SignatureType = list[i].Type; +- CertList->SignatureListSize = list[i].MokSize + +- sizeof(EFI_SIGNATURE_LIST) + +- sizeof(EFI_SIGNATURE_DATA) - 1; + CertList->SignatureHeaderSize = 0; +- CertList->SignatureSize = list[i].MokSize + sizeof(EFI_GUID); + +- CertData->SignatureOwner = shim_lock_guid; +- CopyMem(CertData->SignatureData, list[i].Mok, list[i].MokSize); ++ if (CompareGuid(&(list[i].Type), &CertType) == 0) { ++ CertList->SignatureListSize = list[i].MokSize + ++ sizeof(EFI_SIGNATURE_LIST) + ++ sizeof(EFI_GUID); ++ CertList->SignatureSize = list[i].MokSize + sizeof(EFI_GUID); + +- ptr = (uint8_t *)ptr + sizeof(EFI_SIGNATURE_LIST) + +- sizeof(EFI_GUID) + list[i].MokSize; ++ CertData->SignatureOwner = shim_lock_guid; ++ CopyMem(CertData->SignatureData, list[i].Mok, list[i].MokSize); ++ } else { ++ CertList->SignatureListSize = list[i].MokSize + ++ sizeof(EFI_SIGNATURE_LIST); ++ CertList->SignatureSize = SHA256_DIGEST_SIZE + sizeof(EFI_GUID); ++ ++ CopyMem(CertData, list[i].Mok, list[i].MokSize); ++ } ++ ptr = (uint8_t *)ptr + CertList->SignatureListSize; + } + + efi_status = uefi_call_wrapper(RT->SetVariable, 5, db_name, +-- +1.8.4.5 + + +From 41d29504d597daffde481349e6bc4a6521819941 Mon Sep 17 00:00:00 2001 +From: Gary Ching-Pang Lin +Date: Mon, 28 Oct 2013 15:08:40 +0800 +Subject: [PATCH 06/16] Copy the MOK blacklist to a RT variable + +Signed-off-by: Gary Ching-Pang Lin +--- + shim.c | 29 +++++++++++++++++++++++++++++ + 1 file changed, 29 insertions(+) + +diff --git a/shim.c b/shim.c +index bab5e92..8eef64d 100644 +--- a/shim.c ++++ b/shim.c +@@ -1749,6 +1749,33 @@ EFI_STATUS mirror_mok_list() + } + + /* ++ * Copy the boot-services only MokListX variable to the runtime-accessible ++ * MokListXRT variable. It's not marked NV, so the OS can't modify it. ++ */ ++EFI_STATUS mirror_mok_list_x() ++{ ++ EFI_GUID shim_lock_guid = SHIM_LOCK_GUID; ++ EFI_STATUS efi_status; ++ UINT8 *Data = NULL; ++ UINTN DataSize = 0; ++ ++ efi_status = get_variable(L"MokListX", &Data, &DataSize, shim_lock_guid); ++ if (efi_status != EFI_SUCCESS) ++ return efi_status; ++ ++ efi_status = uefi_call_wrapper(RT->SetVariable, 5, L"MokListXRT", ++ &shim_lock_guid, ++ EFI_VARIABLE_BOOTSERVICE_ACCESS ++ | EFI_VARIABLE_RUNTIME_ACCESS, ++ DataSize, Data); ++ if (efi_status != EFI_SUCCESS) { ++ console_error(L"Failed to set MokListRT", efi_status); ++ } ++ ++ return efi_status; ++} ++ ++/* + * Check if a variable exists + */ + static BOOLEAN check_var(CHAR16 *varname) +@@ -2093,6 +2120,8 @@ EFI_STATUS efi_main (EFI_HANDLE image_handle, EFI_SYSTEM_TABLE *passed_systab) + */ + efi_status = mirror_mok_list(); + ++ efi_status = mirror_mok_list_x(); ++ + /* + * Create the runtime MokIgnoreDB variable so the kernel can make + * use of it +-- +1.8.4.5 + + +From d424bdcdead0add27c1c1fbd80ba2b8acb7e558f Mon Sep 17 00:00:00 2001 +From: Gary Ching-Pang Lin +Date: Mon, 4 Nov 2013 14:45:33 +0800 +Subject: [PATCH 07/16] Verify the EFI images with MOK blacklist + +Signed-off-by: Gary Ching-Pang Lin +--- + shim.c | 9 +++++++++ + 1 file changed, 9 insertions(+) + +diff --git a/shim.c b/shim.c +index 8eef64d..2c05886 100644 +--- a/shim.c ++++ b/shim.c +@@ -518,6 +518,7 @@ static EFI_STATUS check_blacklist (WIN_CERTIFICATE_EFI_PKCS *cert, UINT8 *sha256hash, UINT8 *sha1hash) { EFI_GUID secure_var = EFI_IMAGE_SECURITY_DATABASE_GUID; @@ -822,7 +1084,7 @@ Index: shim-0.7/shim.c EFI_SIGNATURE_LIST *dbx = (EFI_SIGNATURE_LIST *)vendor_dbx; if (check_db_hash_in_ram(dbx, vendor_dbx_size, sha256hash, -@@ -413,6 +414,14 @@ static EFI_STATUS check_blacklist (WIN_C +@@ -541,6 +542,14 @@ static EFI_STATUS check_blacklist (WIN_CERTIFICATE_EFI_PKCS *cert, if (cert && check_db_cert(L"dbx", secure_var, cert, sha256hash) == DATA_FOUND) return EFI_ACCESS_DENIED; @@ -837,14 +1099,821 @@ Index: shim-0.7/shim.c return EFI_SUCCESS; } -@@ -1589,7 +1598,9 @@ EFI_STATUS check_mok_request(EFI_HANDLE - +-- +1.8.4.5 + + +From 7767893c145fa3d00b1019547716b1fdfa8d1c53 Mon Sep 17 00:00:00 2001 +From: Gary Ching-Pang Lin +Date: Tue, 11 Feb 2014 14:11:15 +0800 +Subject: [PATCH 08/16] Make shim to check MokXAuth for MOKX reset + +Signed-off-by: Gary Ching-Pang Lin +--- + shim.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/shim.c b/shim.c +index 2c05886..d46494a 100644 +--- a/shim.c ++++ b/shim.c +@@ -1816,7 +1816,8 @@ EFI_STATUS check_mok_request(EFI_HANDLE image_handle) if (check_var(L"MokNew") || check_var(L"MokSB") || check_var(L"MokPW") || check_var(L"MokAuth") || -- check_var(L"MokDel") || check_var(L"MokDB")) { -+ check_var(L"MokDel") || check_var(L"MokDB") || + check_var(L"MokDel") || check_var(L"MokDB") || +- check_var(L"MokXNew") || check_var(L"MokXDel")) { + check_var(L"MokXNew") || check_var(L"MokXDel") || + check_var(L"MokXAuth")) { efi_status = start_image(image_handle, MOK_MANAGER); if (efi_status != EFI_SUCCESS) { +-- +1.8.4.5 + + +From 195edc629f9d316071f108a6e9390d86329b0e5f Mon Sep 17 00:00:00 2001 +From: Gary Ching-Pang Lin +Date: Thu, 13 Feb 2014 15:05:45 +0800 +Subject: [PATCH 09/16] MokManager: calculate the variable size correctly + +MokSize of the hash signature list includes the owner GUID, +so we should not add the 16bytes compensation. + +Signed-off-by: Gary Ching-Pang Lin +--- + MokManager.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/MokManager.c b/MokManager.c +index 56839cc..af38405 100644 +--- a/MokManager.c ++++ b/MokManager.c +@@ -971,7 +971,9 @@ static EFI_STATUS write_back_mok_list (MokListNode *list, INTN key_num, + if (list[i].Mok == NULL) + continue; + +- DataSize += sizeof(EFI_SIGNATURE_LIST) + sizeof(EFI_GUID); ++ DataSize += sizeof(EFI_SIGNATURE_LIST); ++ if (CompareGuid(&(list[i].Type), &CertType) == 0) ++ DataSize += sizeof(EFI_GUID); + DataSize += list[i].MokSize; + } + +-- +1.8.4.5 + + +From b5bdd25de7cfda1b6b23780b947d979abfae0782 Mon Sep 17 00:00:00 2001 +From: Gary Ching-Pang Lin +Date: Mon, 17 Feb 2014 17:49:55 +0800 +Subject: [PATCH 10/16] MokManager: fix the hash list counting in delete + +match_hash() requests the number of keys in a list and it was +mistakenly replaced with the size of the Mok node. This would +made MokManager to remove the whole Mok node instead of one +hash. + +Signed-off-by: Gary Ching-Pang Lin +--- + MokManager.c | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +diff --git a/MokManager.c b/MokManager.c +index af38405..5901f65 100644 +--- a/MokManager.c ++++ b/MokManager.c +@@ -1079,6 +1079,7 @@ static void delete_hash_in_list (UINT8 *hash, UINT32 hash_size, + { + EFI_GUID HashType = EFI_CERT_SHA256_GUID; + UINT32 sig_size; ++ UINT32 list_num; + int i, del_ind; + void *start, *end; + UINT32 remain; +@@ -1090,8 +1091,10 @@ static void delete_hash_in_list (UINT8 *hash, UINT32 hash_size, + (mok[i].MokSize < sig_size)) + continue; + ++ list_num = mok[i].MokSize / sig_size; ++ + del_ind = match_hash(hash, hash_size, 0, mok[i].Mok, +- mok[i].MokSize); ++ list_num); + while (del_ind >= 0) { + /* Remove the hash */ + if (sig_size == mok[i].MokSize) { +@@ -1106,9 +1109,10 @@ static void delete_hash_in_list (UINT8 *hash, UINT32 hash_size, + + mem_move(start, end, remain); + mok[i].MokSize -= sig_size; ++ list_num--; + + del_ind = match_hash(hash, hash_size, del_ind, +- mok[i].Mok, mok[i].MokSize); ++ mok[i].Mok, list_num); + } + } + } +-- +1.8.4.5 + + +From a660b38e1bfafab7cfe6699a01e672aba40e7a36 Mon Sep 17 00:00:00 2001 +From: Gary Ching-Pang Lin +Date: Thu, 3 Apr 2014 18:26:37 +0800 +Subject: [PATCH 11/16] MokManager: Support SHA1 hash in MOK + +Add SHA1 hash support and amend the code to make it easier to support +other SHA digests. +--- + MokManager.c | 121 ++++++++++++++++++++++++++++++++++++----------------------- + 1 file changed, 75 insertions(+), 46 deletions(-) + +diff --git a/MokManager.c b/MokManager.c +index 5901f65..4ab54ed 100644 +--- a/MokManager.c ++++ b/MokManager.c +@@ -93,11 +93,53 @@ done: + return status; + } + ++static BOOLEAN is_sha_hash (EFI_GUID Type) ++{ ++ EFI_GUID Sha1 = EFI_CERT_SHA1_GUID; ++ EFI_GUID Sha256 = EFI_CERT_SHA256_GUID; ++ ++ if (CompareGuid(&Type, &Sha1) == 0) ++ return TRUE; ++ else if (CompareGuid(&Type, &Sha256) == 0) ++ return TRUE; ++ ++ return FALSE; ++} ++ ++static UINT32 sha_size (EFI_GUID Type) ++{ ++ EFI_GUID Sha1 = EFI_CERT_SHA1_GUID; ++ EFI_GUID Sha256 = EFI_CERT_SHA256_GUID; ++ ++ if (CompareGuid(&Type, &Sha1) == 0) ++ return SHA1_DIGEST_SIZE; ++ else if (CompareGuid(&Type, &Sha256) == 0) ++ return SHA256_DIGEST_SIZE; ++ ++ return 0; ++} ++ ++static BOOLEAN is_valid_siglist (EFI_GUID Type, UINT32 SigSize) ++{ ++ EFI_GUID CertType = X509_GUID; ++ UINT32 hash_sig_size; ++ ++ if (CompareGuid (&Type, &CertType) == 0 && SigSize != 0) ++ return TRUE; ++ ++ if (!is_sha_hash (Type)) ++ return FALSE; ++ ++ hash_sig_size = sha_size (Type) + sizeof(EFI_GUID); ++ if (SigSize != hash_sig_size) ++ return FALSE; ++ ++ return TRUE; ++} ++ + static UINT32 count_keys(void *Data, UINTN DataSize) + { + EFI_SIGNATURE_LIST *CertList = Data; +- EFI_GUID CertType = X509_GUID; +- EFI_GUID HashType = EFI_CERT_SHA256_GUID; + UINTN dbsize = DataSize; + UINT32 MokNum = 0; + void *end = Data + DataSize; +@@ -112,18 +154,7 @@ static UINT32 count_keys(void *Data, UINTN DataSize) + return 0; + } + +- if ((CompareGuid (&CertList->SignatureType, &CertType) != 0) && +- (CompareGuid (&CertList->SignatureType, &HashType) != 0)) { +- console_notify(L"Doesn't look like a key or hash"); +- dbsize -= CertList->SignatureListSize; +- CertList = (EFI_SIGNATURE_LIST *) ((UINT8 *) CertList + +- CertList->SignatureListSize); +- continue; +- } +- +- if ((CompareGuid (&CertList->SignatureType, &CertType) != 0) && +- (CertList->SignatureSize != 48)) { +- console_notify(L"Doesn't look like a valid hash"); ++ if (!is_valid_siglist(CertList->SignatureType, CertList->SignatureSize)) { + dbsize -= CertList->SignatureListSize; + CertList = (EFI_SIGNATURE_LIST *) ((UINT8 *) CertList + + CertList->SignatureListSize); +@@ -144,7 +175,6 @@ static MokListNode *build_mok_list(UINT32 num, void *Data, UINTN DataSize) { + EFI_SIGNATURE_LIST *CertList = Data; + EFI_SIGNATURE_DATA *Cert; + EFI_GUID CertType = X509_GUID; +- EFI_GUID HashType = EFI_CERT_SHA256_GUID; + UINTN dbsize = DataSize; + UINTN count = 0; + void *end = Data + DataSize; +@@ -162,16 +192,7 @@ static MokListNode *build_mok_list(UINT32 num, void *Data, UINTN DataSize) { + FreePool(list); + return NULL; + } +- if ((CompareGuid (&CertList->SignatureType, &CertType) != 0) && +- (CompareGuid (&CertList->SignatureType, &HashType) != 0)) { +- dbsize -= CertList->SignatureListSize; +- CertList = (EFI_SIGNATURE_LIST *)((UINT8 *) CertList + +- CertList->SignatureListSize); +- continue; +- } +- +- if ((CompareGuid (&CertList->SignatureType, &HashType) == 0) && +- (CertList->SignatureSize != 48)) { ++ if (!is_valid_siglist(CertList->SignatureType, CertList->SignatureSize)) { + dbsize -= CertList->SignatureListSize; + CertList = (EFI_SIGNATURE_LIST *)((UINT8 *) CertList + + CertList->SignatureListSize); +@@ -409,22 +430,34 @@ static void show_x509_info (X509 *X509Cert, UINT8 *hash) + FreePool(text); + } + +-static void show_sha256_digest (UINT8 *hash) ++static void show_sha_digest (EFI_GUID Type, UINT8 *hash) + { ++ EFI_GUID Sha1 = EFI_CERT_SHA1_GUID; ++ EFI_GUID Sha256 = EFI_CERT_SHA256_GUID; + CHAR16 *text[5]; + POOL_PRINT hash_string1; + POOL_PRINT hash_string2; + int i; ++ int length; ++ ++ if (CompareGuid(&Type, &Sha1) == 0) { ++ length = SHA1_DIGEST_SIZE; ++ text[0] = L"SHA1 hash"; ++ } else if (CompareGuid(&Type, &Sha256) == 0) { ++ length = SHA256_DIGEST_SIZE; ++ text[0] = L"SHA256 hash"; ++ } else { ++ return; ++ } + + ZeroMem(&hash_string1, sizeof(hash_string1)); + ZeroMem(&hash_string2, sizeof(hash_string2)); + +- text[0] = L"SHA256 hash"; + text[1] = L""; + +- for (i=0; i<16; i++) ++ for (i=0; iSignatureListSize = list[i].MokSize + + sizeof(EFI_SIGNATURE_LIST); +- CertList->SignatureSize = SHA256_DIGEST_SIZE + sizeof(EFI_GUID); ++ CertList->SignatureSize = sha_size(list[i].Type) + sizeof(EFI_GUID); + + CopyMem(CertData, list[i].Mok, list[i].MokSize); + } +@@ -1077,7 +1109,6 @@ static void mem_move (void *dest, void *src, UINTN size) + static void delete_hash_in_list (UINT8 *hash, UINT32 hash_size, + MokListNode *mok, INTN mok_num) + { +- EFI_GUID HashType = EFI_CERT_SHA256_GUID; + UINT32 sig_size; + UINT32 list_num; + int i, del_ind; +@@ -1087,8 +1118,7 @@ static void delete_hash_in_list (UINT8 *hash, UINT32 hash_size, + sig_size = hash_size + sizeof(EFI_GUID); + + for (i = 0; i < mok_num; i++) { +- if ((CompareGuid(&(mok[i].Type), &HashType) != 0) || +- (mok[i].MokSize < sig_size)) ++ if (!is_sha_hash(mok[i].Type) || (mok[i].MokSize < sig_size)) + continue; + + list_num = mok[i].MokSize / sig_size; +@@ -1117,7 +1147,7 @@ static void delete_hash_in_list (UINT8 *hash, UINT32 hash_size, + } + } + +-static void delete_hash_list (void *hash_list, UINT32 list_size, ++static void delete_hash_list (EFI_GUID Type, void *hash_list, UINT32 list_size, + MokListNode *mok, INTN mok_num) + { + UINT32 hash_size; +@@ -1126,7 +1156,7 @@ static void delete_hash_list (void *hash_list, UINT32 list_size, + UINT8 *hash; + int i; + +- hash_size = SHA256_DIGEST_SIZE; ++ hash_size = sha_size (Type); + sig_size = hash_size + sizeof(EFI_GUID); + if (list_size < sig_size) + return; +@@ -1145,7 +1175,6 @@ static EFI_STATUS delete_keys (void *MokDel, UINTN MokDelSize, BOOLEAN MokX) + { + EFI_GUID shim_lock_guid = SHIM_LOCK_GUID; + EFI_GUID CertType = X509_GUID; +- EFI_GUID HashType = EFI_CERT_SHA256_GUID; + EFI_STATUS efi_status; + CHAR16 *db_name; + CHAR16 *auth_name; +@@ -1220,9 +1249,9 @@ static EFI_STATUS delete_keys (void *MokDel, UINTN MokDelSize, BOOLEAN MokX) + if (CompareGuid(&(del_key[i].Type), &CertType) == 0) { + delete_cert(del_key[i].Mok, del_key[i].MokSize, + mok, mok_num); +- } else if (CompareGuid(&(del_key[i].Type), &HashType) == 0) { +- delete_hash_list(del_key[i].Mok, del_key[i].MokSize, +- mok, mok_num); ++ } else if (is_sha_hash(del_key[i].Type)) { ++ delete_hash_list(del_key[i].Type, del_key[i].Mok, ++ del_key[i].MokSize, mok, mok_num); + } + } + +-- +1.8.4.5 + + +From 66098cc304ae505d20dc6b6cbdcf8861cd11a9fc Mon Sep 17 00:00:00 2001 +From: Gary Ching-Pang Lin +Date: Wed, 9 Apr 2014 16:49:25 +0800 +Subject: [PATCH 12/16] MokManager: fix the return value and type + +There are some functions that the return value and the type +didn't match. + +Signed-off-by: Gary Ching-Pang Lin +--- + MokManager.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/MokManager.c b/MokManager.c +index 4ab54ed..78d831e 100644 +--- a/MokManager.c ++++ b/MokManager.c +@@ -565,7 +565,7 @@ static EFI_STATUS list_keys (void *KeyList, UINTN KeyListSize, CHAR16 *title) + if (KeyListSize < (sizeof(EFI_SIGNATURE_LIST) + + sizeof(EFI_SIGNATURE_DATA))) { + console_notify(L"No MOK keys found"); +- return 0; ++ return EFI_NOT_FOUND; + } + + MokNum = count_keys(KeyList, KeyListSize); +@@ -575,7 +575,7 @@ static EFI_STATUS list_keys (void *KeyList, UINTN KeyListSize, CHAR16 *title) + + if (!keys) { + console_notify(L"Failed to construct key list"); +- return 0; ++ return EFI_ABORTED; + } + + menu_strings = AllocateZeroPool(sizeof(CHAR16 *) * (MokNum + 2)); +@@ -900,7 +900,7 @@ static EFI_STATUS store_keys (void *MokNew, UINTN MokNewSize, int authenticate, + return EFI_SUCCESS; + } + +-static UINTN mok_enrollment_prompt (void *MokNew, UINTN MokNewSize, int auth, ++static INTN mok_enrollment_prompt (void *MokNew, UINTN MokNewSize, int auth, + BOOLEAN MokX) + { + EFI_GUID shim_lock_guid = SHIM_LOCK_GUID; +-- +1.8.4.5 + + +From 3d4fb965556a4a0508d8bc5570203ae210ed9836 Mon Sep 17 00:00:00 2001 +From: Gary Ching-Pang Lin +Date: Thu, 10 Apr 2014 14:39:43 +0800 +Subject: [PATCH 13/16] MokManager: Add more key list safe checks + +Signed-off-by: Gary Ching-Pang Lin +--- + MokManager.c | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++++++------ + 1 file changed, 56 insertions(+), 6 deletions(-) + +diff --git a/MokManager.c b/MokManager.c +index 78d831e..1a67a39 100644 +--- a/MokManager.c ++++ b/MokManager.c +@@ -154,6 +154,12 @@ static UINT32 count_keys(void *Data, UINTN DataSize) + return 0; + } + ++ if (CertList->SignatureListSize == 0 || ++ CertList->SignatureListSize <= CertList->SignatureSize) { ++ console_errorbox(L"Corrupted signature list"); ++ return 0; ++ } ++ + if (!is_valid_siglist(CertList->SignatureType, CertList->SignatureSize)) { + dbsize -= CertList->SignatureListSize; + CertList = (EFI_SIGNATURE_LIST *) ((UINT8 *) CertList + +@@ -569,12 +575,13 @@ static EFI_STATUS list_keys (void *KeyList, UINTN KeyListSize, CHAR16 *title) + } + + MokNum = count_keys(KeyList, KeyListSize); +- if (MokNum == 0) +- return 0; ++ if (MokNum == 0) { ++ console_errorbox(L"Invalid key list"); ++ return EFI_ABORTED; ++ } + keys = build_mok_list(MokNum, KeyList, KeyListSize); +- + if (!keys) { +- console_notify(L"Failed to construct key list"); ++ console_errorbox(L"Failed to construct key list"); + return EFI_ABORTED; + } + +@@ -1221,7 +1228,13 @@ static EFI_STATUS delete_keys (void *MokDel, UINTN MokDelSize, BOOLEAN MokX) + + efi_status = get_variable_attr (db_name, &MokListData, &MokListDataSize, + shim_lock_guid, &attributes); +- if (attributes & EFI_VARIABLE_RUNTIME_ACCESS) { ++ if (efi_status != EFI_SUCCESS) { ++ if (MokX) ++ console_errorbox(L"Failed to retrieve MokListX"); ++ else ++ console_errorbox(L"Failed to retrieve MokList"); ++ return EFI_ABORTED; ++ } else if (attributes & EFI_VARIABLE_RUNTIME_ACCESS) { + if (MokX) { + err_str1 = L"MokListX is compromised!"; + err_str2 = L"Erase all keys in MokListX!"; +@@ -1230,7 +1243,11 @@ static EFI_STATUS delete_keys (void *MokDel, UINTN MokDelSize, BOOLEAN MokX) + err_str2 = L"Erase all keys in MokList!"; + } + console_alertbox((CHAR16 *[]){err_str1, err_str2, NULL}); +- LibDeleteVariable(db_name, &shim_lock_guid); ++ uefi_call_wrapper(RT->SetVariable, 5, db_name, ++ &shim_lock_guid, ++ EFI_VARIABLE_NON_VOLATILE | ++ EFI_VARIABLE_BOOTSERVICE_ACCESS, ++ 0, NULL); + return EFI_ACCESS_DENIED; + } + +@@ -1240,9 +1257,41 @@ static EFI_STATUS delete_keys (void *MokDel, UINTN MokDelSize, BOOLEAN MokX) + + /* Construct lists */ + mok_num = count_keys(MokListData, MokListDataSize); ++ if (mok_num == 0) { ++ if (MokX) { ++ err_str1 = L"Failed to construct the key list of MokListX"; ++ err_str2 = L"Reset MokListX!"; ++ } else { ++ err_str1 = L"Failed to construct the key list of MokList"; ++ err_str2 = L"Reset MokList!"; ++ } ++ console_alertbox((CHAR16 *[]){err_str1, err_str2, NULL}); ++ uefi_call_wrapper(RT->SetVariable, 5, db_name, ++ &shim_lock_guid, ++ EFI_VARIABLE_NON_VOLATILE | ++ EFI_VARIABLE_BOOTSERVICE_ACCESS, ++ 0, NULL); ++ efi_status = EFI_ABORTED; ++ goto error; ++ } + mok = build_mok_list(mok_num, MokListData, MokListDataSize); ++ if (!mok) { ++ console_errorbox(L"Failed to construct key list"); ++ efi_status = EFI_ABORTED; ++ goto error; ++ } + del_num = count_keys(MokDel, MokDelSize); ++ if (del_num == 0) { ++ console_errorbox(L"Invalid key delete list"); ++ efi_status = EFI_ABORTED; ++ goto error; ++ } + del_key = build_mok_list(del_num, MokDel, MokDelSize); ++ if (!del_key) { ++ console_errorbox(L"Failed to construct key list"); ++ efi_status = EFI_ABORTED; ++ goto error; ++ } + + /* Search and destroy */ + for (i = 0; i < del_num; i++) { +@@ -1257,6 +1306,7 @@ static EFI_STATUS delete_keys (void *MokDel, UINTN MokDelSize, BOOLEAN MokX) + + efi_status = write_back_mok_list(mok, mok_num, MokX); + ++error: + if (MokListData) + FreePool(MokListData); + if (mok) +-- +1.8.4.5 + + +From 8d5456736bae63490a528f6ac12f677bc770cf41 Mon Sep 17 00:00:00 2001 +From: Gary Ching-Pang Lin +Date: Thu, 10 Apr 2014 15:29:14 +0800 +Subject: [PATCH 14/16] MokManager: Support SHA224, SHA384, and SHA512 + +Signed-off-by: Gary Ching-Pang Lin +--- + MokManager.c | 40 +++++++++++++++++++++++++++++++++++++--- + 1 file changed, 37 insertions(+), 3 deletions(-) + +diff --git a/MokManager.c b/MokManager.c +index 1a67a39..9607d2f 100644 +--- a/MokManager.c ++++ b/MokManager.c +@@ -25,6 +25,9 @@ + #define EFI_VARIABLE_APPEND_WRITE 0x00000040 + + EFI_GUID SHIM_LOCK_GUID = { 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} }; + + #define CERT_STRING L"Select an X509 certificate to enroll:\n\n" + #define HASH_STRING L"Select a file to trust:\n\n" +@@ -96,12 +99,21 @@ done: + static BOOLEAN is_sha_hash (EFI_GUID Type) + { + EFI_GUID Sha1 = EFI_CERT_SHA1_GUID; ++ EFI_GUID Sha224 = EFI_CERT_SHA224_GUID; + EFI_GUID Sha256 = EFI_CERT_SHA256_GUID; ++ EFI_GUID Sha384 = EFI_CERT_SHA384_GUID; ++ EFI_GUID Sha512 = EFI_CERT_SHA512_GUID; + + if (CompareGuid(&Type, &Sha1) == 0) + return TRUE; ++ else if (CompareGuid(&Type, &Sha224) == 0) ++ return TRUE; + else if (CompareGuid(&Type, &Sha256) == 0) + return TRUE; ++ else if (CompareGuid(&Type, &Sha384) == 0) ++ return TRUE; ++ else if (CompareGuid(&Type, &Sha512) == 0) ++ return TRUE; + + return FALSE; + } +@@ -109,12 +121,21 @@ static BOOLEAN is_sha_hash (EFI_GUID Type) + static UINT32 sha_size (EFI_GUID Type) + { + EFI_GUID Sha1 = EFI_CERT_SHA1_GUID; ++ EFI_GUID Sha224 = EFI_CERT_SHA224_GUID; + EFI_GUID Sha256 = EFI_CERT_SHA256_GUID; ++ EFI_GUID Sha384 = EFI_CERT_SHA384_GUID; ++ EFI_GUID Sha512 = EFI_CERT_SHA512_GUID; + + if (CompareGuid(&Type, &Sha1) == 0) + return SHA1_DIGEST_SIZE; ++ else if (CompareGuid(&Type, &Sha224) == 0) ++ return SHA224_DIGEST_LENGTH; + else if (CompareGuid(&Type, &Sha256) == 0) + return SHA256_DIGEST_SIZE; ++ else if (CompareGuid(&Type, &Sha384) == 0) ++ return SHA384_DIGEST_LENGTH; ++ else if (CompareGuid(&Type, &Sha512) == 0) ++ return SHA512_DIGEST_LENGTH; + + return 0; + } +@@ -439,7 +460,10 @@ static void show_x509_info (X509 *X509Cert, UINT8 *hash) + static void show_sha_digest (EFI_GUID Type, UINT8 *hash) + { + EFI_GUID Sha1 = EFI_CERT_SHA1_GUID; ++ EFI_GUID Sha224 = EFI_CERT_SHA224_GUID; + EFI_GUID Sha256 = EFI_CERT_SHA256_GUID; ++ EFI_GUID Sha384 = EFI_CERT_SHA384_GUID; ++ EFI_GUID Sha512 = EFI_CERT_SHA512_GUID; + CHAR16 *text[5]; + POOL_PRINT hash_string1; + POOL_PRINT hash_string2; +@@ -449,9 +473,18 @@ static void show_sha_digest (EFI_GUID Type, UINT8 *hash) + if (CompareGuid(&Type, &Sha1) == 0) { + length = SHA1_DIGEST_SIZE; + text[0] = L"SHA1 hash"; ++ } else if (CompareGuid(&Type, &Sha224) == 0) { ++ length = SHA224_DIGEST_LENGTH; ++ text[0] = L"SHA224 hash"; + } else if (CompareGuid(&Type, &Sha256) == 0) { + length = SHA256_DIGEST_SIZE; + text[0] = L"SHA256 hash"; ++ } else if (CompareGuid(&Type, &Sha384) == 0) { ++ length = SHA384_DIGEST_LENGTH; ++ text[0] = L"SHA384 hash"; ++ } else if (CompareGuid(&Type, &Sha512) == 0) { ++ length = SHA512_DIGEST_LENGTH; ++ text[0] = L"SHA512 hash"; + } else { + return; + } +@@ -1113,7 +1146,7 @@ static void mem_move (void *dest, void *src, UINTN size) + d[i] = s[i]; + } + +-static void delete_hash_in_list (UINT8 *hash, UINT32 hash_size, ++static void delete_hash_in_list (EFI_GUID Type, UINT8 *hash, UINT32 hash_size, + MokListNode *mok, INTN mok_num) + { + UINT32 sig_size; +@@ -1125,7 +1158,8 @@ static void delete_hash_in_list (UINT8 *hash, UINT32 hash_size, + sig_size = hash_size + sizeof(EFI_GUID); + + for (i = 0; i < mok_num; i++) { +- if (!is_sha_hash(mok[i].Type) || (mok[i].MokSize < sig_size)) ++ if ((CompareGuid(&(mok[i].Type), &Type) != 0) || ++ (mok[i].MokSize < sig_size)) + continue; + + list_num = mok[i].MokSize / sig_size; +@@ -1173,7 +1207,7 @@ static void delete_hash_list (EFI_GUID Type, void *hash_list, UINT32 list_size, + hash = hash_list + sizeof(EFI_GUID); + + for (i = 0; i < hash_num; i++) { +- delete_hash_in_list (hash, hash_size, mok, mok_num); ++ delete_hash_in_list (Type, hash, hash_size, mok, mok_num); + hash += sig_size; + } + } +-- +1.8.4.5 + + +From 2d0e330fb06a7d26810f86dcfdb59b045d444b51 Mon Sep 17 00:00:00 2001 +From: Gary Ching-Pang Lin +Date: Thu, 10 Apr 2014 15:55:35 +0800 +Subject: [PATCH 15/16] MokManager: Discard the list contains an invalid + signature + +Signed-off-by: Gary Ching-Pang Lin +--- + MokManager.c | 15 +++++---------- + 1 file changed, 5 insertions(+), 10 deletions(-) + +diff --git a/MokManager.c b/MokManager.c +index 9607d2f..046f779 100644 +--- a/MokManager.c ++++ b/MokManager.c +@@ -182,10 +182,8 @@ static UINT32 count_keys(void *Data, UINTN DataSize) + } + + if (!is_valid_siglist(CertList->SignatureType, CertList->SignatureSize)) { +- dbsize -= CertList->SignatureListSize; +- CertList = (EFI_SIGNATURE_LIST *) ((UINT8 *) CertList + +- CertList->SignatureListSize); +- continue; ++ console_errorbox(L"Invalid signature list found"); ++ return 0; + } + + MokNum++; +@@ -219,12 +217,9 @@ static MokListNode *build_mok_list(UINT32 num, void *Data, UINTN DataSize) { + FreePool(list); + return NULL; + } +- if (!is_valid_siglist(CertList->SignatureType, CertList->SignatureSize)) { +- dbsize -= CertList->SignatureListSize; +- CertList = (EFI_SIGNATURE_LIST *)((UINT8 *) CertList + +- CertList->SignatureListSize); +- continue; +- } ++ ++ /* Omit the signature check here since we already did it ++ in count_keys() */ + + Cert = (EFI_SIGNATURE_DATA *) (((UINT8 *) CertList) + + sizeof (EFI_SIGNATURE_LIST) + CertList->SignatureHeaderSize); +-- +1.8.4.5 + + +From 658c3ac8ea38ac057f21278c9d10ba8aae28b0a5 Mon Sep 17 00:00:00 2001 +From: Gary Ching-Pang Lin +Date: Tue, 28 Oct 2014 11:21:51 +0800 +Subject: [PATCH 16/16] MokManager: fix comparison between signed and unsigned + integer + +Patch from Johannes Segitz +--- + MokManager.c | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/MokManager.c b/MokManager.c +index 046f779..442ab8f 100644 +--- a/MokManager.c ++++ b/MokManager.c +@@ -513,8 +513,8 @@ static void show_efi_hash (EFI_GUID Type, void *Mok, UINTN MokSize) + UINTN hash_num; + UINT8 *hash; + CHAR16 **menu_strings; +- int key_num = 0; +- int i; ++ UINTN key_num = 0; ++ UINTN i; + + sig_size = sha_size(Type) + sizeof(EFI_GUID); + if ((MokSize % sig_size) != 0) { +@@ -592,7 +592,7 @@ static EFI_STATUS list_keys (void *KeyList, UINTN KeyListSize, CHAR16 *title) + { + INTN MokNum = 0; + MokListNode *keys = NULL; +- int key_num = 0; ++ UINT32 key_num = 0; + CHAR16 **menu_strings; + int i; + +@@ -1118,7 +1118,7 @@ static int match_hash (UINT8 *hash, UINT32 hash_size, int start, + void *hash_list, UINT32 list_num) + { + UINT8 *ptr; +- int i; ++ UINTN i; + + ptr = hash_list + sizeof(EFI_GUID); + for (i = start; i < list_num; i++) { +@@ -1133,7 +1133,7 @@ static int match_hash (UINT8 *hash, UINT32 hash_size, int start, + static void mem_move (void *dest, void *src, UINTN size) + { + UINT8 *d, *s; +- int i; ++ UINTN i; + + d = (UINT8 *)dest; + s = (UINT8 *)src; +@@ -1190,7 +1190,7 @@ static void delete_hash_list (EFI_GUID Type, void *hash_list, UINT32 list_size, + UINT32 hash_num; + UINT32 sig_size; + UINT8 *hash; +- int i; ++ UINT32 i; + + hash_size = sha_size (Type); + sig_size = hash_size + sizeof(EFI_GUID); +-- +1.8.4.5 + diff --git a/shim-opensuse-cert-prompt.patch b/shim-opensuse-cert-prompt.patch index 6a3d073..9eec78c 100644 --- a/shim-opensuse-cert-prompt.patch +++ b/shim-opensuse-cert-prompt.patch @@ -1,4 +1,4 @@ -From b13d18d4069032ccf6c885774e9eada6a1d80ddd Mon Sep 17 00:00:00 2001 +From e3b81e524747199fb7da29e5988cff79db1658a3 Mon Sep 17 00:00:00 2001 From: Gary Ching-Pang Lin Date: Tue, 18 Feb 2014 17:29:19 +0800 Subject: [PATCH 1/3] Show the build-in certificate prompt @@ -17,13 +17,13 @@ again after reboot. The state will store in use_openSUSE_cert, a volatile RT variable. --- - shim.c | 116 ++++++++++++++++++++++++++++++++++++++++++++++++++++++----------- - 1 file changed, 97 insertions(+), 19 deletions(-) + shim.c | 76 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- + 1 file changed, 74 insertions(+), 2 deletions(-) -Index: shim-0.7/shim.c -=================================================================== ---- shim-0.7.orig/shim.c -+++ shim-0.7/shim.c +diff --git a/shim.c b/shim.c +index d46494a..c14a54d 100644 +--- a/shim.c ++++ b/shim.c @@ -90,6 +90,7 @@ UINT8 *vendor_dbx; */ verification_method_t verification_method; @@ -32,7 +32,7 @@ Index: shim-0.7/shim.c #define EFI_IMAGE_SECURITY_DATABASE_GUID { 0xd719b2cb, 0x3d3a, 0x4596, { 0xa3, 0xbc, 0xda, 0xd0, 0x0e, 0x67, 0x65, 0x6f }} -@@ -817,7 +818,7 @@ static EFI_STATUS verify_buffer (char *d +@@ -954,7 +955,7 @@ static EFI_STATUS verify_buffer (char *data, int datasize, if (status == EFI_SUCCESS) return status; @@ -41,75 +41,16 @@ Index: shim-0.7/shim.c /* * Check against the shim build key */ -@@ -1523,11 +1524,14 @@ EFI_STATUS mirror_mok_list() +@@ -1708,7 +1709,7 @@ EFI_STATUS mirror_mok_list() if (efi_status != EFI_SUCCESS) DataSize = 0; -- FullDataSize = DataSize -- + sizeof (*CertList) -- + sizeof (EFI_GUID) -- + vendor_cert_size -- ; -+ FullDataSize = DataSize; -+ if (use_builtin_cert) { -+ FullDataSize += sizeof (*CertList) + -+ sizeof (EFI_GUID) + -+ vendor_cert_size; -+ } else if (DataSize == 0) { -+ return EFI_SUCCESS; -+ } - FullData = AllocatePool(FullDataSize); - if (!FullData) { - perror(L"Failed to allocate space for MokListRT\n"); -@@ -1539,21 +1543,24 @@ EFI_STATUS mirror_mok_list() - CopyMem(p, Data, DataSize); - p += DataSize; - } -- CertList = (EFI_SIGNATURE_LIST *)p; -- p += sizeof (*CertList); -- CertData = (EFI_SIGNATURE_DATA *)p; -- p += sizeof (EFI_GUID); -- -- CertList->SignatureType = EFI_CERT_X509_GUID; -- CertList->SignatureListSize = vendor_cert_size -- + sizeof (*CertList) -- + sizeof (*CertData) -- -1; -- CertList->SignatureHeaderSize = 0; -- CertList->SignatureSize = vendor_cert_size + sizeof (EFI_GUID); - -- CertData->SignatureOwner = SHIM_LOCK_GUID; -- CopyMem(p, vendor_cert, vendor_cert_size); -+ if (use_builtin_cert) { -+ CertList = (EFI_SIGNATURE_LIST *)p; -+ p += sizeof (*CertList); -+ CertData = (EFI_SIGNATURE_DATA *)p; -+ p += sizeof (EFI_GUID); -+ -+ CertList->SignatureType = EFI_CERT_X509_GUID; -+ CertList->SignatureListSize = vendor_cert_size -+ + sizeof (*CertList) -+ + sizeof (*CertData) -+ -1; -+ CertList->SignatureHeaderSize = 0; -+ CertList->SignatureSize = vendor_cert_size + sizeof (EFI_GUID); -+ -+ CertData->SignatureOwner = SHIM_LOCK_GUID; -+ CopyMem(p, vendor_cert, vendor_cert_size); -+ } - - efi_status = uefi_call_wrapper(RT->SetVariable, 5, L"MokListRT", - &shim_lock_guid, -@@ -1600,7 +1607,7 @@ EFI_STATUS check_mok_request(EFI_HANDLE - check_var(L"MokPW") || check_var(L"MokAuth") || - check_var(L"MokDel") || check_var(L"MokDB") || - check_var(L"MokXNew") || check_var(L"MokXDel") || -- check_var(L"MokXAuth")) { -+ check_var(L"MokXAuth") || check_var(L"ClearVerify")) { - efi_status = start_image(image_handle, MOK_MANAGER); - - if (efi_status != EFI_SUCCESS) { -@@ -1840,6 +1847,75 @@ uninstall_shim_protocols(void) +- if (vendor_cert_size) { ++ if (vendor_cert_size && use_builtin_cert) { + FullDataSize = DataSize + + sizeof (*CertList) + + sizeof (EFI_GUID) +@@ -2057,6 +2058,75 @@ uninstall_shim_protocols(void) &shim_lock_guid, &shim_lock_interface); } @@ -185,7 +126,7 @@ Index: shim-0.7/shim.c EFI_STATUS efi_main (EFI_HANDLE image_handle, EFI_SYSTEM_TABLE *passed_systab) { EFI_STATUS efi_status; -@@ -1895,6 +1971,8 @@ EFI_STATUS efi_main (EFI_HANDLE image_ha +@@ -2112,6 +2182,8 @@ EFI_STATUS efi_main (EFI_HANDLE image_handle, EFI_SYSTEM_TABLE *passed_systab) */ hook_system_services(systab); loader_is_participating = 0; @@ -194,11 +135,30 @@ Index: shim-0.7/shim.c } } -Index: shim-0.7/MokManager.c -=================================================================== ---- shim-0.7.orig/MokManager.c -+++ shim-0.7/MokManager.c -@@ -1701,6 +1701,36 @@ static INTN mok_pw_prompt (void *MokPW, +-- +1.8.4.5 + + +From 7b87b12059a9f26125f135ae649757346d26d6f8 Mon Sep 17 00:00:00 2001 +From: Gary Ching-Pang Lin +Date: Thu, 20 Feb 2014 16:57:08 +0800 +Subject: [PATCH 2/3] Support revoking the openSUSE cert + +This is an openSUSE-only patch. + +To revoke the openSUSE cert, create ClearVerify, a NV RT variable, +and store the password hash in the variable, and then MokManager +will show up with an additional option to clear openSUSE_Verify +--- + MokManager.c | 61 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- + shim.c | 2 +- + 2 files changed, 60 insertions(+), 3 deletions(-) + +diff --git a/MokManager.c b/MokManager.c +index 442ab8f..7277968 100644 +--- a/MokManager.c ++++ b/MokManager.c +@@ -1731,6 +1731,33 @@ static INTN mok_pw_prompt (void *MokPW, UINTN MokPWSize) { return -1; } @@ -216,10 +176,7 @@ Index: shim-0.7/MokManager.c + if (status != EFI_SUCCESS) + return -1; + -+ status = uefi_call_wrapper(RT->SetVariable, 5, -+ L"openSUSE_Verify", &shim_lock_guid, -+ EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_NON_VOLATILE, -+ 0, NULL); ++ status = LibDeleteVariable(L"openSUSE_Verify", &shim_lock_guid); + if (status != EFI_SUCCESS) { + console_error(L"Failed to delete openSUSE_Verify", status); + return -1; @@ -235,7 +192,7 @@ Index: shim-0.7/MokManager.c static BOOLEAN verify_certificate(UINT8 *cert, UINTN size) { X509 *X509Cert; -@@ -2053,6 +2083,7 @@ typedef enum { +@@ -2083,6 +2110,7 @@ typedef enum { MOK_CHANGE_SB, MOK_SET_PW, MOK_CHANGE_DB, @@ -243,7 +200,7 @@ Index: shim-0.7/MokManager.c MOK_KEY_ENROLL, MOK_HASH_ENROLL } mok_menu_item; -@@ -2064,7 +2095,8 @@ static EFI_STATUS enter_mok_menu(EFI_HAN +@@ -2094,7 +2122,8 @@ static EFI_STATUS enter_mok_menu(EFI_HANDLE image_handle, void *MokPW, UINTN MokPWSize, void *MokDB, UINTN MokDBSize, void *MokXNew, UINTN MokXNewSize, @@ -253,7 +210,7 @@ Index: shim-0.7/MokManager.c { CHAR16 **menu_strings; mok_menu_item *menu_item; -@@ -2138,6 +2170,9 @@ static EFI_STATUS enter_mok_menu(EFI_HAN +@@ -2168,6 +2197,9 @@ static EFI_STATUS enter_mok_menu(EFI_HANDLE image_handle, if (MokDB) menucount++; @@ -263,7 +220,7 @@ Index: shim-0.7/MokManager.c menu_strings = AllocateZeroPool(sizeof(CHAR16 *) * (menucount + 1)); if (!menu_strings) -@@ -2207,6 +2242,12 @@ static EFI_STATUS enter_mok_menu(EFI_HAN +@@ -2237,6 +2269,12 @@ static EFI_STATUS enter_mok_menu(EFI_HANDLE image_handle, i++; } @@ -276,7 +233,7 @@ Index: shim-0.7/MokManager.c menu_strings[i] = L"Enroll key from disk"; menu_item[i] = MOK_KEY_ENROLL; i++; -@@ -2257,6 +2298,9 @@ static EFI_STATUS enter_mok_menu(EFI_HAN +@@ -2287,6 +2325,9 @@ static EFI_STATUS enter_mok_menu(EFI_HANDLE image_handle, case MOK_CHANGE_DB: mok_db_prompt(MokDB, MokDBSize); break; @@ -286,7 +243,7 @@ Index: shim-0.7/MokManager.c case MOK_KEY_ENROLL: mok_key_enroll(); break; -@@ -2282,6 +2326,7 @@ static EFI_STATUS check_mok_request(EFI_ +@@ -2312,6 +2353,7 @@ static EFI_STATUS check_mok_request(EFI_HANDLE image_handle) EFI_GUID shim_lock_guid = SHIM_LOCK_GUID; UINTN MokNewSize = 0, MokDelSize = 0, MokSBSize = 0, MokPWSize = 0; UINTN MokDBSize = 0, MokXNewSize = 0, MokXDelSize = 0; @@ -294,7 +251,7 @@ Index: shim-0.7/MokManager.c void *MokNew = NULL; void *MokDel = NULL; void *MokSB = NULL; -@@ -2289,6 +2334,7 @@ static EFI_STATUS check_mok_request(EFI_ +@@ -2319,6 +2361,7 @@ static EFI_STATUS check_mok_request(EFI_HANDLE image_handle) void *MokDB = NULL; void *MokXNew = NULL; void *MokXDel = NULL; @@ -302,7 +259,7 @@ Index: shim-0.7/MokManager.c EFI_STATUS status; status = get_variable(L"MokNew", (UINT8 **)&MokNew, &MokNewSize, -@@ -2361,9 +2407,20 @@ static EFI_STATUS check_mok_request(EFI_ +@@ -2391,9 +2434,20 @@ static EFI_STATUS check_mok_request(EFI_HANDLE image_handle) console_error(L"Could not retrieve MokXDel", status); } @@ -324,7 +281,7 @@ Index: shim-0.7/MokManager.c if (MokNew) FreePool (MokNew); -@@ -2386,6 +2443,9 @@ static EFI_STATUS check_mok_request(EFI_ +@@ -2416,6 +2470,9 @@ static EFI_STATUS check_mok_request(EFI_HANDLE image_handle) if (MokXDel) FreePool (MokXDel); @@ -334,3 +291,51 @@ Index: shim-0.7/MokManager.c LibDeleteVariable(L"MokAuth", &shim_lock_guid); LibDeleteVariable(L"MokDelAuth", &shim_lock_guid); LibDeleteVariable(L"MokXAuth", &shim_lock_guid); +diff --git a/shim.c b/shim.c +index c14a54d..1287eed 100644 +--- a/shim.c ++++ b/shim.c +@@ -1818,7 +1818,7 @@ EFI_STATUS check_mok_request(EFI_HANDLE image_handle) + check_var(L"MokPW") || check_var(L"MokAuth") || + check_var(L"MokDel") || check_var(L"MokDB") || + check_var(L"MokXNew") || check_var(L"MokXDel") || +- check_var(L"MokXAuth")) { ++ check_var(L"MokXAuth") || check_var(L"ClearVerify")) { + efi_status = start_image(image_handle, MOK_MANAGER); + + if (efi_status != EFI_SUCCESS) { +-- +1.8.4.5 + + +From c7340fe9219777622fe58b6596f53a4cad739e9f Mon Sep 17 00:00:00 2001 +From: Gary Ching-Pang Lin +Date: Fri, 7 Mar 2014 16:17:20 +0800 +Subject: [PATCH 3/3] Delete openSUSE_Verify the right way + +This is an openSUSE-only patch. + +LibDeleteVariable only works on the runtime variables. +--- + MokManager.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/MokManager.c b/MokManager.c +index 7277968..b5d2454 100644 +--- a/MokManager.c ++++ b/MokManager.c +@@ -1745,7 +1745,10 @@ static INTN mok_clear_verify_prompt(void *ClearVerify, UINTN ClearVerifySize) { + if (status != EFI_SUCCESS) + return -1; + +- status = LibDeleteVariable(L"openSUSE_Verify", &shim_lock_guid); ++ status = uefi_call_wrapper(RT->SetVariable, 5, ++ L"openSUSE_Verify", &shim_lock_guid, ++ EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_NON_VOLATILE, ++ 0, NULL); + if (status != EFI_SUCCESS) { + console_error(L"Failed to delete openSUSE_Verify", status); + return -1; +-- +1.8.4.5 + diff --git a/shim-signed-unsigned-compares.patch b/shim-signed-unsigned-compares.patch deleted file mode 100644 index bae201e..0000000 --- a/shim-signed-unsigned-compares.patch +++ /dev/null @@ -1,51 +0,0 @@ -Index: shim-0.7/MokManager.c -=================================================================== ---- shim-0.7.orig/MokManager.c -+++ shim-0.7/MokManager.c -@@ -483,8 +483,8 @@ static void show_efi_hash (EFI_GUID Type - UINTN hash_num; - UINT8 *hash; - CHAR16 **menu_strings; -- int key_num = 0; -- int i; -+ UINTN key_num = 0; -+ UINTN i; - - sig_size = sha_size(Type) + sizeof(EFI_GUID); - if ((MokSize % sig_size) != 0) { -@@ -562,7 +562,7 @@ static EFI_STATUS list_keys (void *KeyLi - { - UINT32 MokNum = 0; - MokListNode *keys = NULL; -- int key_num = 0; -+ UINT32 key_num = 0; - CHAR16 **menu_strings; - unsigned int i; - -@@ -1088,7 +1088,7 @@ static int match_hash (UINT8 *hash, UINT - void *hash_list, UINT32 list_num) - { - UINT8 *ptr; -- int i; -+ UINTN i; - - ptr = hash_list + sizeof(EFI_GUID); - for (i = start; i < list_num; i++) { -@@ -1103,7 +1103,7 @@ static int match_hash (UINT8 *hash, UINT - static void mem_move (void *dest, void *src, UINTN size) - { - UINT8 *d, *s; -- int i; -+ UINTN i; - - d = (UINT8 *)dest; - s = (UINT8 *)src; -@@ -1160,7 +1160,7 @@ static void delete_hash_list (EFI_GUID T - UINT32 hash_num; - UINT32 sig_size; - UINT8 *hash; -- int i; -+ UINT32 i; - - hash_size = sha_size (Type); - sig_size = hash_size + sizeof(EFI_GUID); diff --git a/shim-update-openssl-0.9.8zb.patch b/shim-update-openssl-0.9.8zb.patch deleted file mode 100644 index e9402a2..0000000 --- a/shim-update-openssl-0.9.8zb.patch +++ /dev/null @@ -1,4231 +0,0 @@ -From 1941c0e2af12c4ee29d39ee21040db777773744e Mon Sep 17 00:00:00 2001 -From: Gary Ching-Pang Lin -Date: Tue, 19 Aug 2014 12:15:00 +0800 -Subject: [PATCH] Update openssl to 0.9.8zb - -Also update to Tiano Cryptlib r15802 and remove the execute mode -bits from the C and header files of openssl ---- - Cryptlib/OpenSSL/crypto/aes/aes_cbc.c | 0 - Cryptlib/OpenSSL/crypto/aes/aes_cfb.c | 0 - Cryptlib/OpenSSL/crypto/aes/aes_core.c | 0 - Cryptlib/OpenSSL/crypto/aes/aes_ctr.c | 0 - Cryptlib/OpenSSL/crypto/aes/aes_ecb.c | 0 - Cryptlib/OpenSSL/crypto/aes/aes_ige.c | 0 - Cryptlib/OpenSSL/crypto/aes/aes_misc.c | 0 - Cryptlib/OpenSSL/crypto/aes/aes_ofb.c | 0 - Cryptlib/OpenSSL/crypto/aes/aes_wrap.c | 0 - Cryptlib/OpenSSL/crypto/asn1/a_bitstr.c | 0 - Cryptlib/OpenSSL/crypto/asn1/a_bool.c | 0 - Cryptlib/OpenSSL/crypto/asn1/a_bytes.c | 0 - Cryptlib/OpenSSL/crypto/asn1/a_d2i_fp.c | 0 - Cryptlib/OpenSSL/crypto/asn1/a_digest.c | 0 - Cryptlib/OpenSSL/crypto/asn1/a_dup.c | 0 - Cryptlib/OpenSSL/crypto/asn1/a_enum.c | 0 - Cryptlib/OpenSSL/crypto/asn1/a_gentm.c | 0 - Cryptlib/OpenSSL/crypto/asn1/a_hdr.c | 0 - Cryptlib/OpenSSL/crypto/asn1/a_i2d_fp.c | 0 - Cryptlib/OpenSSL/crypto/asn1/a_int.c | 0 - Cryptlib/OpenSSL/crypto/asn1/a_mbstr.c | 0 - Cryptlib/OpenSSL/crypto/asn1/a_meth.c | 0 - Cryptlib/OpenSSL/crypto/asn1/a_object.c | 30 +- - Cryptlib/OpenSSL/crypto/asn1/a_octet.c | 0 - Cryptlib/OpenSSL/crypto/asn1/a_print.c | 0 - Cryptlib/OpenSSL/crypto/asn1/a_set.c | 0 - Cryptlib/OpenSSL/crypto/asn1/a_sign.c | 0 - Cryptlib/OpenSSL/crypto/asn1/a_strex.c | 0 - Cryptlib/OpenSSL/crypto/asn1/a_strnid.c | 0 - Cryptlib/OpenSSL/crypto/asn1/a_time.c | 0 - Cryptlib/OpenSSL/crypto/asn1/a_type.c | 0 - Cryptlib/OpenSSL/crypto/asn1/a_utctm.c | 0 - Cryptlib/OpenSSL/crypto/asn1/a_utf8.c | 0 - Cryptlib/OpenSSL/crypto/asn1/a_verify.c | 0 - Cryptlib/OpenSSL/crypto/asn1/asn1_err.c | 0 - Cryptlib/OpenSSL/crypto/asn1/asn1_gen.c | 0 - Cryptlib/OpenSSL/crypto/asn1/asn1_lib.c | 3 + - Cryptlib/OpenSSL/crypto/asn1/asn1_par.c | 0 - Cryptlib/OpenSSL/crypto/asn1/asn_mime.c | 2 + - Cryptlib/OpenSSL/crypto/asn1/asn_moid.c | 0 - Cryptlib/OpenSSL/crypto/asn1/asn_pack.c | 12 +- - Cryptlib/OpenSSL/crypto/asn1/d2i_pr.c | 0 - Cryptlib/OpenSSL/crypto/asn1/d2i_pu.c | 0 - Cryptlib/OpenSSL/crypto/asn1/evp_asn1.c | 6 +- - Cryptlib/OpenSSL/crypto/asn1/f_enum.c | 0 - Cryptlib/OpenSSL/crypto/asn1/f_int.c | 0 - Cryptlib/OpenSSL/crypto/asn1/f_string.c | 0 - Cryptlib/OpenSSL/crypto/asn1/i2d_pr.c | 0 - Cryptlib/OpenSSL/crypto/asn1/i2d_pu.c | 0 - Cryptlib/OpenSSL/crypto/asn1/n_pkey.c | 0 - Cryptlib/OpenSSL/crypto/asn1/nsseq.c | 0 - Cryptlib/OpenSSL/crypto/asn1/p5_pbe.c | 0 - Cryptlib/OpenSSL/crypto/asn1/p5_pbev2.c | 0 - Cryptlib/OpenSSL/crypto/asn1/p8_pkey.c | 0 - Cryptlib/OpenSSL/crypto/asn1/t_bitst.c | 0 - Cryptlib/OpenSSL/crypto/asn1/t_crl.c | 0 - Cryptlib/OpenSSL/crypto/asn1/t_pkey.c | 0 - Cryptlib/OpenSSL/crypto/asn1/t_req.c | 0 - Cryptlib/OpenSSL/crypto/asn1/t_spki.c | 0 - Cryptlib/OpenSSL/crypto/asn1/t_x509.c | 2 + - Cryptlib/OpenSSL/crypto/asn1/t_x509a.c | 0 - Cryptlib/OpenSSL/crypto/asn1/tasn_dec.c | 0 - Cryptlib/OpenSSL/crypto/asn1/tasn_enc.c | 7 +- - Cryptlib/OpenSSL/crypto/asn1/tasn_fre.c | 0 - Cryptlib/OpenSSL/crypto/asn1/tasn_new.c | 0 - Cryptlib/OpenSSL/crypto/asn1/tasn_typ.c | 0 - Cryptlib/OpenSSL/crypto/asn1/tasn_utl.c | 0 - Cryptlib/OpenSSL/crypto/asn1/x_algor.c | 0 - Cryptlib/OpenSSL/crypto/asn1/x_attrib.c | 0 - Cryptlib/OpenSSL/crypto/asn1/x_bignum.c | 0 - Cryptlib/OpenSSL/crypto/asn1/x_crl.c | 0 - Cryptlib/OpenSSL/crypto/asn1/x_exten.c | 0 - Cryptlib/OpenSSL/crypto/asn1/x_info.c | 0 - Cryptlib/OpenSSL/crypto/asn1/x_long.c | 0 - Cryptlib/OpenSSL/crypto/asn1/x_name.c | 0 - Cryptlib/OpenSSL/crypto/asn1/x_pkey.c | 0 - Cryptlib/OpenSSL/crypto/asn1/x_pubkey.c | 0 - Cryptlib/OpenSSL/crypto/asn1/x_req.c | 0 - Cryptlib/OpenSSL/crypto/asn1/x_sig.c | 0 - Cryptlib/OpenSSL/crypto/asn1/x_spki.c | 0 - Cryptlib/OpenSSL/crypto/asn1/x_val.c | 0 - Cryptlib/OpenSSL/crypto/asn1/x_x509.c | 0 - Cryptlib/OpenSSL/crypto/asn1/x_x509a.c | 0 - Cryptlib/OpenSSL/crypto/bf/bf_cfb64.c | 0 - Cryptlib/OpenSSL/crypto/bf/bf_ecb.c | 0 - Cryptlib/OpenSSL/crypto/bf/bf_enc.c | 0 - Cryptlib/OpenSSL/crypto/bf/bf_ofb64.c | 0 - Cryptlib/OpenSSL/crypto/bf/bf_skey.c | 0 - Cryptlib/OpenSSL/crypto/bio/b_dump.c | 0 - Cryptlib/OpenSSL/crypto/bio/bf_buff.c | 0 - Cryptlib/OpenSSL/crypto/bio/bf_nbio.c | 0 - Cryptlib/OpenSSL/crypto/bio/bf_null.c | 0 - Cryptlib/OpenSSL/crypto/bio/bio_cb.c | 0 - Cryptlib/OpenSSL/crypto/bio/bio_err.c | 0 - Cryptlib/OpenSSL/crypto/bio/bio_lib.c | 4 +- - Cryptlib/OpenSSL/crypto/bio/bss_bio.c | 0 - Cryptlib/OpenSSL/crypto/bio/bss_dgram.c | 0 - Cryptlib/OpenSSL/crypto/bio/bss_fd.c | 0 - Cryptlib/OpenSSL/crypto/bio/bss_file.c | 0 - Cryptlib/OpenSSL/crypto/bio/bss_log.c | 0 - Cryptlib/OpenSSL/crypto/bio/bss_mem.c | 0 - Cryptlib/OpenSSL/crypto/bio/bss_null.c | 0 - Cryptlib/OpenSSL/crypto/bn/bn_add.c | 0 - Cryptlib/OpenSSL/crypto/bn/bn_asm.c | 0 - Cryptlib/OpenSSL/crypto/bn/bn_blind.c | 0 - Cryptlib/OpenSSL/crypto/bn/bn_const.c | 0 - Cryptlib/OpenSSL/crypto/bn/bn_ctx.c | 0 - Cryptlib/OpenSSL/crypto/bn/bn_depr.c | 0 - Cryptlib/OpenSSL/crypto/bn/bn_div.c | 0 - Cryptlib/OpenSSL/crypto/bn/bn_err.c | 0 - Cryptlib/OpenSSL/crypto/bn/bn_exp.c | 0 - Cryptlib/OpenSSL/crypto/bn/bn_exp2.c | 0 - Cryptlib/OpenSSL/crypto/bn/bn_gcd.c | 0 - Cryptlib/OpenSSL/crypto/bn/bn_gf2m.c | 51 ++ - Cryptlib/OpenSSL/crypto/bn/bn_kron.c | 0 - Cryptlib/OpenSSL/crypto/bn/bn_lib.c | 61 +- - Cryptlib/OpenSSL/crypto/bn/bn_mod.c | 0 - Cryptlib/OpenSSL/crypto/bn/bn_mont.c | 0 - Cryptlib/OpenSSL/crypto/bn/bn_mpi.c | 0 - Cryptlib/OpenSSL/crypto/bn/bn_mul.c | 0 - Cryptlib/OpenSSL/crypto/bn/bn_nist.c | 0 - Cryptlib/OpenSSL/crypto/bn/bn_opt.c | 0 - Cryptlib/OpenSSL/crypto/bn/bn_prime.c | 0 - Cryptlib/OpenSSL/crypto/bn/bn_print.c | 0 - Cryptlib/OpenSSL/crypto/bn/bn_rand.c | 0 - Cryptlib/OpenSSL/crypto/bn/bn_recp.c | 0 - Cryptlib/OpenSSL/crypto/bn/bn_shift.c | 0 - Cryptlib/OpenSSL/crypto/bn/bn_sqr.c | 1 + - Cryptlib/OpenSSL/crypto/bn/bn_sqrt.c | 0 - Cryptlib/OpenSSL/crypto/bn/bn_word.c | 0 - Cryptlib/OpenSSL/crypto/bn/bn_x931p.c | 0 - Cryptlib/OpenSSL/crypto/buffer/buf_err.c | 0 - Cryptlib/OpenSSL/crypto/buffer/buf_str.c | 0 - Cryptlib/OpenSSL/crypto/buffer/buffer.c | 0 - Cryptlib/OpenSSL/crypto/cast/c_cfb64.c | 0 - Cryptlib/OpenSSL/crypto/cast/c_ecb.c | 0 - Cryptlib/OpenSSL/crypto/cast/c_enc.c | 0 - Cryptlib/OpenSSL/crypto/cast/c_ofb64.c | 0 - Cryptlib/OpenSSL/crypto/cast/c_skey.c | 0 - Cryptlib/OpenSSL/crypto/comp/c_rle.c | 0 - Cryptlib/OpenSSL/crypto/comp/c_zlib.c | 0 - Cryptlib/OpenSSL/crypto/comp/comp_err.c | 0 - Cryptlib/OpenSSL/crypto/comp/comp_lib.c | 0 - Cryptlib/OpenSSL/crypto/conf/conf_api.c | 2 +- - Cryptlib/OpenSSL/crypto/conf/conf_def.c | 2 +- - Cryptlib/OpenSSL/crypto/conf/conf_err.c | 0 - Cryptlib/OpenSSL/crypto/conf/conf_lib.c | 0 - Cryptlib/OpenSSL/crypto/conf/conf_mall.c | 0 - Cryptlib/OpenSSL/crypto/conf/conf_mod.c | 0 - Cryptlib/OpenSSL/crypto/conf/conf_sap.c | 0 - Cryptlib/OpenSSL/crypto/cpt_err.c | 0 - Cryptlib/OpenSSL/crypto/cryptlib.c | 0 - Cryptlib/OpenSSL/crypto/cversion.c | 0 - Cryptlib/OpenSSL/crypto/des/cbc_cksm.c | 0 - Cryptlib/OpenSSL/crypto/des/cbc_enc.c | 0 - Cryptlib/OpenSSL/crypto/des/cfb64ede.c | 0 - Cryptlib/OpenSSL/crypto/des/cfb64enc.c | 0 - Cryptlib/OpenSSL/crypto/des/cfb_enc.c | 0 - Cryptlib/OpenSSL/crypto/des/des_enc.c | 0 - Cryptlib/OpenSSL/crypto/des/des_lib.c | 0 - Cryptlib/OpenSSL/crypto/des/des_old.c | 0 - Cryptlib/OpenSSL/crypto/des/des_old2.c | 0 - Cryptlib/OpenSSL/crypto/des/ecb3_enc.c | 0 - Cryptlib/OpenSSL/crypto/des/ecb_enc.c | 0 - Cryptlib/OpenSSL/crypto/des/ede_cbcm_enc.c | 0 - Cryptlib/OpenSSL/crypto/des/enc_read.c | 0 - Cryptlib/OpenSSL/crypto/des/enc_writ.c | 0 - Cryptlib/OpenSSL/crypto/des/fcrypt.c | 0 - Cryptlib/OpenSSL/crypto/des/fcrypt_b.c | 0 - Cryptlib/OpenSSL/crypto/des/ofb64ede.c | 0 - Cryptlib/OpenSSL/crypto/des/ofb64enc.c | 0 - Cryptlib/OpenSSL/crypto/des/ofb_enc.c | 0 - Cryptlib/OpenSSL/crypto/des/pcbc_enc.c | 0 - Cryptlib/OpenSSL/crypto/des/qud_cksm.c | 0 - Cryptlib/OpenSSL/crypto/des/rand_key.c | 0 - Cryptlib/OpenSSL/crypto/des/read2pwd.c | 0 - Cryptlib/OpenSSL/crypto/des/rpc_enc.c | 0 - Cryptlib/OpenSSL/crypto/des/set_key.c | 0 - Cryptlib/OpenSSL/crypto/des/str2key.c | 0 - Cryptlib/OpenSSL/crypto/des/xcbc_enc.c | 0 - Cryptlib/OpenSSL/crypto/dh/dh_asn1.c | 0 - Cryptlib/OpenSSL/crypto/dh/dh_check.c | 0 - Cryptlib/OpenSSL/crypto/dh/dh_depr.c | 0 - Cryptlib/OpenSSL/crypto/dh/dh_err.c | 0 - Cryptlib/OpenSSL/crypto/dh/dh_gen.c | 0 - Cryptlib/OpenSSL/crypto/dh/dh_key.c | 0 - Cryptlib/OpenSSL/crypto/dh/dh_lib.c | 0 - Cryptlib/OpenSSL/crypto/dsa/dsa_asn1.c | 0 - Cryptlib/OpenSSL/crypto/dsa/dsa_depr.c | 0 - Cryptlib/OpenSSL/crypto/dsa/dsa_err.c | 0 - Cryptlib/OpenSSL/crypto/dsa/dsa_gen.c | 0 - Cryptlib/OpenSSL/crypto/dsa/dsa_key.c | 0 - Cryptlib/OpenSSL/crypto/dsa/dsa_lib.c | 0 - Cryptlib/OpenSSL/crypto/dsa/dsa_ossl.c | 0 - Cryptlib/OpenSSL/crypto/dsa/dsa_sign.c | 0 - Cryptlib/OpenSSL/crypto/dsa/dsa_utl.c | 0 - Cryptlib/OpenSSL/crypto/dsa/dsa_vrf.c | 0 - Cryptlib/OpenSSL/crypto/dso/dso_dl.c | 0 - Cryptlib/OpenSSL/crypto/dso/dso_dlfcn.c | 0 - Cryptlib/OpenSSL/crypto/dso/dso_err.c | 0 - Cryptlib/OpenSSL/crypto/dso/dso_lib.c | 0 - Cryptlib/OpenSSL/crypto/dso/dso_null.c | 0 - Cryptlib/OpenSSL/crypto/dso/dso_openssl.c | 0 - Cryptlib/OpenSSL/crypto/dso/dso_vms.c | 0 - Cryptlib/OpenSSL/crypto/dso/dso_win32.c | 0 - Cryptlib/OpenSSL/crypto/dyn_lck.c | 0 - Cryptlib/OpenSSL/crypto/ebcdic.c | 0 - Cryptlib/OpenSSL/crypto/ec/ec2_mult.c | 0 - Cryptlib/OpenSSL/crypto/ec/ec2_smpl.c | 0 - Cryptlib/OpenSSL/crypto/ec/ec_asn1.c | 0 - Cryptlib/OpenSSL/crypto/ec/ec_check.c | 0 - Cryptlib/OpenSSL/crypto/ec/ec_curve.c | 0 - Cryptlib/OpenSSL/crypto/ec/ec_cvt.c | 0 - Cryptlib/OpenSSL/crypto/ec/ec_err.c | 0 - Cryptlib/OpenSSL/crypto/ec/ec_key.c | 0 - Cryptlib/OpenSSL/crypto/ec/ec_lib.c | 2 +- - Cryptlib/OpenSSL/crypto/ec/ec_mult.c | 0 - Cryptlib/OpenSSL/crypto/ec/ec_print.c | 0 - Cryptlib/OpenSSL/crypto/ec/ecp_mont.c | 0 - Cryptlib/OpenSSL/crypto/ec/ecp_nist.c | 0 - Cryptlib/OpenSSL/crypto/ec/ecp_smpl.c | 174 ++--- - Cryptlib/OpenSSL/crypto/ecdh/ech_err.c | 0 - Cryptlib/OpenSSL/crypto/ecdh/ech_key.c | 0 - Cryptlib/OpenSSL/crypto/ecdh/ech_lib.c | 0 - Cryptlib/OpenSSL/crypto/ecdh/ech_ossl.c | 0 - Cryptlib/OpenSSL/crypto/ecdsa/ecs_asn1.c | 0 - Cryptlib/OpenSSL/crypto/ecdsa/ecs_err.c | 0 - Cryptlib/OpenSSL/crypto/ecdsa/ecs_lib.c | 0 - Cryptlib/OpenSSL/crypto/ecdsa/ecs_ossl.c | 0 - Cryptlib/OpenSSL/crypto/ecdsa/ecs_sign.c | 0 - Cryptlib/OpenSSL/crypto/ecdsa/ecs_vrf.c | 0 - Cryptlib/OpenSSL/crypto/engine/eng_all.c | 0 - Cryptlib/OpenSSL/crypto/engine/eng_cnf.c | 0 - Cryptlib/OpenSSL/crypto/engine/eng_cryptodev.c | 0 - Cryptlib/OpenSSL/crypto/engine/eng_ctrl.c | 0 - Cryptlib/OpenSSL/crypto/engine/eng_dyn.c | 0 - Cryptlib/OpenSSL/crypto/engine/eng_err.c | 0 - Cryptlib/OpenSSL/crypto/engine/eng_fat.c | 0 - Cryptlib/OpenSSL/crypto/engine/eng_init.c | 0 - Cryptlib/OpenSSL/crypto/engine/eng_lib.c | 0 - Cryptlib/OpenSSL/crypto/engine/eng_list.c | 0 - Cryptlib/OpenSSL/crypto/engine/eng_openssl.c | 0 - Cryptlib/OpenSSL/crypto/engine/eng_padlock.c | 0 - Cryptlib/OpenSSL/crypto/engine/eng_pkey.c | 0 - Cryptlib/OpenSSL/crypto/engine/eng_table.c | 0 - Cryptlib/OpenSSL/crypto/engine/tb_cipher.c | 0 - Cryptlib/OpenSSL/crypto/engine/tb_dh.c | 0 - Cryptlib/OpenSSL/crypto/engine/tb_digest.c | 0 - Cryptlib/OpenSSL/crypto/engine/tb_dsa.c | 0 - Cryptlib/OpenSSL/crypto/engine/tb_ecdh.c | 0 - Cryptlib/OpenSSL/crypto/engine/tb_ecdsa.c | 0 - Cryptlib/OpenSSL/crypto/engine/tb_rand.c | 0 - Cryptlib/OpenSSL/crypto/engine/tb_rsa.c | 0 - Cryptlib/OpenSSL/crypto/engine/tb_store.c | 0 - Cryptlib/OpenSSL/crypto/err/err.c | 0 - Cryptlib/OpenSSL/crypto/err/err_all.c | 0 - Cryptlib/OpenSSL/crypto/err/err_bio.c | 0 - Cryptlib/OpenSSL/crypto/err/err_def.c | 0 - Cryptlib/OpenSSL/crypto/err/err_prn.c | 0 - Cryptlib/OpenSSL/crypto/err/err_str.c | 0 - Cryptlib/OpenSSL/crypto/evp/bio_b64.c | 0 - Cryptlib/OpenSSL/crypto/evp/bio_enc.c | 0 - Cryptlib/OpenSSL/crypto/evp/bio_md.c | 0 - Cryptlib/OpenSSL/crypto/evp/bio_ok.c | 0 - Cryptlib/OpenSSL/crypto/evp/c_all.c | 0 - Cryptlib/OpenSSL/crypto/evp/c_allc.c | 0 - Cryptlib/OpenSSL/crypto/evp/c_alld.c | 0 - Cryptlib/OpenSSL/crypto/evp/dig_eng.c | 0 - Cryptlib/OpenSSL/crypto/evp/digest.c | 0 - Cryptlib/OpenSSL/crypto/evp/e_aes.c | 0 - Cryptlib/OpenSSL/crypto/evp/e_bf.c | 0 - Cryptlib/OpenSSL/crypto/evp/e_cast.c | 0 - Cryptlib/OpenSSL/crypto/evp/e_des.c | 0 - Cryptlib/OpenSSL/crypto/evp/e_des3.c | 0 - Cryptlib/OpenSSL/crypto/evp/e_idea.c | 0 - Cryptlib/OpenSSL/crypto/evp/e_null.c | 0 - Cryptlib/OpenSSL/crypto/evp/e_old.c | 0 - Cryptlib/OpenSSL/crypto/evp/e_rc2.c | 0 - Cryptlib/OpenSSL/crypto/evp/e_rc4.c | 0 - Cryptlib/OpenSSL/crypto/evp/e_rc5.c | 0 - Cryptlib/OpenSSL/crypto/evp/e_xcbc_d.c | 0 - Cryptlib/OpenSSL/crypto/evp/enc_min.c | 0 - Cryptlib/OpenSSL/crypto/evp/encode.c | 0 - Cryptlib/OpenSSL/crypto/evp/evp_acnf.c | 0 - Cryptlib/OpenSSL/crypto/evp/evp_cnf.c | 0 - Cryptlib/OpenSSL/crypto/evp/evp_enc.c | 0 - Cryptlib/OpenSSL/crypto/evp/evp_err.c | 0 - Cryptlib/OpenSSL/crypto/evp/evp_key.c | 0 - Cryptlib/OpenSSL/crypto/evp/evp_lib.c | 0 - Cryptlib/OpenSSL/crypto/evp/evp_pbe.c | 0 - Cryptlib/OpenSSL/crypto/evp/evp_pkey.c | 0 - Cryptlib/OpenSSL/crypto/evp/m_dss.c | 0 - Cryptlib/OpenSSL/crypto/evp/m_dss1.c | 0 - Cryptlib/OpenSSL/crypto/evp/m_ecdsa.c | 0 - Cryptlib/OpenSSL/crypto/evp/m_md2.c | 0 - Cryptlib/OpenSSL/crypto/evp/m_md4.c | 0 - Cryptlib/OpenSSL/crypto/evp/m_md5.c | 0 - Cryptlib/OpenSSL/crypto/evp/m_null.c | 0 - Cryptlib/OpenSSL/crypto/evp/m_ripemd.c | 0 - Cryptlib/OpenSSL/crypto/evp/m_sha.c | 0 - Cryptlib/OpenSSL/crypto/evp/m_sha1.c | 0 - Cryptlib/OpenSSL/crypto/evp/names.c | 0 - Cryptlib/OpenSSL/crypto/evp/p5_crpt.c | 0 - Cryptlib/OpenSSL/crypto/evp/p5_crpt2.c | 0 - Cryptlib/OpenSSL/crypto/evp/p_dec.c | 0 - Cryptlib/OpenSSL/crypto/evp/p_enc.c | 0 - Cryptlib/OpenSSL/crypto/evp/p_lib.c | 0 - Cryptlib/OpenSSL/crypto/evp/p_open.c | 0 - Cryptlib/OpenSSL/crypto/evp/p_seal.c | 0 - Cryptlib/OpenSSL/crypto/evp/p_sign.c | 0 - Cryptlib/OpenSSL/crypto/evp/p_verify.c | 0 - Cryptlib/OpenSSL/crypto/ex_data.c | 0 - Cryptlib/OpenSSL/crypto/fips_err.c | 0 - Cryptlib/OpenSSL/crypto/hmac/hmac.c | 0 - Cryptlib/OpenSSL/crypto/idea/i_cbc.c | 0 - Cryptlib/OpenSSL/crypto/idea/i_cfb64.c | 0 - Cryptlib/OpenSSL/crypto/idea/i_ecb.c | 0 - Cryptlib/OpenSSL/crypto/idea/i_ofb64.c | 0 - Cryptlib/OpenSSL/crypto/idea/i_skey.c | 0 - Cryptlib/OpenSSL/crypto/krb5/krb5_asn.c | 0 - Cryptlib/OpenSSL/crypto/lhash/lh_stats.c | 0 - Cryptlib/OpenSSL/crypto/lhash/lhash.c | 0 - Cryptlib/OpenSSL/crypto/md2/md2_dgst.c | 0 - Cryptlib/OpenSSL/crypto/md2/md2_one.c | 0 - Cryptlib/OpenSSL/crypto/md4/md4_dgst.c | 0 - Cryptlib/OpenSSL/crypto/md4/md4_one.c | 0 - Cryptlib/OpenSSL/crypto/md5/md5_dgst.c | 0 - Cryptlib/OpenSSL/crypto/md5/md5_one.c | 0 - Cryptlib/OpenSSL/crypto/mem.c | 0 - Cryptlib/OpenSSL/crypto/mem_clr.c | 0 - Cryptlib/OpenSSL/crypto/mem_dbg.c | 0 - Cryptlib/OpenSSL/crypto/o_dir.c | 0 - Cryptlib/OpenSSL/crypto/o_init.c | 0 - Cryptlib/OpenSSL/crypto/o_str.c | 0 - Cryptlib/OpenSSL/crypto/o_time.c | 0 - Cryptlib/OpenSSL/crypto/objects/o_names.c | 0 - Cryptlib/OpenSSL/crypto/objects/obj_dat.c | 16 +- - Cryptlib/OpenSSL/crypto/objects/obj_err.c | 0 - Cryptlib/OpenSSL/crypto/objects/obj_lib.c | 0 - Cryptlib/OpenSSL/crypto/ocsp/ocsp_asn.c | 0 - Cryptlib/OpenSSL/crypto/ocsp/ocsp_cl.c | 0 - Cryptlib/OpenSSL/crypto/ocsp/ocsp_err.c | 0 - Cryptlib/OpenSSL/crypto/ocsp/ocsp_ext.c | 0 - Cryptlib/OpenSSL/crypto/ocsp/ocsp_ht.c | 3 + - Cryptlib/OpenSSL/crypto/ocsp/ocsp_lib.c | 13 +- - Cryptlib/OpenSSL/crypto/ocsp/ocsp_prn.c | 0 - Cryptlib/OpenSSL/crypto/ocsp/ocsp_srv.c | 0 - Cryptlib/OpenSSL/crypto/ocsp/ocsp_vfy.c | 0 - Cryptlib/OpenSSL/crypto/pem/pem_all.c | 0 - Cryptlib/OpenSSL/crypto/pem/pem_err.c | 0 - Cryptlib/OpenSSL/crypto/pem/pem_info.c | 0 - Cryptlib/OpenSSL/crypto/pem/pem_lib.c | 0 - Cryptlib/OpenSSL/crypto/pem/pem_oth.c | 0 - Cryptlib/OpenSSL/crypto/pem/pem_pk8.c | 0 - Cryptlib/OpenSSL/crypto/pem/pem_pkey.c | 0 - Cryptlib/OpenSSL/crypto/pem/pem_seal.c | 0 - Cryptlib/OpenSSL/crypto/pem/pem_sign.c | 0 - Cryptlib/OpenSSL/crypto/pem/pem_x509.c | 0 - Cryptlib/OpenSSL/crypto/pem/pem_xaux.c | 0 - Cryptlib/OpenSSL/crypto/pkcs12/p12_add.c | 0 - Cryptlib/OpenSSL/crypto/pkcs12/p12_asn.c | 0 - Cryptlib/OpenSSL/crypto/pkcs12/p12_attr.c | 0 - Cryptlib/OpenSSL/crypto/pkcs12/p12_crpt.c | 0 - Cryptlib/OpenSSL/crypto/pkcs12/p12_crt.c | 0 - Cryptlib/OpenSSL/crypto/pkcs12/p12_decr.c | 0 - Cryptlib/OpenSSL/crypto/pkcs12/p12_init.c | 0 - Cryptlib/OpenSSL/crypto/pkcs12/p12_key.c | 0 - Cryptlib/OpenSSL/crypto/pkcs12/p12_kiss.c | 0 - Cryptlib/OpenSSL/crypto/pkcs12/p12_mutl.c | 0 - Cryptlib/OpenSSL/crypto/pkcs12/p12_npas.c | 0 - Cryptlib/OpenSSL/crypto/pkcs12/p12_p8d.c | 0 - Cryptlib/OpenSSL/crypto/pkcs12/p12_p8e.c | 0 - Cryptlib/OpenSSL/crypto/pkcs12/p12_utl.c | 0 - Cryptlib/OpenSSL/crypto/pkcs12/pk12err.c | 0 - Cryptlib/OpenSSL/crypto/pkcs7/pk7_asn1.c | 0 - Cryptlib/OpenSSL/crypto/pkcs7/pk7_attr.c | 0 - Cryptlib/OpenSSL/crypto/pkcs7/pk7_doit.c | 0 - Cryptlib/OpenSSL/crypto/pkcs7/pk7_lib.c | 0 - Cryptlib/OpenSSL/crypto/pkcs7/pk7_mime.c | 0 - Cryptlib/OpenSSL/crypto/pkcs7/pk7_smime.c | 0 - Cryptlib/OpenSSL/crypto/pkcs7/pkcs7err.c | 0 - Cryptlib/OpenSSL/crypto/pqueue/pqueue.c | 0 - Cryptlib/OpenSSL/crypto/rand/md_rand.c | 0 - Cryptlib/OpenSSL/crypto/rand/rand_egd.c | 0 - Cryptlib/OpenSSL/crypto/rand/rand_eng.c | 0 - Cryptlib/OpenSSL/crypto/rand/rand_err.c | 0 - Cryptlib/OpenSSL/crypto/rand/rand_lib.c | 0 - Cryptlib/OpenSSL/crypto/rand/rand_nw.c | 0 - Cryptlib/OpenSSL/crypto/rand/rand_os2.c | 0 - Cryptlib/OpenSSL/crypto/rand/rand_unix.c | 0 - Cryptlib/OpenSSL/crypto/rand/rand_win.c | 0 - Cryptlib/OpenSSL/crypto/rand/randfile.c | 0 - Cryptlib/OpenSSL/crypto/rc2/rc2_cbc.c | 0 - Cryptlib/OpenSSL/crypto/rc2/rc2_ecb.c | 0 - Cryptlib/OpenSSL/crypto/rc2/rc2_skey.c | 0 - Cryptlib/OpenSSL/crypto/rc2/rc2cfb64.c | 0 - Cryptlib/OpenSSL/crypto/rc2/rc2ofb64.c | 0 - Cryptlib/OpenSSL/crypto/rc4/rc4_enc.c | 0 - Cryptlib/OpenSSL/crypto/rc4/rc4_fblk.c | 0 - Cryptlib/OpenSSL/crypto/rc4/rc4_skey.c | 0 - Cryptlib/OpenSSL/crypto/ripemd/rmd_dgst.c | 0 - Cryptlib/OpenSSL/crypto/ripemd/rmd_one.c | 0 - Cryptlib/OpenSSL/crypto/rsa/rsa_asn1.c | 0 - Cryptlib/OpenSSL/crypto/rsa/rsa_chk.c | 0 - Cryptlib/OpenSSL/crypto/rsa/rsa_depr.c | 0 - Cryptlib/OpenSSL/crypto/rsa/rsa_eay.c | 2 +- - Cryptlib/OpenSSL/crypto/rsa/rsa_eng.c | 0 - Cryptlib/OpenSSL/crypto/rsa/rsa_err.c | 0 - Cryptlib/OpenSSL/crypto/rsa/rsa_gen.c | 0 - Cryptlib/OpenSSL/crypto/rsa/rsa_lib.c | 0 - Cryptlib/OpenSSL/crypto/rsa/rsa_none.c | 0 - Cryptlib/OpenSSL/crypto/rsa/rsa_null.c | 0 - Cryptlib/OpenSSL/crypto/rsa/rsa_oaep.c | 0 - Cryptlib/OpenSSL/crypto/rsa/rsa_pk1.c | 0 - Cryptlib/OpenSSL/crypto/rsa/rsa_pss.c | 0 - Cryptlib/OpenSSL/crypto/rsa/rsa_saos.c | 0 - Cryptlib/OpenSSL/crypto/rsa/rsa_sign.c | 0 - Cryptlib/OpenSSL/crypto/rsa/rsa_ssl.c | 0 - Cryptlib/OpenSSL/crypto/rsa/rsa_x931.c | 0 - Cryptlib/OpenSSL/crypto/rsa/rsa_x931g.c | 0 - Cryptlib/OpenSSL/crypto/sha/sha1_one.c | 0 - Cryptlib/OpenSSL/crypto/sha/sha1dgst.c | 0 - Cryptlib/OpenSSL/crypto/sha/sha256.c | 0 - Cryptlib/OpenSSL/crypto/sha/sha512.c | 0 - Cryptlib/OpenSSL/crypto/sha/sha_dgst.c | 0 - Cryptlib/OpenSSL/crypto/sha/sha_one.c | 0 - Cryptlib/OpenSSL/crypto/stack/stack.c | 0 - Cryptlib/OpenSSL/crypto/store/str_err.c | 0 - Cryptlib/OpenSSL/crypto/store/str_lib.c | 0 - Cryptlib/OpenSSL/crypto/store/str_mem.c | 0 - Cryptlib/OpenSSL/crypto/store/str_meth.c | 0 - Cryptlib/OpenSSL/crypto/txt_db/txt_db.c | 0 - Cryptlib/OpenSSL/crypto/ui/ui_compat.c | 0 - Cryptlib/OpenSSL/crypto/ui/ui_err.c | 0 - Cryptlib/OpenSSL/crypto/ui/ui_lib.c | 2 +- - Cryptlib/OpenSSL/crypto/ui/ui_util.c | 0 - Cryptlib/OpenSSL/crypto/uid.c | 0 - Cryptlib/OpenSSL/crypto/x509/by_dir.c | 0 - Cryptlib/OpenSSL/crypto/x509/by_file.c | 0 - Cryptlib/OpenSSL/crypto/x509/x509_att.c | 0 - Cryptlib/OpenSSL/crypto/x509/x509_cmp.c | 0 - Cryptlib/OpenSSL/crypto/x509/x509_d2.c | 0 - Cryptlib/OpenSSL/crypto/x509/x509_def.c | 0 - Cryptlib/OpenSSL/crypto/x509/x509_err.c | 0 - Cryptlib/OpenSSL/crypto/x509/x509_ext.c | 0 - Cryptlib/OpenSSL/crypto/x509/x509_lu.c | 0 - Cryptlib/OpenSSL/crypto/x509/x509_obj.c | 0 - Cryptlib/OpenSSL/crypto/x509/x509_r2x.c | 0 - Cryptlib/OpenSSL/crypto/x509/x509_req.c | 0 - Cryptlib/OpenSSL/crypto/x509/x509_set.c | 0 - Cryptlib/OpenSSL/crypto/x509/x509_trs.c | 0 - Cryptlib/OpenSSL/crypto/x509/x509_txt.c | 0 - Cryptlib/OpenSSL/crypto/x509/x509_v3.c | 0 - Cryptlib/OpenSSL/crypto/x509/x509_vfy.c | 0 - Cryptlib/OpenSSL/crypto/x509/x509_vpm.c | 0 - Cryptlib/OpenSSL/crypto/x509/x509cset.c | 0 - Cryptlib/OpenSSL/crypto/x509/x509name.c | 0 - Cryptlib/OpenSSL/crypto/x509/x509rset.c | 0 - Cryptlib/OpenSSL/crypto/x509/x509spki.c | 0 - Cryptlib/OpenSSL/crypto/x509/x509type.c | 0 - Cryptlib/OpenSSL/crypto/x509/x_all.c | 0 - Cryptlib/OpenSSL/crypto/x509v3/pcy_cache.c | 0 - Cryptlib/OpenSSL/crypto/x509v3/pcy_data.c | 0 - Cryptlib/OpenSSL/crypto/x509v3/pcy_lib.c | 0 - Cryptlib/OpenSSL/crypto/x509v3/pcy_map.c | 0 - Cryptlib/OpenSSL/crypto/x509v3/pcy_node.c | 0 - Cryptlib/OpenSSL/crypto/x509v3/pcy_tree.c | 0 - Cryptlib/OpenSSL/crypto/x509v3/v3_addr.c | 0 - Cryptlib/OpenSSL/crypto/x509v3/v3_akey.c | 0 - Cryptlib/OpenSSL/crypto/x509v3/v3_akeya.c | 0 - Cryptlib/OpenSSL/crypto/x509v3/v3_alt.c | 0 - Cryptlib/OpenSSL/crypto/x509v3/v3_asid.c | 0 - Cryptlib/OpenSSL/crypto/x509v3/v3_bcons.c | 0 - Cryptlib/OpenSSL/crypto/x509v3/v3_bitst.c | 0 - Cryptlib/OpenSSL/crypto/x509v3/v3_conf.c | 0 - Cryptlib/OpenSSL/crypto/x509v3/v3_cpols.c | 0 - Cryptlib/OpenSSL/crypto/x509v3/v3_crld.c | 0 - Cryptlib/OpenSSL/crypto/x509v3/v3_enum.c | 0 - Cryptlib/OpenSSL/crypto/x509v3/v3_extku.c | 0 - Cryptlib/OpenSSL/crypto/x509v3/v3_genn.c | 0 - Cryptlib/OpenSSL/crypto/x509v3/v3_ia5.c | 0 - Cryptlib/OpenSSL/crypto/x509v3/v3_info.c | 0 - Cryptlib/OpenSSL/crypto/x509v3/v3_int.c | 0 - Cryptlib/OpenSSL/crypto/x509v3/v3_lib.c | 0 - Cryptlib/OpenSSL/crypto/x509v3/v3_ncons.c | 0 - Cryptlib/OpenSSL/crypto/x509v3/v3_ocsp.c | 0 - Cryptlib/OpenSSL/crypto/x509v3/v3_pci.c | 0 - Cryptlib/OpenSSL/crypto/x509v3/v3_pcia.c | 0 - Cryptlib/OpenSSL/crypto/x509v3/v3_pcons.c | 0 - Cryptlib/OpenSSL/crypto/x509v3/v3_pku.c | 0 - Cryptlib/OpenSSL/crypto/x509v3/v3_pmaps.c | 0 - Cryptlib/OpenSSL/crypto/x509v3/v3_prn.c | 0 - Cryptlib/OpenSSL/crypto/x509v3/v3_purp.c | 0 - Cryptlib/OpenSSL/crypto/x509v3/v3_skey.c | 0 - Cryptlib/OpenSSL/crypto/x509v3/v3_sxnet.c | 0 - Cryptlib/OpenSSL/crypto/x509v3/v3_utl.c | 0 - Cryptlib/OpenSSL/crypto/x509v3/v3err.c | 0 - Cryptlib/OpenSSL/e_os.h | 0 - Cryptlib/OpenSSL/update.sh | 999 +++++++++++++------------ - Cryptlib/Pk/CryptAuthenticode.c | 4 +- - 500 files changed, 720 insertions(+), 678 deletions(-) - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/aes/aes_cbc.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/aes/aes_cfb.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/aes/aes_core.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/aes/aes_ctr.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/aes/aes_ecb.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/aes/aes_ige.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/aes/aes_misc.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/aes/aes_ofb.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/aes/aes_wrap.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/asn1/a_bitstr.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/asn1/a_bool.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/asn1/a_bytes.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/asn1/a_d2i_fp.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/asn1/a_digest.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/asn1/a_dup.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/asn1/a_enum.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/asn1/a_gentm.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/asn1/a_hdr.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/asn1/a_i2d_fp.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/asn1/a_int.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/asn1/a_mbstr.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/asn1/a_meth.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/asn1/a_object.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/asn1/a_octet.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/asn1/a_print.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/asn1/a_set.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/asn1/a_sign.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/asn1/a_strex.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/asn1/a_strnid.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/asn1/a_time.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/asn1/a_type.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/asn1/a_utctm.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/asn1/a_utf8.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/asn1/a_verify.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/asn1/asn1_err.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/asn1/asn1_gen.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/asn1/asn1_lib.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/asn1/asn1_par.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/asn1/asn_mime.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/asn1/asn_moid.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/asn1/asn_pack.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/asn1/d2i_pr.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/asn1/d2i_pu.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/asn1/evp_asn1.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/asn1/f_enum.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/asn1/f_int.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/asn1/f_string.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/asn1/i2d_pr.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/asn1/i2d_pu.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/asn1/n_pkey.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/asn1/nsseq.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/asn1/p5_pbe.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/asn1/p5_pbev2.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/asn1/p8_pkey.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/asn1/t_bitst.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/asn1/t_crl.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/asn1/t_pkey.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/asn1/t_req.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/asn1/t_spki.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/asn1/t_x509.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/asn1/t_x509a.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/asn1/tasn_dec.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/asn1/tasn_enc.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/asn1/tasn_fre.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/asn1/tasn_new.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/asn1/tasn_typ.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/asn1/tasn_utl.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/asn1/x_algor.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/asn1/x_attrib.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/asn1/x_bignum.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/asn1/x_crl.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/asn1/x_exten.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/asn1/x_info.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/asn1/x_long.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/asn1/x_name.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/asn1/x_pkey.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/asn1/x_pubkey.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/asn1/x_req.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/asn1/x_sig.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/asn1/x_spki.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/asn1/x_val.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/asn1/x_x509.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/asn1/x_x509a.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/bf/bf_cfb64.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/bf/bf_ecb.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/bf/bf_enc.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/bf/bf_ofb64.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/bf/bf_skey.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/bio/b_dump.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/bio/bf_buff.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/bio/bf_nbio.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/bio/bf_null.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/bio/bio_cb.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/bio/bio_err.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/bio/bio_lib.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/bio/bss_bio.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/bio/bss_dgram.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/bio/bss_fd.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/bio/bss_file.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/bio/bss_log.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/bio/bss_mem.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/bio/bss_null.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/bn/bn_add.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/bn/bn_asm.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/bn/bn_blind.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/bn/bn_const.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/bn/bn_ctx.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/bn/bn_depr.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/bn/bn_div.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/bn/bn_err.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/bn/bn_exp.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/bn/bn_exp2.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/bn/bn_gcd.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/bn/bn_gf2m.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/bn/bn_kron.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/bn/bn_lib.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/bn/bn_mod.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/bn/bn_mont.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/bn/bn_mpi.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/bn/bn_mul.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/bn/bn_nist.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/bn/bn_opt.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/bn/bn_prime.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/bn/bn_print.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/bn/bn_rand.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/bn/bn_recp.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/bn/bn_shift.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/bn/bn_sqr.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/bn/bn_sqrt.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/bn/bn_word.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/bn/bn_x931p.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/buffer/buf_err.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/buffer/buf_str.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/buffer/buffer.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/cast/c_cfb64.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/cast/c_ecb.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/cast/c_enc.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/cast/c_ofb64.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/cast/c_skey.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/comp/c_rle.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/comp/c_zlib.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/comp/comp_err.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/comp/comp_lib.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/conf/conf_api.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/conf/conf_def.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/conf/conf_err.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/conf/conf_lib.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/conf/conf_mall.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/conf/conf_mod.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/conf/conf_sap.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/cpt_err.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/cryptlib.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/cversion.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/des/cbc_cksm.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/des/cbc_enc.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/des/cfb64ede.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/des/cfb64enc.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/des/cfb_enc.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/des/des_enc.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/des/des_lib.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/des/des_old.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/des/des_old2.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/des/ecb3_enc.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/des/ecb_enc.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/des/ede_cbcm_enc.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/des/enc_read.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/des/enc_writ.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/des/fcrypt.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/des/fcrypt_b.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/des/ofb64ede.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/des/ofb64enc.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/des/ofb_enc.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/des/pcbc_enc.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/des/qud_cksm.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/des/rand_key.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/des/read2pwd.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/des/rpc_enc.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/des/set_key.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/des/str2key.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/des/xcbc_enc.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/dh/dh_asn1.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/dh/dh_check.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/dh/dh_depr.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/dh/dh_err.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/dh/dh_gen.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/dh/dh_key.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/dh/dh_lib.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/dsa/dsa_asn1.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/dsa/dsa_depr.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/dsa/dsa_err.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/dsa/dsa_gen.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/dsa/dsa_key.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/dsa/dsa_lib.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/dsa/dsa_ossl.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/dsa/dsa_sign.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/dsa/dsa_utl.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/dsa/dsa_vrf.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/dso/dso_dl.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/dso/dso_dlfcn.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/dso/dso_err.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/dso/dso_lib.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/dso/dso_null.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/dso/dso_openssl.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/dso/dso_vms.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/dso/dso_win32.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/dyn_lck.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/ebcdic.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/ec/ec2_mult.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/ec/ec2_smpl.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/ec/ec_asn1.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/ec/ec_check.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/ec/ec_curve.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/ec/ec_cvt.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/ec/ec_err.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/ec/ec_key.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/ec/ec_lib.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/ec/ec_mult.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/ec/ec_print.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/ec/ecp_mont.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/ec/ecp_nist.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/ec/ecp_smpl.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/ecdh/ech_err.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/ecdh/ech_key.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/ecdh/ech_lib.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/ecdh/ech_ossl.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/ecdsa/ecs_asn1.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/ecdsa/ecs_err.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/ecdsa/ecs_lib.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/ecdsa/ecs_ossl.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/ecdsa/ecs_sign.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/ecdsa/ecs_vrf.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/engine/eng_all.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/engine/eng_cnf.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/engine/eng_cryptodev.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/engine/eng_ctrl.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/engine/eng_dyn.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/engine/eng_err.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/engine/eng_fat.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/engine/eng_init.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/engine/eng_lib.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/engine/eng_list.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/engine/eng_openssl.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/engine/eng_padlock.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/engine/eng_pkey.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/engine/eng_table.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/engine/tb_cipher.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/engine/tb_dh.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/engine/tb_digest.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/engine/tb_dsa.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/engine/tb_ecdh.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/engine/tb_ecdsa.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/engine/tb_rand.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/engine/tb_rsa.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/engine/tb_store.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/err/err.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/err/err_all.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/err/err_bio.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/err/err_def.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/err/err_prn.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/err/err_str.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/evp/bio_b64.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/evp/bio_enc.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/evp/bio_md.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/evp/bio_ok.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/evp/c_all.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/evp/c_allc.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/evp/c_alld.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/evp/dig_eng.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/evp/digest.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/evp/e_aes.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/evp/e_bf.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/evp/e_cast.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/evp/e_des.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/evp/e_des3.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/evp/e_idea.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/evp/e_null.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/evp/e_old.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/evp/e_rc2.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/evp/e_rc4.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/evp/e_rc5.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/evp/e_xcbc_d.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/evp/enc_min.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/evp/encode.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/evp/evp_acnf.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/evp/evp_cnf.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/evp/evp_enc.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/evp/evp_err.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/evp/evp_key.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/evp/evp_lib.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/evp/evp_pbe.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/evp/evp_pkey.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/evp/m_dss.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/evp/m_dss1.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/evp/m_ecdsa.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/evp/m_md2.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/evp/m_md4.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/evp/m_md5.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/evp/m_null.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/evp/m_ripemd.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/evp/m_sha.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/evp/m_sha1.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/evp/names.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/evp/p5_crpt.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/evp/p5_crpt2.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/evp/p_dec.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/evp/p_enc.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/evp/p_lib.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/evp/p_open.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/evp/p_seal.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/evp/p_sign.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/evp/p_verify.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/ex_data.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/fips_err.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/hmac/hmac.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/idea/i_cbc.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/idea/i_cfb64.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/idea/i_ecb.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/idea/i_ofb64.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/idea/i_skey.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/krb5/krb5_asn.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/lhash/lh_stats.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/lhash/lhash.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/md2/md2_dgst.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/md2/md2_one.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/md4/md4_dgst.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/md4/md4_one.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/md5/md5_dgst.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/md5/md5_one.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/mem.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/mem_clr.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/mem_dbg.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/o_dir.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/o_init.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/o_str.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/o_time.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/objects/o_names.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/objects/obj_dat.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/objects/obj_err.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/objects/obj_lib.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/ocsp/ocsp_asn.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/ocsp/ocsp_cl.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/ocsp/ocsp_err.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/ocsp/ocsp_ext.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/ocsp/ocsp_ht.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/ocsp/ocsp_lib.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/ocsp/ocsp_prn.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/ocsp/ocsp_srv.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/ocsp/ocsp_vfy.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/pem/pem_all.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/pem/pem_err.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/pem/pem_info.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/pem/pem_lib.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/pem/pem_oth.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/pem/pem_pk8.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/pem/pem_pkey.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/pem/pem_seal.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/pem/pem_sign.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/pem/pem_x509.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/pem/pem_xaux.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/pkcs12/p12_add.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/pkcs12/p12_asn.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/pkcs12/p12_attr.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/pkcs12/p12_crpt.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/pkcs12/p12_crt.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/pkcs12/p12_decr.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/pkcs12/p12_init.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/pkcs12/p12_key.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/pkcs12/p12_kiss.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/pkcs12/p12_mutl.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/pkcs12/p12_npas.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/pkcs12/p12_p8d.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/pkcs12/p12_p8e.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/pkcs12/p12_utl.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/pkcs12/pk12err.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/pkcs7/pk7_asn1.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/pkcs7/pk7_attr.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/pkcs7/pk7_doit.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/pkcs7/pk7_lib.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/pkcs7/pk7_mime.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/pkcs7/pk7_smime.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/pkcs7/pkcs7err.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/pqueue/pqueue.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/rand/md_rand.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/rand/rand_egd.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/rand/rand_eng.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/rand/rand_err.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/rand/rand_lib.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/rand/rand_nw.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/rand/rand_os2.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/rand/rand_unix.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/rand/rand_win.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/rand/randfile.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/rc2/rc2_cbc.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/rc2/rc2_ecb.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/rc2/rc2_skey.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/rc2/rc2cfb64.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/rc2/rc2ofb64.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/rc4/rc4_enc.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/rc4/rc4_fblk.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/rc4/rc4_skey.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/ripemd/rmd_dgst.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/ripemd/rmd_one.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/rsa/rsa_asn1.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/rsa/rsa_chk.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/rsa/rsa_depr.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/rsa/rsa_eay.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/rsa/rsa_eng.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/rsa/rsa_err.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/rsa/rsa_gen.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/rsa/rsa_lib.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/rsa/rsa_none.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/rsa/rsa_null.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/rsa/rsa_oaep.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/rsa/rsa_pk1.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/rsa/rsa_pss.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/rsa/rsa_saos.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/rsa/rsa_sign.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/rsa/rsa_ssl.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/rsa/rsa_x931.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/rsa/rsa_x931g.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/sha/sha1_one.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/sha/sha1dgst.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/sha/sha256.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/sha/sha512.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/sha/sha_dgst.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/sha/sha_one.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/stack/stack.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/store/str_err.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/store/str_lib.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/store/str_mem.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/store/str_meth.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/txt_db/txt_db.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/ui/ui_compat.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/ui/ui_err.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/ui/ui_lib.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/ui/ui_util.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/uid.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/x509/by_dir.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/x509/by_file.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/x509/x509_att.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/x509/x509_cmp.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/x509/x509_d2.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/x509/x509_def.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/x509/x509_err.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/x509/x509_ext.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/x509/x509_lu.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/x509/x509_obj.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/x509/x509_r2x.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/x509/x509_req.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/x509/x509_set.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/x509/x509_trs.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/x509/x509_txt.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/x509/x509_v3.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/x509/x509_vfy.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/x509/x509_vpm.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/x509/x509cset.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/x509/x509name.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/x509/x509rset.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/x509/x509spki.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/x509/x509type.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/x509/x_all.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/x509v3/pcy_cache.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/x509v3/pcy_data.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/x509v3/pcy_lib.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/x509v3/pcy_map.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/x509v3/pcy_node.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/x509v3/pcy_tree.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/x509v3/v3_addr.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/x509v3/v3_akey.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/x509v3/v3_akeya.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/x509v3/v3_alt.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/x509v3/v3_asid.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/x509v3/v3_bcons.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/x509v3/v3_bitst.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/x509v3/v3_conf.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/x509v3/v3_cpols.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/x509v3/v3_crld.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/x509v3/v3_enum.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/x509v3/v3_extku.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/x509v3/v3_genn.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/x509v3/v3_ia5.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/x509v3/v3_info.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/x509v3/v3_int.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/x509v3/v3_lib.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/x509v3/v3_ncons.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/x509v3/v3_ocsp.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/x509v3/v3_pci.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/x509v3/v3_pcia.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/x509v3/v3_pcons.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/x509v3/v3_pku.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/x509v3/v3_pmaps.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/x509v3/v3_prn.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/x509v3/v3_purp.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/x509v3/v3_skey.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/x509v3/v3_sxnet.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/x509v3/v3_utl.c - mode change 100755 => 100644 Cryptlib/OpenSSL/crypto/x509v3/v3err.c - mode change 100755 => 100644 Cryptlib/OpenSSL/e_os.h - -diff --git a/Cryptlib/OpenSSL/crypto/aes/aes_cbc.c b/Cryptlib/OpenSSL/crypto/aes/aes_cbc.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/aes/aes_cfb.c b/Cryptlib/OpenSSL/crypto/aes/aes_cfb.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/aes/aes_core.c b/Cryptlib/OpenSSL/crypto/aes/aes_core.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/aes/aes_ctr.c b/Cryptlib/OpenSSL/crypto/aes/aes_ctr.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/aes/aes_ecb.c b/Cryptlib/OpenSSL/crypto/aes/aes_ecb.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/aes/aes_ige.c b/Cryptlib/OpenSSL/crypto/aes/aes_ige.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/aes/aes_misc.c b/Cryptlib/OpenSSL/crypto/aes/aes_misc.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/aes/aes_ofb.c b/Cryptlib/OpenSSL/crypto/aes/aes_ofb.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/aes/aes_wrap.c b/Cryptlib/OpenSSL/crypto/aes/aes_wrap.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/asn1/a_bitstr.c b/Cryptlib/OpenSSL/crypto/asn1/a_bitstr.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/asn1/a_bool.c b/Cryptlib/OpenSSL/crypto/asn1/a_bool.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/asn1/a_bytes.c b/Cryptlib/OpenSSL/crypto/asn1/a_bytes.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/asn1/a_d2i_fp.c b/Cryptlib/OpenSSL/crypto/asn1/a_d2i_fp.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/asn1/a_digest.c b/Cryptlib/OpenSSL/crypto/asn1/a_digest.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/asn1/a_dup.c b/Cryptlib/OpenSSL/crypto/asn1/a_dup.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/asn1/a_enum.c b/Cryptlib/OpenSSL/crypto/asn1/a_enum.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/asn1/a_gentm.c b/Cryptlib/OpenSSL/crypto/asn1/a_gentm.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/asn1/a_hdr.c b/Cryptlib/OpenSSL/crypto/asn1/a_hdr.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/asn1/a_i2d_fp.c b/Cryptlib/OpenSSL/crypto/asn1/a_i2d_fp.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/asn1/a_int.c b/Cryptlib/OpenSSL/crypto/asn1/a_int.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/asn1/a_mbstr.c b/Cryptlib/OpenSSL/crypto/asn1/a_mbstr.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/asn1/a_meth.c b/Cryptlib/OpenSSL/crypto/asn1/a_meth.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/asn1/a_object.c b/Cryptlib/OpenSSL/crypto/asn1/a_object.c -old mode 100755 -new mode 100644 -index 3ac2bc2..e50501a ---- a/Cryptlib/OpenSSL/crypto/asn1/a_object.c -+++ b/Cryptlib/OpenSSL/crypto/asn1/a_object.c -@@ -285,16 +285,28 @@ err: - ASN1_OBJECT_free(ret); - return(NULL); - } -+ - ASN1_OBJECT *c2i_ASN1_OBJECT(ASN1_OBJECT **a, const unsigned char **pp, - long len) - { - ASN1_OBJECT *ret=NULL; - const unsigned char *p; -- int i; -- /* Sanity check OID encoding: can't have leading 0x80 in -- * subidentifiers, see: X.690 8.19.2 -+ int i, length; -+ -+ /* Sanity check OID encoding. -+ * Need at least one content octet. -+ * MSB must be clear in the last octet. -+ * can't have leading 0x80 in subidentifiers, see: X.690 8.19.2 - */ -- for (i = 0, p = *pp; i < len; i++, p++) -+ if (len <= 0 || len > INT_MAX || pp == NULL || (p = *pp) == NULL || -+ p[len - 1] & 0x80) -+ { -+ ASN1err(ASN1_F_C2I_ASN1_OBJECT,ASN1_R_INVALID_OBJECT_ENCODING); -+ return NULL; -+ } -+ /* Now 0 < len <= INT_MAX, so the cast is safe. */ -+ length = (int)len; -+ for (i = 0; i < length; i++, p++) - { - if (*p == 0x80 && (!i || !(p[-1] & 0x80))) - { -@@ -313,20 +325,20 @@ ASN1_OBJECT *c2i_ASN1_OBJECT(ASN1_OBJECT **a, const unsigned char **pp, - else ret=(*a); - - p= *pp; -- if ((ret->data == NULL) || (ret->length < len)) -+ if ((ret->data == NULL) || (ret->length < length)) - { - if (ret->data != NULL) OPENSSL_free(ret->data); -- ret->data=(unsigned char *)OPENSSL_malloc(len ? (int)len : 1); -+ ret->data=(unsigned char *)OPENSSL_malloc(length); - ret->flags|=ASN1_OBJECT_FLAG_DYNAMIC_DATA; - if (ret->data == NULL) - { i=ERR_R_MALLOC_FAILURE; goto err; } - } -- memcpy(ret->data,p,(int)len); -- ret->length=(int)len; -+ memcpy(ret->data,p,length); -+ ret->length=length; - ret->sn=NULL; - ret->ln=NULL; - /* ret->flags=ASN1_OBJECT_FLAG_DYNAMIC; we know it is dynamic */ -- p+=len; -+ p+=length; - - if (a != NULL) (*a)=ret; - *pp=p; -diff --git a/Cryptlib/OpenSSL/crypto/asn1/a_octet.c b/Cryptlib/OpenSSL/crypto/asn1/a_octet.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/asn1/a_print.c b/Cryptlib/OpenSSL/crypto/asn1/a_print.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/asn1/a_set.c b/Cryptlib/OpenSSL/crypto/asn1/a_set.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/asn1/a_sign.c b/Cryptlib/OpenSSL/crypto/asn1/a_sign.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/asn1/a_strex.c b/Cryptlib/OpenSSL/crypto/asn1/a_strex.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/asn1/a_strnid.c b/Cryptlib/OpenSSL/crypto/asn1/a_strnid.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/asn1/a_time.c b/Cryptlib/OpenSSL/crypto/asn1/a_time.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/asn1/a_type.c b/Cryptlib/OpenSSL/crypto/asn1/a_type.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/asn1/a_utctm.c b/Cryptlib/OpenSSL/crypto/asn1/a_utctm.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/asn1/a_utf8.c b/Cryptlib/OpenSSL/crypto/asn1/a_utf8.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/asn1/a_verify.c b/Cryptlib/OpenSSL/crypto/asn1/a_verify.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/asn1/asn1_err.c b/Cryptlib/OpenSSL/crypto/asn1/asn1_err.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/asn1/asn1_gen.c b/Cryptlib/OpenSSL/crypto/asn1/asn1_gen.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/asn1/asn1_lib.c b/Cryptlib/OpenSSL/crypto/asn1/asn1_lib.c -old mode 100755 -new mode 100644 -index 5af559e..d345155 ---- a/Cryptlib/OpenSSL/crypto/asn1/asn1_lib.c -+++ b/Cryptlib/OpenSSL/crypto/asn1/asn1_lib.c -@@ -131,6 +131,9 @@ int ASN1_get_object(const unsigned char **pp, long *plength, int *ptag, - *pclass=xclass; - if (!asn1_get_length(&p,&inf,plength,(int)max)) goto err; - -+ if (inf && !(ret & V_ASN1_CONSTRUCTED)) -+ goto err; -+ - #if 0 - fprintf(stderr,"p=%d + *plength=%ld > omax=%ld + *pp=%d (%d > %d)\n", - (int)p,*plength,omax,(int)*pp,(int)(p+ *plength), -diff --git a/Cryptlib/OpenSSL/crypto/asn1/asn1_par.c b/Cryptlib/OpenSSL/crypto/asn1/asn1_par.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/asn1/asn_mime.c b/Cryptlib/OpenSSL/crypto/asn1/asn_mime.c -old mode 100755 -new mode 100644 -index ad8fbed..095887f ---- a/Cryptlib/OpenSSL/crypto/asn1/asn_mime.c -+++ b/Cryptlib/OpenSSL/crypto/asn1/asn_mime.c -@@ -595,6 +595,8 @@ static STACK_OF(MIME_HEADER) *mime_parse_hdr(BIO *bio) - int len, state, save_state = 0; - - headers = sk_MIME_HEADER_new(mime_hdr_cmp); -+ if (!headers) -+ return NULL; - while ((len = BIO_gets(bio, linebuf, MAX_SMLEN)) > 0) { - /* If whitespace at line start then continuation line */ - if(mhdr && isspace((unsigned char)linebuf[0])) state = MIME_NAME; -diff --git a/Cryptlib/OpenSSL/crypto/asn1/asn_moid.c b/Cryptlib/OpenSSL/crypto/asn1/asn_moid.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/asn1/asn_pack.c b/Cryptlib/OpenSSL/crypto/asn1/asn_pack.c -old mode 100755 -new mode 100644 -index f1a5a05..c373714 ---- a/Cryptlib/OpenSSL/crypto/asn1/asn_pack.c -+++ b/Cryptlib/OpenSSL/crypto/asn1/asn_pack.c -@@ -134,15 +134,23 @@ ASN1_STRING *ASN1_pack_string(void *obj, i2d_of_void *i2d, ASN1_STRING **oct) - - if (!(octmp->length = i2d(obj, NULL))) { - ASN1err(ASN1_F_ASN1_PACK_STRING,ASN1_R_ENCODE_ERROR); -- return NULL; -+ goto err; - } - if (!(p = OPENSSL_malloc (octmp->length))) { - ASN1err(ASN1_F_ASN1_PACK_STRING,ERR_R_MALLOC_FAILURE); -- return NULL; -+ goto err; - } - octmp->data = p; - i2d (obj, &p); - return octmp; -+ err: -+ if (!oct || !*oct) -+ { -+ ASN1_STRING_free(octmp); -+ if (oct) -+ *oct = NULL; -+ } -+ return NULL; - } - - #endif -diff --git a/Cryptlib/OpenSSL/crypto/asn1/d2i_pr.c b/Cryptlib/OpenSSL/crypto/asn1/d2i_pr.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/asn1/d2i_pu.c b/Cryptlib/OpenSSL/crypto/asn1/d2i_pu.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/asn1/evp_asn1.c b/Cryptlib/OpenSSL/crypto/asn1/evp_asn1.c -old mode 100755 -new mode 100644 -index f3d9804..1b94459 ---- a/Cryptlib/OpenSSL/crypto/asn1/evp_asn1.c -+++ b/Cryptlib/OpenSSL/crypto/asn1/evp_asn1.c -@@ -66,7 +66,11 @@ int ASN1_TYPE_set_octetstring(ASN1_TYPE *a, unsigned char *data, int len) - ASN1_STRING *os; - - if ((os=M_ASN1_OCTET_STRING_new()) == NULL) return(0); -- if (!M_ASN1_OCTET_STRING_set(os,data,len)) return(0); -+ if (!M_ASN1_OCTET_STRING_set(os,data,len)) -+ { -+ M_ASN1_OCTET_STRING_free(os); -+ return 0; -+ } - ASN1_TYPE_set(a,V_ASN1_OCTET_STRING,os); - return(1); - } -diff --git a/Cryptlib/OpenSSL/crypto/asn1/f_enum.c b/Cryptlib/OpenSSL/crypto/asn1/f_enum.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/asn1/f_int.c b/Cryptlib/OpenSSL/crypto/asn1/f_int.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/asn1/f_string.c b/Cryptlib/OpenSSL/crypto/asn1/f_string.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/asn1/i2d_pr.c b/Cryptlib/OpenSSL/crypto/asn1/i2d_pr.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/asn1/i2d_pu.c b/Cryptlib/OpenSSL/crypto/asn1/i2d_pu.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/asn1/n_pkey.c b/Cryptlib/OpenSSL/crypto/asn1/n_pkey.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/asn1/nsseq.c b/Cryptlib/OpenSSL/crypto/asn1/nsseq.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/asn1/p5_pbe.c b/Cryptlib/OpenSSL/crypto/asn1/p5_pbe.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/asn1/p5_pbev2.c b/Cryptlib/OpenSSL/crypto/asn1/p5_pbev2.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/asn1/p8_pkey.c b/Cryptlib/OpenSSL/crypto/asn1/p8_pkey.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/asn1/t_bitst.c b/Cryptlib/OpenSSL/crypto/asn1/t_bitst.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/asn1/t_crl.c b/Cryptlib/OpenSSL/crypto/asn1/t_crl.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/asn1/t_pkey.c b/Cryptlib/OpenSSL/crypto/asn1/t_pkey.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/asn1/t_req.c b/Cryptlib/OpenSSL/crypto/asn1/t_req.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/asn1/t_spki.c b/Cryptlib/OpenSSL/crypto/asn1/t_spki.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/asn1/t_x509.c b/Cryptlib/OpenSSL/crypto/asn1/t_x509.c -old mode 100755 -new mode 100644 -index 6f295b4..f9dad0e ---- a/Cryptlib/OpenSSL/crypto/asn1/t_x509.c -+++ b/Cryptlib/OpenSSL/crypto/asn1/t_x509.c -@@ -465,6 +465,8 @@ int X509_NAME_print(BIO *bp, X509_NAME *name, int obase) - l=80-2-obase; - - b=X509_NAME_oneline(name,NULL,0); -+ if (!b) -+ return 0; - if (!*b) - { - OPENSSL_free(b); -diff --git a/Cryptlib/OpenSSL/crypto/asn1/t_x509a.c b/Cryptlib/OpenSSL/crypto/asn1/t_x509a.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/asn1/tasn_dec.c b/Cryptlib/OpenSSL/crypto/asn1/tasn_dec.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/asn1/tasn_enc.c b/Cryptlib/OpenSSL/crypto/asn1/tasn_enc.c -old mode 100755 -new mode 100644 -index 2721f90..b3687f9 ---- a/Cryptlib/OpenSSL/crypto/asn1/tasn_enc.c -+++ b/Cryptlib/OpenSSL/crypto/asn1/tasn_enc.c -@@ -453,9 +453,14 @@ static int asn1_set_seq_out(STACK_OF(ASN1_VALUE) *sk, unsigned char **out, - { - derlst = OPENSSL_malloc(sk_ASN1_VALUE_num(sk) - * sizeof(*derlst)); -+ if (!derlst) -+ return 0; - tmpdat = OPENSSL_malloc(skcontlen); -- if (!derlst || !tmpdat) -+ if (!tmpdat) -+ { -+ OPENSSL_free(derlst); - return 0; -+ } - } - } - /* If not sorting just output each item */ -diff --git a/Cryptlib/OpenSSL/crypto/asn1/tasn_fre.c b/Cryptlib/OpenSSL/crypto/asn1/tasn_fre.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/asn1/tasn_new.c b/Cryptlib/OpenSSL/crypto/asn1/tasn_new.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/asn1/tasn_typ.c b/Cryptlib/OpenSSL/crypto/asn1/tasn_typ.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/asn1/tasn_utl.c b/Cryptlib/OpenSSL/crypto/asn1/tasn_utl.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/asn1/x_algor.c b/Cryptlib/OpenSSL/crypto/asn1/x_algor.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/asn1/x_attrib.c b/Cryptlib/OpenSSL/crypto/asn1/x_attrib.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/asn1/x_bignum.c b/Cryptlib/OpenSSL/crypto/asn1/x_bignum.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/asn1/x_crl.c b/Cryptlib/OpenSSL/crypto/asn1/x_crl.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/asn1/x_exten.c b/Cryptlib/OpenSSL/crypto/asn1/x_exten.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/asn1/x_info.c b/Cryptlib/OpenSSL/crypto/asn1/x_info.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/asn1/x_long.c b/Cryptlib/OpenSSL/crypto/asn1/x_long.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/asn1/x_name.c b/Cryptlib/OpenSSL/crypto/asn1/x_name.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/asn1/x_pkey.c b/Cryptlib/OpenSSL/crypto/asn1/x_pkey.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/asn1/x_pubkey.c b/Cryptlib/OpenSSL/crypto/asn1/x_pubkey.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/asn1/x_req.c b/Cryptlib/OpenSSL/crypto/asn1/x_req.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/asn1/x_sig.c b/Cryptlib/OpenSSL/crypto/asn1/x_sig.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/asn1/x_spki.c b/Cryptlib/OpenSSL/crypto/asn1/x_spki.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/asn1/x_val.c b/Cryptlib/OpenSSL/crypto/asn1/x_val.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/asn1/x_x509.c b/Cryptlib/OpenSSL/crypto/asn1/x_x509.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/asn1/x_x509a.c b/Cryptlib/OpenSSL/crypto/asn1/x_x509a.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/bf/bf_cfb64.c b/Cryptlib/OpenSSL/crypto/bf/bf_cfb64.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/bf/bf_ecb.c b/Cryptlib/OpenSSL/crypto/bf/bf_ecb.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/bf/bf_enc.c b/Cryptlib/OpenSSL/crypto/bf/bf_enc.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/bf/bf_ofb64.c b/Cryptlib/OpenSSL/crypto/bf/bf_ofb64.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/bf/bf_skey.c b/Cryptlib/OpenSSL/crypto/bf/bf_skey.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/bio/b_dump.c b/Cryptlib/OpenSSL/crypto/bio/b_dump.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/bio/bf_buff.c b/Cryptlib/OpenSSL/crypto/bio/bf_buff.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/bio/bf_nbio.c b/Cryptlib/OpenSSL/crypto/bio/bf_nbio.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/bio/bf_null.c b/Cryptlib/OpenSSL/crypto/bio/bf_null.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/bio/bio_cb.c b/Cryptlib/OpenSSL/crypto/bio/bio_cb.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/bio/bio_err.c b/Cryptlib/OpenSSL/crypto/bio/bio_err.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/bio/bio_lib.c b/Cryptlib/OpenSSL/crypto/bio/bio_lib.c -old mode 100755 -new mode 100644 -index 371cdf5..6346c19 ---- a/Cryptlib/OpenSSL/crypto/bio/bio_lib.c -+++ b/Cryptlib/OpenSSL/crypto/bio/bio_lib.c -@@ -132,8 +132,8 @@ int BIO_free(BIO *a) - - CRYPTO_free_ex_data(CRYPTO_EX_INDEX_BIO, a, &a->ex_data); - -- if ((a->method == NULL) || (a->method->destroy == NULL)) return(1); -- a->method->destroy(a); -+ if ((a->method != NULL) && (a->method->destroy != NULL)) -+ a->method->destroy(a); - OPENSSL_free(a); - return(1); - } -diff --git a/Cryptlib/OpenSSL/crypto/bio/bss_bio.c b/Cryptlib/OpenSSL/crypto/bio/bss_bio.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/bio/bss_dgram.c b/Cryptlib/OpenSSL/crypto/bio/bss_dgram.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/bio/bss_fd.c b/Cryptlib/OpenSSL/crypto/bio/bss_fd.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/bio/bss_file.c b/Cryptlib/OpenSSL/crypto/bio/bss_file.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/bio/bss_log.c b/Cryptlib/OpenSSL/crypto/bio/bss_log.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/bio/bss_mem.c b/Cryptlib/OpenSSL/crypto/bio/bss_mem.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/bio/bss_null.c b/Cryptlib/OpenSSL/crypto/bio/bss_null.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/bn/bn_add.c b/Cryptlib/OpenSSL/crypto/bn/bn_add.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/bn/bn_asm.c b/Cryptlib/OpenSSL/crypto/bn/bn_asm.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/bn/bn_blind.c b/Cryptlib/OpenSSL/crypto/bn/bn_blind.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/bn/bn_const.c b/Cryptlib/OpenSSL/crypto/bn/bn_const.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/bn/bn_ctx.c b/Cryptlib/OpenSSL/crypto/bn/bn_ctx.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/bn/bn_depr.c b/Cryptlib/OpenSSL/crypto/bn/bn_depr.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/bn/bn_div.c b/Cryptlib/OpenSSL/crypto/bn/bn_div.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/bn/bn_err.c b/Cryptlib/OpenSSL/crypto/bn/bn_err.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/bn/bn_exp.c b/Cryptlib/OpenSSL/crypto/bn/bn_exp.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/bn/bn_exp2.c b/Cryptlib/OpenSSL/crypto/bn/bn_exp2.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/bn/bn_gcd.c b/Cryptlib/OpenSSL/crypto/bn/bn_gcd.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/bn/bn_gf2m.c b/Cryptlib/OpenSSL/crypto/bn/bn_gf2m.c -old mode 100755 -new mode 100644 -index 5d90f1e..28f1fa8 ---- a/Cryptlib/OpenSSL/crypto/bn/bn_gf2m.c -+++ b/Cryptlib/OpenSSL/crypto/bn/bn_gf2m.c -@@ -1095,3 +1095,54 @@ int BN_GF2m_arr2poly(const unsigned int p[], BIGNUM *a) - return 1; - } - -+/* -+ * Constant-time conditional swap of a and b. -+ * a and b are swapped if condition is not 0. The code assumes that at most one bit of condition is set. -+ * nwords is the number of words to swap. The code assumes that at least nwords are allocated in both a and b, -+ * and that no more than nwords are used by either a or b. -+ * a and b cannot be the same number -+ */ -+void BN_consttime_swap(BN_ULONG condition, BIGNUM *a, BIGNUM *b, int nwords) -+ { -+ BN_ULONG t; -+ int i; -+ -+ bn_wcheck_size(a, nwords); -+ bn_wcheck_size(b, nwords); -+ -+ assert(a != b); -+ assert((condition & (condition - 1)) == 0); -+ assert(sizeof(BN_ULONG) >= sizeof(int)); -+ -+ condition = ((condition - 1) >> (BN_BITS2 - 1)) - 1; -+ -+ t = (a->top^b->top) & condition; -+ a->top ^= t; -+ b->top ^= t; -+ -+#define BN_CONSTTIME_SWAP(ind) \ -+ do { \ -+ t = (a->d[ind] ^ b->d[ind]) & condition; \ -+ a->d[ind] ^= t; \ -+ b->d[ind] ^= t; \ -+ } while (0) -+ -+ -+ switch (nwords) { -+ default: -+ for (i = 10; i < nwords; i++) -+ BN_CONSTTIME_SWAP(i); -+ /* Fallthrough */ -+ case 10: BN_CONSTTIME_SWAP(9); /* Fallthrough */ -+ case 9: BN_CONSTTIME_SWAP(8); /* Fallthrough */ -+ case 8: BN_CONSTTIME_SWAP(7); /* Fallthrough */ -+ case 7: BN_CONSTTIME_SWAP(6); /* Fallthrough */ -+ case 6: BN_CONSTTIME_SWAP(5); /* Fallthrough */ -+ case 5: BN_CONSTTIME_SWAP(4); /* Fallthrough */ -+ case 4: BN_CONSTTIME_SWAP(3); /* Fallthrough */ -+ case 3: BN_CONSTTIME_SWAP(2); /* Fallthrough */ -+ case 2: BN_CONSTTIME_SWAP(1); /* Fallthrough */ -+ case 1: BN_CONSTTIME_SWAP(0); -+ } -+#undef BN_CONSTTIME_SWAP -+} -diff --git a/Cryptlib/OpenSSL/crypto/bn/bn_kron.c b/Cryptlib/OpenSSL/crypto/bn/bn_kron.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/bn/bn_lib.c b/Cryptlib/OpenSSL/crypto/bn/bn_lib.c -old mode 100755 -new mode 100644 -index b66f507..c288844 ---- a/Cryptlib/OpenSSL/crypto/bn/bn_lib.c -+++ b/Cryptlib/OpenSSL/crypto/bn/bn_lib.c -@@ -320,6 +320,15 @@ static BN_ULONG *bn_expand_internal(const BIGNUM *b, int words) - BNerr(BN_F_BN_EXPAND_INTERNAL,ERR_R_MALLOC_FAILURE); - return(NULL); - } -+#ifdef PURIFY -+ /* Valgrind complains in BN_consttime_swap because we process the whole -+ * array even if it's not initialised yet. This doesn't matter in that -+ * function - what's important is constant time operation (we're not -+ * actually going to use the data) -+ */ -+ memset(a, 0, sizeof(BN_ULONG)*words); -+#endif -+ - #if 1 - B=b->d; - /* Check if the previous number needs to be copied */ -@@ -824,55 +833,3 @@ int bn_cmp_part_words(const BN_ULONG *a, const BN_ULONG *b, - } - return bn_cmp_words(a,b,cl); - } -- --/* -- * Constant-time conditional swap of a and b. -- * a and b are swapped if condition is not 0. The code assumes that at most one bit of condition is set. -- * nwords is the number of words to swap. The code assumes that at least nwords are allocated in both a and b, -- * and that no more than nwords are used by either a or b. -- * a and b cannot be the same number -- */ --void BN_consttime_swap(BN_ULONG condition, BIGNUM *a, BIGNUM *b, int nwords) -- { -- BN_ULONG t; -- int i; -- -- bn_wcheck_size(a, nwords); -- bn_wcheck_size(b, nwords); -- -- assert(a != b); -- assert((condition & (condition - 1)) == 0); -- assert(sizeof(BN_ULONG) >= sizeof(int)); -- -- condition = ((condition - 1) >> (BN_BITS2 - 1)) - 1; -- -- t = (a->top^b->top) & condition; -- a->top ^= t; -- b->top ^= t; -- --#define BN_CONSTTIME_SWAP(ind) \ -- do { \ -- t = (a->d[ind] ^ b->d[ind]) & condition; \ -- a->d[ind] ^= t; \ -- b->d[ind] ^= t; \ -- } while (0) -- -- -- switch (nwords) { -- default: -- for (i = 10; i < nwords; i++) -- BN_CONSTTIME_SWAP(i); -- /* Fallthrough */ -- case 10: BN_CONSTTIME_SWAP(9); /* Fallthrough */ -- case 9: BN_CONSTTIME_SWAP(8); /* Fallthrough */ -- case 8: BN_CONSTTIME_SWAP(7); /* Fallthrough */ -- case 7: BN_CONSTTIME_SWAP(6); /* Fallthrough */ -- case 6: BN_CONSTTIME_SWAP(5); /* Fallthrough */ -- case 5: BN_CONSTTIME_SWAP(4); /* Fallthrough */ -- case 4: BN_CONSTTIME_SWAP(3); /* Fallthrough */ -- case 3: BN_CONSTTIME_SWAP(2); /* Fallthrough */ -- case 2: BN_CONSTTIME_SWAP(1); /* Fallthrough */ -- case 1: BN_CONSTTIME_SWAP(0); -- } --#undef BN_CONSTTIME_SWAP --} -diff --git a/Cryptlib/OpenSSL/crypto/bn/bn_mod.c b/Cryptlib/OpenSSL/crypto/bn/bn_mod.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/bn/bn_mont.c b/Cryptlib/OpenSSL/crypto/bn/bn_mont.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/bn/bn_mpi.c b/Cryptlib/OpenSSL/crypto/bn/bn_mpi.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/bn/bn_mul.c b/Cryptlib/OpenSSL/crypto/bn/bn_mul.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/bn/bn_nist.c b/Cryptlib/OpenSSL/crypto/bn/bn_nist.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/bn/bn_opt.c b/Cryptlib/OpenSSL/crypto/bn/bn_opt.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/bn/bn_prime.c b/Cryptlib/OpenSSL/crypto/bn/bn_prime.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/bn/bn_print.c b/Cryptlib/OpenSSL/crypto/bn/bn_print.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/bn/bn_rand.c b/Cryptlib/OpenSSL/crypto/bn/bn_rand.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/bn/bn_recp.c b/Cryptlib/OpenSSL/crypto/bn/bn_recp.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/bn/bn_shift.c b/Cryptlib/OpenSSL/crypto/bn/bn_shift.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/bn/bn_sqr.c b/Cryptlib/OpenSSL/crypto/bn/bn_sqr.c -old mode 100755 -new mode 100644 -index 270d0cd..65bbf16 ---- a/Cryptlib/OpenSSL/crypto/bn/bn_sqr.c -+++ b/Cryptlib/OpenSSL/crypto/bn/bn_sqr.c -@@ -77,6 +77,7 @@ int BN_sqr(BIGNUM *r, const BIGNUM *a, BN_CTX *ctx) - if (al <= 0) - { - r->top=0; -+ r->neg = 0; - return 1; - } - -diff --git a/Cryptlib/OpenSSL/crypto/bn/bn_sqrt.c b/Cryptlib/OpenSSL/crypto/bn/bn_sqrt.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/bn/bn_word.c b/Cryptlib/OpenSSL/crypto/bn/bn_word.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/bn/bn_x931p.c b/Cryptlib/OpenSSL/crypto/bn/bn_x931p.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/buffer/buf_err.c b/Cryptlib/OpenSSL/crypto/buffer/buf_err.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/buffer/buf_str.c b/Cryptlib/OpenSSL/crypto/buffer/buf_str.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/buffer/buffer.c b/Cryptlib/OpenSSL/crypto/buffer/buffer.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/cast/c_cfb64.c b/Cryptlib/OpenSSL/crypto/cast/c_cfb64.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/cast/c_ecb.c b/Cryptlib/OpenSSL/crypto/cast/c_ecb.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/cast/c_enc.c b/Cryptlib/OpenSSL/crypto/cast/c_enc.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/cast/c_ofb64.c b/Cryptlib/OpenSSL/crypto/cast/c_ofb64.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/cast/c_skey.c b/Cryptlib/OpenSSL/crypto/cast/c_skey.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/comp/c_rle.c b/Cryptlib/OpenSSL/crypto/comp/c_rle.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/comp/c_zlib.c b/Cryptlib/OpenSSL/crypto/comp/c_zlib.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/comp/comp_err.c b/Cryptlib/OpenSSL/crypto/comp/comp_err.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/comp/comp_lib.c b/Cryptlib/OpenSSL/crypto/comp/comp_lib.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/conf/conf_api.c b/Cryptlib/OpenSSL/crypto/conf/conf_api.c -old mode 100755 -new mode 100644 -index 17bae83..55d1d50 ---- a/Cryptlib/OpenSSL/crypto/conf/conf_api.c -+++ b/Cryptlib/OpenSSL/crypto/conf/conf_api.c -@@ -294,7 +294,7 @@ CONF_VALUE *_CONF_new_section(CONF *conf, const char *section) - v->value=(char *)sk; - - vv=(CONF_VALUE *)lh_insert(conf->data,v); -- assert(vv == NULL); -+ OPENSSL_assert(vv == NULL); - ok=1; - err: - if (!ok) -diff --git a/Cryptlib/OpenSSL/crypto/conf/conf_def.c b/Cryptlib/OpenSSL/crypto/conf/conf_def.c -old mode 100755 -new mode 100644 -index 3c58936..a168339 ---- a/Cryptlib/OpenSSL/crypto/conf/conf_def.c -+++ b/Cryptlib/OpenSSL/crypto/conf/conf_def.c -@@ -324,7 +324,7 @@ again: - p=eat_ws(conf, end); - if (*p != ']') - { -- if (*p != '\0') -+ if (*p != '\0' && ss != p) - { - ss=p; - goto again; -diff --git a/Cryptlib/OpenSSL/crypto/conf/conf_err.c b/Cryptlib/OpenSSL/crypto/conf/conf_err.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/conf/conf_lib.c b/Cryptlib/OpenSSL/crypto/conf/conf_lib.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/conf/conf_mall.c b/Cryptlib/OpenSSL/crypto/conf/conf_mall.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/conf/conf_mod.c b/Cryptlib/OpenSSL/crypto/conf/conf_mod.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/conf/conf_sap.c b/Cryptlib/OpenSSL/crypto/conf/conf_sap.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/cpt_err.c b/Cryptlib/OpenSSL/crypto/cpt_err.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/cryptlib.c b/Cryptlib/OpenSSL/crypto/cryptlib.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/cversion.c b/Cryptlib/OpenSSL/crypto/cversion.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/des/cbc_cksm.c b/Cryptlib/OpenSSL/crypto/des/cbc_cksm.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/des/cbc_enc.c b/Cryptlib/OpenSSL/crypto/des/cbc_enc.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/des/cfb64ede.c b/Cryptlib/OpenSSL/crypto/des/cfb64ede.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/des/cfb64enc.c b/Cryptlib/OpenSSL/crypto/des/cfb64enc.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/des/cfb_enc.c b/Cryptlib/OpenSSL/crypto/des/cfb_enc.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/des/des_enc.c b/Cryptlib/OpenSSL/crypto/des/des_enc.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/des/des_lib.c b/Cryptlib/OpenSSL/crypto/des/des_lib.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/des/des_old.c b/Cryptlib/OpenSSL/crypto/des/des_old.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/des/des_old2.c b/Cryptlib/OpenSSL/crypto/des/des_old2.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/des/ecb3_enc.c b/Cryptlib/OpenSSL/crypto/des/ecb3_enc.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/des/ecb_enc.c b/Cryptlib/OpenSSL/crypto/des/ecb_enc.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/des/ede_cbcm_enc.c b/Cryptlib/OpenSSL/crypto/des/ede_cbcm_enc.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/des/enc_read.c b/Cryptlib/OpenSSL/crypto/des/enc_read.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/des/enc_writ.c b/Cryptlib/OpenSSL/crypto/des/enc_writ.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/des/fcrypt.c b/Cryptlib/OpenSSL/crypto/des/fcrypt.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/des/fcrypt_b.c b/Cryptlib/OpenSSL/crypto/des/fcrypt_b.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/des/ofb64ede.c b/Cryptlib/OpenSSL/crypto/des/ofb64ede.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/des/ofb64enc.c b/Cryptlib/OpenSSL/crypto/des/ofb64enc.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/des/ofb_enc.c b/Cryptlib/OpenSSL/crypto/des/ofb_enc.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/des/pcbc_enc.c b/Cryptlib/OpenSSL/crypto/des/pcbc_enc.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/des/qud_cksm.c b/Cryptlib/OpenSSL/crypto/des/qud_cksm.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/des/rand_key.c b/Cryptlib/OpenSSL/crypto/des/rand_key.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/des/read2pwd.c b/Cryptlib/OpenSSL/crypto/des/read2pwd.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/des/rpc_enc.c b/Cryptlib/OpenSSL/crypto/des/rpc_enc.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/des/set_key.c b/Cryptlib/OpenSSL/crypto/des/set_key.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/des/str2key.c b/Cryptlib/OpenSSL/crypto/des/str2key.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/des/xcbc_enc.c b/Cryptlib/OpenSSL/crypto/des/xcbc_enc.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/dh/dh_asn1.c b/Cryptlib/OpenSSL/crypto/dh/dh_asn1.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/dh/dh_check.c b/Cryptlib/OpenSSL/crypto/dh/dh_check.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/dh/dh_depr.c b/Cryptlib/OpenSSL/crypto/dh/dh_depr.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/dh/dh_err.c b/Cryptlib/OpenSSL/crypto/dh/dh_err.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/dh/dh_gen.c b/Cryptlib/OpenSSL/crypto/dh/dh_gen.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/dh/dh_key.c b/Cryptlib/OpenSSL/crypto/dh/dh_key.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/dh/dh_lib.c b/Cryptlib/OpenSSL/crypto/dh/dh_lib.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/dsa/dsa_asn1.c b/Cryptlib/OpenSSL/crypto/dsa/dsa_asn1.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/dsa/dsa_depr.c b/Cryptlib/OpenSSL/crypto/dsa/dsa_depr.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/dsa/dsa_err.c b/Cryptlib/OpenSSL/crypto/dsa/dsa_err.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/dsa/dsa_gen.c b/Cryptlib/OpenSSL/crypto/dsa/dsa_gen.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/dsa/dsa_key.c b/Cryptlib/OpenSSL/crypto/dsa/dsa_key.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/dsa/dsa_lib.c b/Cryptlib/OpenSSL/crypto/dsa/dsa_lib.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/dsa/dsa_ossl.c b/Cryptlib/OpenSSL/crypto/dsa/dsa_ossl.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/dsa/dsa_sign.c b/Cryptlib/OpenSSL/crypto/dsa/dsa_sign.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/dsa/dsa_utl.c b/Cryptlib/OpenSSL/crypto/dsa/dsa_utl.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/dsa/dsa_vrf.c b/Cryptlib/OpenSSL/crypto/dsa/dsa_vrf.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/dso/dso_dl.c b/Cryptlib/OpenSSL/crypto/dso/dso_dl.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/dso/dso_dlfcn.c b/Cryptlib/OpenSSL/crypto/dso/dso_dlfcn.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/dso/dso_err.c b/Cryptlib/OpenSSL/crypto/dso/dso_err.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/dso/dso_lib.c b/Cryptlib/OpenSSL/crypto/dso/dso_lib.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/dso/dso_null.c b/Cryptlib/OpenSSL/crypto/dso/dso_null.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/dso/dso_openssl.c b/Cryptlib/OpenSSL/crypto/dso/dso_openssl.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/dso/dso_vms.c b/Cryptlib/OpenSSL/crypto/dso/dso_vms.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/dso/dso_win32.c b/Cryptlib/OpenSSL/crypto/dso/dso_win32.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/dyn_lck.c b/Cryptlib/OpenSSL/crypto/dyn_lck.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/ebcdic.c b/Cryptlib/OpenSSL/crypto/ebcdic.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/ec/ec2_mult.c b/Cryptlib/OpenSSL/crypto/ec/ec2_mult.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/ec/ec2_smpl.c b/Cryptlib/OpenSSL/crypto/ec/ec2_smpl.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/ec/ec_asn1.c b/Cryptlib/OpenSSL/crypto/ec/ec_asn1.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/ec/ec_check.c b/Cryptlib/OpenSSL/crypto/ec/ec_check.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/ec/ec_curve.c b/Cryptlib/OpenSSL/crypto/ec/ec_curve.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/ec/ec_cvt.c b/Cryptlib/OpenSSL/crypto/ec/ec_cvt.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/ec/ec_err.c b/Cryptlib/OpenSSL/crypto/ec/ec_err.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/ec/ec_key.c b/Cryptlib/OpenSSL/crypto/ec/ec_key.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/ec/ec_lib.c b/Cryptlib/OpenSSL/crypto/ec/ec_lib.c -old mode 100755 -new mode 100644 -index bbf2799..e7d11ff ---- a/Cryptlib/OpenSSL/crypto/ec/ec_lib.c -+++ b/Cryptlib/OpenSSL/crypto/ec/ec_lib.c -@@ -1010,7 +1010,7 @@ int EC_POINT_dbl(const EC_GROUP *group, EC_POINT *r, const EC_POINT *a, BN_CTX * - - int EC_POINT_invert(const EC_GROUP *group, EC_POINT *a, BN_CTX *ctx) - { -- if (group->meth->dbl == 0) -+ if (group->meth->invert == 0) - { - ECerr(EC_F_EC_POINT_INVERT, ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED); - return 0; -diff --git a/Cryptlib/OpenSSL/crypto/ec/ec_mult.c b/Cryptlib/OpenSSL/crypto/ec/ec_mult.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/ec/ec_print.c b/Cryptlib/OpenSSL/crypto/ec/ec_print.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/ec/ecp_mont.c b/Cryptlib/OpenSSL/crypto/ec/ecp_mont.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/ec/ecp_nist.c b/Cryptlib/OpenSSL/crypto/ec/ecp_nist.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/ec/ecp_smpl.c b/Cryptlib/OpenSSL/crypto/ec/ecp_smpl.c -old mode 100755 -new mode 100644 -index 66a92e2..b239088 ---- a/Cryptlib/OpenSSL/crypto/ec/ecp_smpl.c -+++ b/Cryptlib/OpenSSL/crypto/ec/ecp_smpl.c -@@ -1540,9 +1540,8 @@ int ec_GFp_simple_make_affine(const EC_GROUP *group, EC_POINT *point, BN_CTX *ct - int ec_GFp_simple_points_make_affine(const EC_GROUP *group, size_t num, EC_POINT *points[], BN_CTX *ctx) - { - BN_CTX *new_ctx = NULL; -- BIGNUM *tmp0, *tmp1; -- size_t pow2 = 0; -- BIGNUM **heap = NULL; -+ BIGNUM *tmp, *tmp_Z; -+ BIGNUM **prod_Z = NULL; - size_t i; - int ret = 0; - -@@ -1557,124 +1556,104 @@ int ec_GFp_simple_points_make_affine(const EC_GROUP *group, size_t num, EC_POINT - } - - BN_CTX_start(ctx); -- tmp0 = BN_CTX_get(ctx); -- tmp1 = BN_CTX_get(ctx); -- if (tmp0 == NULL || tmp1 == NULL) goto err; -+ tmp = BN_CTX_get(ctx); -+ tmp_Z = BN_CTX_get(ctx); -+ if (tmp == NULL || tmp_Z == NULL) goto err; - -- /* Before converting the individual points, compute inverses of all Z values. -- * Modular inversion is rather slow, but luckily we can do with a single -- * explicit inversion, plus about 3 multiplications per input value. -- */ -+ prod_Z = OPENSSL_malloc(num * sizeof prod_Z[0]); -+ if (prod_Z == NULL) goto err; -+ for (i = 0; i < num; i++) -+ { -+ prod_Z[i] = BN_new(); -+ if (prod_Z[i] == NULL) goto err; -+ } - -- pow2 = 1; -- while (num > pow2) -- pow2 <<= 1; -- /* Now pow2 is the smallest power of 2 satifsying pow2 >= num. -- * We need twice that. */ -- pow2 <<= 1; -+ /* Set each prod_Z[i] to the product of points[0]->Z .. points[i]->Z, -+ * skipping any zero-valued inputs (pretend that they're 1). */ - -- heap = OPENSSL_malloc(pow2 * sizeof heap[0]); -- if (heap == NULL) goto err; -- -- /* The array is used as a binary tree, exactly as in heapsort: -- * -- * heap[1] -- * heap[2] heap[3] -- * heap[4] heap[5] heap[6] heap[7] -- * heap[8]heap[9] heap[10]heap[11] heap[12]heap[13] heap[14] heap[15] -- * -- * We put the Z's in the last line; -- * then we set each other node to the product of its two child-nodes (where -- * empty or 0 entries are treated as ones); -- * then we invert heap[1]; -- * then we invert each other node by replacing it by the product of its -- * parent (after inversion) and its sibling (before inversion). -- */ -- heap[0] = NULL; -- for (i = pow2/2 - 1; i > 0; i--) -- heap[i] = NULL; -- for (i = 0; i < num; i++) -- heap[pow2/2 + i] = &points[i]->Z; -- for (i = pow2/2 + num; i < pow2; i++) -- heap[i] = NULL; -- -- /* set each node to the product of its children */ -- for (i = pow2/2 - 1; i > 0; i--) -+ if (!BN_is_zero(&points[0]->Z)) - { -- heap[i] = BN_new(); -- if (heap[i] == NULL) goto err; -- -- if (heap[2*i] != NULL) -+ if (!BN_copy(prod_Z[0], &points[0]->Z)) goto err; -+ } -+ else -+ { -+ if (group->meth->field_set_to_one != 0) - { -- if ((heap[2*i + 1] == NULL) || BN_is_zero(heap[2*i + 1])) -- { -- if (!BN_copy(heap[i], heap[2*i])) goto err; -- } -- else -- { -- if (BN_is_zero(heap[2*i])) -- { -- if (!BN_copy(heap[i], heap[2*i + 1])) goto err; -- } -- else -- { -- if (!group->meth->field_mul(group, heap[i], -- heap[2*i], heap[2*i + 1], ctx)) goto err; -- } -- } -+ if (!group->meth->field_set_to_one(group, prod_Z[0], ctx)) goto err; -+ } -+ else -+ { -+ if (!BN_one(prod_Z[0])) goto err; - } - } - -- /* invert heap[1] */ -- if (!BN_is_zero(heap[1])) -+ for (i = 1; i < num; i++) - { -- if (!BN_mod_inverse(heap[1], heap[1], &group->field, ctx)) -+ if (!BN_is_zero(&points[i]->Z)) - { -- ECerr(EC_F_EC_GFP_SIMPLE_POINTS_MAKE_AFFINE, ERR_R_BN_LIB); -- goto err; -+ if (!group->meth->field_mul(group, prod_Z[i], prod_Z[i - 1], &points[i]->Z, ctx)) goto err; -+ } -+ else -+ { -+ if (!BN_copy(prod_Z[i], prod_Z[i - 1])) goto err; - } - } -+ -+ /* Now use a single explicit inversion to replace every -+ * non-zero points[i]->Z by its inverse. */ -+ -+ if (!BN_mod_inverse(tmp, prod_Z[num - 1], &group->field, ctx)) -+ { -+ ECerr(EC_F_EC_GFP_SIMPLE_POINTS_MAKE_AFFINE, ERR_R_BN_LIB); -+ goto err; -+ } - if (group->meth->field_encode != 0) - { -- /* in the Montgomery case, we just turned R*H (representing H) -+ /* In the Montgomery case, we just turned R*H (representing H) - * into 1/(R*H), but we need R*(1/H) (representing 1/H); -- * i.e. we have need to multiply by the Montgomery factor twice */ -- if (!group->meth->field_encode(group, heap[1], heap[1], ctx)) goto err; -- if (!group->meth->field_encode(group, heap[1], heap[1], ctx)) goto err; -+ * i.e. we need to multiply by the Montgomery factor twice. */ -+ if (!group->meth->field_encode(group, tmp, tmp, ctx)) goto err; -+ if (!group->meth->field_encode(group, tmp, tmp, ctx)) goto err; - } - -- /* set other heap[i]'s to their inverses */ -- for (i = 2; i < pow2/2 + num; i += 2) -+ for (i = num - 1; i > 0; --i) - { -- /* i is even */ -- if ((heap[i + 1] != NULL) && !BN_is_zero(heap[i + 1])) -- { -- if (!group->meth->field_mul(group, tmp0, heap[i/2], heap[i + 1], ctx)) goto err; -- if (!group->meth->field_mul(group, tmp1, heap[i/2], heap[i], ctx)) goto err; -- if (!BN_copy(heap[i], tmp0)) goto err; -- if (!BN_copy(heap[i + 1], tmp1)) goto err; -- } -- else -+ /* Loop invariant: tmp is the product of the inverses of -+ * points[0]->Z .. points[i]->Z (zero-valued inputs skipped). */ -+ if (!BN_is_zero(&points[i]->Z)) - { -- if (!BN_copy(heap[i], heap[i/2])) goto err; -+ /* Set tmp_Z to the inverse of points[i]->Z (as product -+ * of Z inverses 0 .. i, Z values 0 .. i - 1). */ -+ if (!group->meth->field_mul(group, tmp_Z, prod_Z[i - 1], tmp, ctx)) goto err; -+ /* Update tmp to satisfy the loop invariant for i - 1. */ -+ if (!group->meth->field_mul(group, tmp, tmp, &points[i]->Z, ctx)) goto err; -+ /* Replace points[i]->Z by its inverse. */ -+ if (!BN_copy(&points[i]->Z, tmp_Z)) goto err; - } - } - -- /* we have replaced all non-zero Z's by their inverses, now fix up all the points */ -+ if (!BN_is_zero(&points[0]->Z)) -+ { -+ /* Replace points[0]->Z by its inverse. */ -+ if (!BN_copy(&points[0]->Z, tmp)) goto err; -+ } -+ -+ /* Finally, fix up the X and Y coordinates for all points. */ -+ - for (i = 0; i < num; i++) - { - EC_POINT *p = points[i]; -- -+ - if (!BN_is_zero(&p->Z)) - { - /* turn (X, Y, 1/Z) into (X/Z^2, Y/Z^3, 1) */ - -- if (!group->meth->field_sqr(group, tmp1, &p->Z, ctx)) goto err; -- if (!group->meth->field_mul(group, &p->X, &p->X, tmp1, ctx)) goto err; -+ if (!group->meth->field_sqr(group, tmp, &p->Z, ctx)) goto err; -+ if (!group->meth->field_mul(group, &p->X, &p->X, tmp, ctx)) goto err; -+ -+ if (!group->meth->field_mul(group, tmp, tmp, &p->Z, ctx)) goto err; -+ if (!group->meth->field_mul(group, &p->Y, &p->Y, tmp, ctx)) goto err; - -- if (!group->meth->field_mul(group, tmp1, tmp1, &p->Z, ctx)) goto err; -- if (!group->meth->field_mul(group, &p->Y, &p->Y, tmp1, ctx)) goto err; -- - if (group->meth->field_set_to_one != 0) - { - if (!group->meth->field_set_to_one(group, &p->Z, ctx)) goto err; -@@ -1688,20 +1667,19 @@ int ec_GFp_simple_points_make_affine(const EC_GROUP *group, size_t num, EC_POINT - } - - ret = 1; -- -+ - err: - BN_CTX_end(ctx); - if (new_ctx != NULL) - BN_CTX_free(new_ctx); -- if (heap != NULL) -+ if (prod_Z != NULL) - { -- /* heap[pow2/2] .. heap[pow2-1] have not been allocated locally! */ -- for (i = pow2/2 - 1; i > 0; i--) -+ for (i = 0; i < num; i++) - { -- if (heap[i] != NULL) -- BN_clear_free(heap[i]); -+ if (prod_Z[i] != NULL) -+ BN_clear_free(prod_Z[i]); - } -- OPENSSL_free(heap); -+ OPENSSL_free(prod_Z); - } - return ret; - } -diff --git a/Cryptlib/OpenSSL/crypto/ecdh/ech_err.c b/Cryptlib/OpenSSL/crypto/ecdh/ech_err.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/ecdh/ech_key.c b/Cryptlib/OpenSSL/crypto/ecdh/ech_key.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/ecdh/ech_lib.c b/Cryptlib/OpenSSL/crypto/ecdh/ech_lib.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/ecdh/ech_ossl.c b/Cryptlib/OpenSSL/crypto/ecdh/ech_ossl.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/ecdsa/ecs_asn1.c b/Cryptlib/OpenSSL/crypto/ecdsa/ecs_asn1.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/ecdsa/ecs_err.c b/Cryptlib/OpenSSL/crypto/ecdsa/ecs_err.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/ecdsa/ecs_lib.c b/Cryptlib/OpenSSL/crypto/ecdsa/ecs_lib.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/ecdsa/ecs_ossl.c b/Cryptlib/OpenSSL/crypto/ecdsa/ecs_ossl.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/ecdsa/ecs_sign.c b/Cryptlib/OpenSSL/crypto/ecdsa/ecs_sign.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/ecdsa/ecs_vrf.c b/Cryptlib/OpenSSL/crypto/ecdsa/ecs_vrf.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/engine/eng_all.c b/Cryptlib/OpenSSL/crypto/engine/eng_all.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/engine/eng_cnf.c b/Cryptlib/OpenSSL/crypto/engine/eng_cnf.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/engine/eng_cryptodev.c b/Cryptlib/OpenSSL/crypto/engine/eng_cryptodev.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/engine/eng_ctrl.c b/Cryptlib/OpenSSL/crypto/engine/eng_ctrl.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/engine/eng_dyn.c b/Cryptlib/OpenSSL/crypto/engine/eng_dyn.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/engine/eng_err.c b/Cryptlib/OpenSSL/crypto/engine/eng_err.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/engine/eng_fat.c b/Cryptlib/OpenSSL/crypto/engine/eng_fat.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/engine/eng_init.c b/Cryptlib/OpenSSL/crypto/engine/eng_init.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/engine/eng_lib.c b/Cryptlib/OpenSSL/crypto/engine/eng_lib.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/engine/eng_list.c b/Cryptlib/OpenSSL/crypto/engine/eng_list.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/engine/eng_openssl.c b/Cryptlib/OpenSSL/crypto/engine/eng_openssl.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/engine/eng_padlock.c b/Cryptlib/OpenSSL/crypto/engine/eng_padlock.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/engine/eng_pkey.c b/Cryptlib/OpenSSL/crypto/engine/eng_pkey.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/engine/eng_table.c b/Cryptlib/OpenSSL/crypto/engine/eng_table.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/engine/tb_cipher.c b/Cryptlib/OpenSSL/crypto/engine/tb_cipher.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/engine/tb_dh.c b/Cryptlib/OpenSSL/crypto/engine/tb_dh.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/engine/tb_digest.c b/Cryptlib/OpenSSL/crypto/engine/tb_digest.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/engine/tb_dsa.c b/Cryptlib/OpenSSL/crypto/engine/tb_dsa.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/engine/tb_ecdh.c b/Cryptlib/OpenSSL/crypto/engine/tb_ecdh.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/engine/tb_ecdsa.c b/Cryptlib/OpenSSL/crypto/engine/tb_ecdsa.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/engine/tb_rand.c b/Cryptlib/OpenSSL/crypto/engine/tb_rand.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/engine/tb_rsa.c b/Cryptlib/OpenSSL/crypto/engine/tb_rsa.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/engine/tb_store.c b/Cryptlib/OpenSSL/crypto/engine/tb_store.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/err/err.c b/Cryptlib/OpenSSL/crypto/err/err.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/err/err_all.c b/Cryptlib/OpenSSL/crypto/err/err_all.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/err/err_bio.c b/Cryptlib/OpenSSL/crypto/err/err_bio.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/err/err_def.c b/Cryptlib/OpenSSL/crypto/err/err_def.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/err/err_prn.c b/Cryptlib/OpenSSL/crypto/err/err_prn.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/err/err_str.c b/Cryptlib/OpenSSL/crypto/err/err_str.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/evp/bio_b64.c b/Cryptlib/OpenSSL/crypto/evp/bio_b64.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/evp/bio_enc.c b/Cryptlib/OpenSSL/crypto/evp/bio_enc.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/evp/bio_md.c b/Cryptlib/OpenSSL/crypto/evp/bio_md.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/evp/bio_ok.c b/Cryptlib/OpenSSL/crypto/evp/bio_ok.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/evp/c_all.c b/Cryptlib/OpenSSL/crypto/evp/c_all.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/evp/c_allc.c b/Cryptlib/OpenSSL/crypto/evp/c_allc.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/evp/c_alld.c b/Cryptlib/OpenSSL/crypto/evp/c_alld.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/evp/dig_eng.c b/Cryptlib/OpenSSL/crypto/evp/dig_eng.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/evp/digest.c b/Cryptlib/OpenSSL/crypto/evp/digest.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/evp/e_aes.c b/Cryptlib/OpenSSL/crypto/evp/e_aes.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/evp/e_bf.c b/Cryptlib/OpenSSL/crypto/evp/e_bf.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/evp/e_cast.c b/Cryptlib/OpenSSL/crypto/evp/e_cast.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/evp/e_des.c b/Cryptlib/OpenSSL/crypto/evp/e_des.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/evp/e_des3.c b/Cryptlib/OpenSSL/crypto/evp/e_des3.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/evp/e_idea.c b/Cryptlib/OpenSSL/crypto/evp/e_idea.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/evp/e_null.c b/Cryptlib/OpenSSL/crypto/evp/e_null.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/evp/e_old.c b/Cryptlib/OpenSSL/crypto/evp/e_old.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/evp/e_rc2.c b/Cryptlib/OpenSSL/crypto/evp/e_rc2.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/evp/e_rc4.c b/Cryptlib/OpenSSL/crypto/evp/e_rc4.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/evp/e_rc5.c b/Cryptlib/OpenSSL/crypto/evp/e_rc5.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/evp/e_xcbc_d.c b/Cryptlib/OpenSSL/crypto/evp/e_xcbc_d.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/evp/enc_min.c b/Cryptlib/OpenSSL/crypto/evp/enc_min.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/evp/encode.c b/Cryptlib/OpenSSL/crypto/evp/encode.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/evp/evp_acnf.c b/Cryptlib/OpenSSL/crypto/evp/evp_acnf.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/evp/evp_cnf.c b/Cryptlib/OpenSSL/crypto/evp/evp_cnf.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/evp/evp_enc.c b/Cryptlib/OpenSSL/crypto/evp/evp_enc.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/evp/evp_err.c b/Cryptlib/OpenSSL/crypto/evp/evp_err.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/evp/evp_key.c b/Cryptlib/OpenSSL/crypto/evp/evp_key.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/evp/evp_lib.c b/Cryptlib/OpenSSL/crypto/evp/evp_lib.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/evp/evp_pbe.c b/Cryptlib/OpenSSL/crypto/evp/evp_pbe.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/evp/evp_pkey.c b/Cryptlib/OpenSSL/crypto/evp/evp_pkey.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/evp/m_dss.c b/Cryptlib/OpenSSL/crypto/evp/m_dss.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/evp/m_dss1.c b/Cryptlib/OpenSSL/crypto/evp/m_dss1.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/evp/m_ecdsa.c b/Cryptlib/OpenSSL/crypto/evp/m_ecdsa.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/evp/m_md2.c b/Cryptlib/OpenSSL/crypto/evp/m_md2.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/evp/m_md4.c b/Cryptlib/OpenSSL/crypto/evp/m_md4.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/evp/m_md5.c b/Cryptlib/OpenSSL/crypto/evp/m_md5.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/evp/m_null.c b/Cryptlib/OpenSSL/crypto/evp/m_null.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/evp/m_ripemd.c b/Cryptlib/OpenSSL/crypto/evp/m_ripemd.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/evp/m_sha.c b/Cryptlib/OpenSSL/crypto/evp/m_sha.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/evp/m_sha1.c b/Cryptlib/OpenSSL/crypto/evp/m_sha1.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/evp/names.c b/Cryptlib/OpenSSL/crypto/evp/names.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/evp/p5_crpt.c b/Cryptlib/OpenSSL/crypto/evp/p5_crpt.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/evp/p5_crpt2.c b/Cryptlib/OpenSSL/crypto/evp/p5_crpt2.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/evp/p_dec.c b/Cryptlib/OpenSSL/crypto/evp/p_dec.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/evp/p_enc.c b/Cryptlib/OpenSSL/crypto/evp/p_enc.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/evp/p_lib.c b/Cryptlib/OpenSSL/crypto/evp/p_lib.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/evp/p_open.c b/Cryptlib/OpenSSL/crypto/evp/p_open.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/evp/p_seal.c b/Cryptlib/OpenSSL/crypto/evp/p_seal.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/evp/p_sign.c b/Cryptlib/OpenSSL/crypto/evp/p_sign.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/evp/p_verify.c b/Cryptlib/OpenSSL/crypto/evp/p_verify.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/ex_data.c b/Cryptlib/OpenSSL/crypto/ex_data.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/fips_err.c b/Cryptlib/OpenSSL/crypto/fips_err.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/hmac/hmac.c b/Cryptlib/OpenSSL/crypto/hmac/hmac.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/idea/i_cbc.c b/Cryptlib/OpenSSL/crypto/idea/i_cbc.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/idea/i_cfb64.c b/Cryptlib/OpenSSL/crypto/idea/i_cfb64.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/idea/i_ecb.c b/Cryptlib/OpenSSL/crypto/idea/i_ecb.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/idea/i_ofb64.c b/Cryptlib/OpenSSL/crypto/idea/i_ofb64.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/idea/i_skey.c b/Cryptlib/OpenSSL/crypto/idea/i_skey.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/krb5/krb5_asn.c b/Cryptlib/OpenSSL/crypto/krb5/krb5_asn.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/lhash/lh_stats.c b/Cryptlib/OpenSSL/crypto/lhash/lh_stats.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/lhash/lhash.c b/Cryptlib/OpenSSL/crypto/lhash/lhash.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/md2/md2_dgst.c b/Cryptlib/OpenSSL/crypto/md2/md2_dgst.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/md2/md2_one.c b/Cryptlib/OpenSSL/crypto/md2/md2_one.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/md4/md4_dgst.c b/Cryptlib/OpenSSL/crypto/md4/md4_dgst.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/md4/md4_one.c b/Cryptlib/OpenSSL/crypto/md4/md4_one.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/md5/md5_dgst.c b/Cryptlib/OpenSSL/crypto/md5/md5_dgst.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/md5/md5_one.c b/Cryptlib/OpenSSL/crypto/md5/md5_one.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/mem.c b/Cryptlib/OpenSSL/crypto/mem.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/mem_clr.c b/Cryptlib/OpenSSL/crypto/mem_clr.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/mem_dbg.c b/Cryptlib/OpenSSL/crypto/mem_dbg.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/o_dir.c b/Cryptlib/OpenSSL/crypto/o_dir.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/o_init.c b/Cryptlib/OpenSSL/crypto/o_init.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/o_str.c b/Cryptlib/OpenSSL/crypto/o_str.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/o_time.c b/Cryptlib/OpenSSL/crypto/o_time.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/objects/o_names.c b/Cryptlib/OpenSSL/crypto/objects/o_names.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/objects/obj_dat.c b/Cryptlib/OpenSSL/crypto/objects/obj_dat.c -old mode 100755 -new mode 100644 -index 760af16..cf5ba2a ---- a/Cryptlib/OpenSSL/crypto/objects/obj_dat.c -+++ b/Cryptlib/OpenSSL/crypto/objects/obj_dat.c -@@ -444,11 +444,12 @@ int OBJ_obj2txt(char *buf, int buf_len, const ASN1_OBJECT *a, int no_name) - unsigned char *p; - char tbuf[DECIMAL_SIZE(i)+DECIMAL_SIZE(l)+2]; - -- if ((a == NULL) || (a->data == NULL)) { -- buf[0]='\0'; -- return(0); -- } -+ /* Ensure that, at every state, |buf| is NUL-terminated. */ -+ if (buf && buf_len > 0) -+ buf[0] = '\0'; - -+ if ((a == NULL) || (a->data == NULL)) -+ return(0); - - if (!no_name && (nid=OBJ_obj2nid(a)) != NID_undef) - { -@@ -527,9 +528,10 @@ int OBJ_obj2txt(char *buf, int buf_len, const ASN1_OBJECT *a, int no_name) - i=(int)(l/40); - l-=(long)(i*40); - } -- if (buf && (buf_len > 0)) -+ if (buf && (buf_len > 1)) - { - *buf++ = i + '0'; -+ *buf = '\0'; - buf_len--; - } - n++; -@@ -544,9 +546,10 @@ int OBJ_obj2txt(char *buf, int buf_len, const ASN1_OBJECT *a, int no_name) - i = strlen(bndec); - if (buf) - { -- if (buf_len > 0) -+ if (buf_len > 1) - { - *buf++ = '.'; -+ *buf = '\0'; - buf_len--; - } - BUF_strlcpy(buf,bndec,buf_len); -@@ -786,4 +789,3 @@ err: - OPENSSL_free(buf); - return(ok); - } -- -diff --git a/Cryptlib/OpenSSL/crypto/objects/obj_err.c b/Cryptlib/OpenSSL/crypto/objects/obj_err.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/objects/obj_lib.c b/Cryptlib/OpenSSL/crypto/objects/obj_lib.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/ocsp/ocsp_asn.c b/Cryptlib/OpenSSL/crypto/ocsp/ocsp_asn.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/ocsp/ocsp_cl.c b/Cryptlib/OpenSSL/crypto/ocsp/ocsp_cl.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/ocsp/ocsp_err.c b/Cryptlib/OpenSSL/crypto/ocsp/ocsp_err.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/ocsp/ocsp_ext.c b/Cryptlib/OpenSSL/crypto/ocsp/ocsp_ext.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/ocsp/ocsp_ht.c b/Cryptlib/OpenSSL/crypto/ocsp/ocsp_ht.c -old mode 100755 -new mode 100644 -index 92aba08..fb87cd7 ---- a/Cryptlib/OpenSSL/crypto/ocsp/ocsp_ht.c -+++ b/Cryptlib/OpenSSL/crypto/ocsp/ocsp_ht.c -@@ -464,6 +464,9 @@ OCSP_RESPONSE *OCSP_sendreq_bio(BIO *b, char *path, OCSP_REQUEST *req) - - ctx = OCSP_sendreq_new(b, path, req, -1); - -+ if (!ctx) -+ return NULL; -+ - do - { - rv = OCSP_sendreq_nbio(&resp, ctx); -diff --git a/Cryptlib/OpenSSL/crypto/ocsp/ocsp_lib.c b/Cryptlib/OpenSSL/crypto/ocsp/ocsp_lib.c -old mode 100755 -new mode 100644 -index 441ccb7..5883b4e ---- a/Cryptlib/OpenSSL/crypto/ocsp/ocsp_lib.c -+++ b/Cryptlib/OpenSSL/crypto/ocsp/ocsp_lib.c -@@ -220,8 +220,19 @@ int OCSP_parse_url(char *url, char **phost, char **pport, char **ppath, int *pss - - if (!*ppath) goto mem_err; - -+ p = host; -+ if(host[0] == '[') -+ { -+ /* ipv6 literal */ -+ host++; -+ p = strchr(host, ']'); -+ if(!p) goto parse_err; -+ *p = '\0'; -+ p++; -+ } -+ - /* Look for optional ':' for port number */ -- if ((p = strchr(host, ':'))) -+ if ((p = strchr(p, ':'))) - { - *p = 0; - port = p + 1; -diff --git a/Cryptlib/OpenSSL/crypto/ocsp/ocsp_prn.c b/Cryptlib/OpenSSL/crypto/ocsp/ocsp_prn.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/ocsp/ocsp_srv.c b/Cryptlib/OpenSSL/crypto/ocsp/ocsp_srv.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/ocsp/ocsp_vfy.c b/Cryptlib/OpenSSL/crypto/ocsp/ocsp_vfy.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/pem/pem_all.c b/Cryptlib/OpenSSL/crypto/pem/pem_all.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/pem/pem_err.c b/Cryptlib/OpenSSL/crypto/pem/pem_err.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/pem/pem_info.c b/Cryptlib/OpenSSL/crypto/pem/pem_info.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/pem/pem_lib.c b/Cryptlib/OpenSSL/crypto/pem/pem_lib.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/pem/pem_oth.c b/Cryptlib/OpenSSL/crypto/pem/pem_oth.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/pem/pem_pk8.c b/Cryptlib/OpenSSL/crypto/pem/pem_pk8.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/pem/pem_pkey.c b/Cryptlib/OpenSSL/crypto/pem/pem_pkey.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/pem/pem_seal.c b/Cryptlib/OpenSSL/crypto/pem/pem_seal.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/pem/pem_sign.c b/Cryptlib/OpenSSL/crypto/pem/pem_sign.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/pem/pem_x509.c b/Cryptlib/OpenSSL/crypto/pem/pem_x509.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/pem/pem_xaux.c b/Cryptlib/OpenSSL/crypto/pem/pem_xaux.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/pkcs12/p12_add.c b/Cryptlib/OpenSSL/crypto/pkcs12/p12_add.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/pkcs12/p12_asn.c b/Cryptlib/OpenSSL/crypto/pkcs12/p12_asn.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/pkcs12/p12_attr.c b/Cryptlib/OpenSSL/crypto/pkcs12/p12_attr.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/pkcs12/p12_crpt.c b/Cryptlib/OpenSSL/crypto/pkcs12/p12_crpt.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/pkcs12/p12_crt.c b/Cryptlib/OpenSSL/crypto/pkcs12/p12_crt.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/pkcs12/p12_decr.c b/Cryptlib/OpenSSL/crypto/pkcs12/p12_decr.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/pkcs12/p12_init.c b/Cryptlib/OpenSSL/crypto/pkcs12/p12_init.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/pkcs12/p12_key.c b/Cryptlib/OpenSSL/crypto/pkcs12/p12_key.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/pkcs12/p12_kiss.c b/Cryptlib/OpenSSL/crypto/pkcs12/p12_kiss.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/pkcs12/p12_mutl.c b/Cryptlib/OpenSSL/crypto/pkcs12/p12_mutl.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/pkcs12/p12_npas.c b/Cryptlib/OpenSSL/crypto/pkcs12/p12_npas.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/pkcs12/p12_p8d.c b/Cryptlib/OpenSSL/crypto/pkcs12/p12_p8d.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/pkcs12/p12_p8e.c b/Cryptlib/OpenSSL/crypto/pkcs12/p12_p8e.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/pkcs12/p12_utl.c b/Cryptlib/OpenSSL/crypto/pkcs12/p12_utl.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/pkcs12/pk12err.c b/Cryptlib/OpenSSL/crypto/pkcs12/pk12err.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/pkcs7/pk7_asn1.c b/Cryptlib/OpenSSL/crypto/pkcs7/pk7_asn1.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/pkcs7/pk7_attr.c b/Cryptlib/OpenSSL/crypto/pkcs7/pk7_attr.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/pkcs7/pk7_doit.c b/Cryptlib/OpenSSL/crypto/pkcs7/pk7_doit.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/pkcs7/pk7_lib.c b/Cryptlib/OpenSSL/crypto/pkcs7/pk7_lib.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/pkcs7/pk7_mime.c b/Cryptlib/OpenSSL/crypto/pkcs7/pk7_mime.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/pkcs7/pk7_smime.c b/Cryptlib/OpenSSL/crypto/pkcs7/pk7_smime.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/pkcs7/pkcs7err.c b/Cryptlib/OpenSSL/crypto/pkcs7/pkcs7err.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/pqueue/pqueue.c b/Cryptlib/OpenSSL/crypto/pqueue/pqueue.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/rand/md_rand.c b/Cryptlib/OpenSSL/crypto/rand/md_rand.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/rand/rand_egd.c b/Cryptlib/OpenSSL/crypto/rand/rand_egd.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/rand/rand_eng.c b/Cryptlib/OpenSSL/crypto/rand/rand_eng.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/rand/rand_err.c b/Cryptlib/OpenSSL/crypto/rand/rand_err.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/rand/rand_lib.c b/Cryptlib/OpenSSL/crypto/rand/rand_lib.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/rand/rand_nw.c b/Cryptlib/OpenSSL/crypto/rand/rand_nw.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/rand/rand_os2.c b/Cryptlib/OpenSSL/crypto/rand/rand_os2.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/rand/rand_unix.c b/Cryptlib/OpenSSL/crypto/rand/rand_unix.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/rand/rand_win.c b/Cryptlib/OpenSSL/crypto/rand/rand_win.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/rand/randfile.c b/Cryptlib/OpenSSL/crypto/rand/randfile.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/rc2/rc2_cbc.c b/Cryptlib/OpenSSL/crypto/rc2/rc2_cbc.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/rc2/rc2_ecb.c b/Cryptlib/OpenSSL/crypto/rc2/rc2_ecb.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/rc2/rc2_skey.c b/Cryptlib/OpenSSL/crypto/rc2/rc2_skey.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/rc2/rc2cfb64.c b/Cryptlib/OpenSSL/crypto/rc2/rc2cfb64.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/rc2/rc2ofb64.c b/Cryptlib/OpenSSL/crypto/rc2/rc2ofb64.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/rc4/rc4_enc.c b/Cryptlib/OpenSSL/crypto/rc4/rc4_enc.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/rc4/rc4_fblk.c b/Cryptlib/OpenSSL/crypto/rc4/rc4_fblk.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/rc4/rc4_skey.c b/Cryptlib/OpenSSL/crypto/rc4/rc4_skey.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/ripemd/rmd_dgst.c b/Cryptlib/OpenSSL/crypto/ripemd/rmd_dgst.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/ripemd/rmd_one.c b/Cryptlib/OpenSSL/crypto/ripemd/rmd_one.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/rsa/rsa_asn1.c b/Cryptlib/OpenSSL/crypto/rsa/rsa_asn1.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/rsa/rsa_chk.c b/Cryptlib/OpenSSL/crypto/rsa/rsa_chk.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/rsa/rsa_depr.c b/Cryptlib/OpenSSL/crypto/rsa/rsa_depr.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/rsa/rsa_eay.c b/Cryptlib/OpenSSL/crypto/rsa/rsa_eay.c -old mode 100755 -new mode 100644 -index d477f08..203d702 ---- a/Cryptlib/OpenSSL/crypto/rsa/rsa_eay.c -+++ b/Cryptlib/OpenSSL/crypto/rsa/rsa_eay.c -@@ -457,7 +457,7 @@ static int RSA_eay_private_encrypt(int flen, const unsigned char *from, - if (padding == RSA_X931_PADDING) - { - BN_sub(f, rsa->n, ret); -- if (BN_cmp(ret, f)) -+ if (BN_cmp(ret, f) > 0) - res = f; - else - res = ret; -diff --git a/Cryptlib/OpenSSL/crypto/rsa/rsa_eng.c b/Cryptlib/OpenSSL/crypto/rsa/rsa_eng.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/rsa/rsa_err.c b/Cryptlib/OpenSSL/crypto/rsa/rsa_err.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/rsa/rsa_gen.c b/Cryptlib/OpenSSL/crypto/rsa/rsa_gen.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/rsa/rsa_lib.c b/Cryptlib/OpenSSL/crypto/rsa/rsa_lib.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/rsa/rsa_none.c b/Cryptlib/OpenSSL/crypto/rsa/rsa_none.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/rsa/rsa_null.c b/Cryptlib/OpenSSL/crypto/rsa/rsa_null.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/rsa/rsa_oaep.c b/Cryptlib/OpenSSL/crypto/rsa/rsa_oaep.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/rsa/rsa_pk1.c b/Cryptlib/OpenSSL/crypto/rsa/rsa_pk1.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/rsa/rsa_pss.c b/Cryptlib/OpenSSL/crypto/rsa/rsa_pss.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/rsa/rsa_saos.c b/Cryptlib/OpenSSL/crypto/rsa/rsa_saos.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/rsa/rsa_sign.c b/Cryptlib/OpenSSL/crypto/rsa/rsa_sign.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/rsa/rsa_ssl.c b/Cryptlib/OpenSSL/crypto/rsa/rsa_ssl.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/rsa/rsa_x931.c b/Cryptlib/OpenSSL/crypto/rsa/rsa_x931.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/rsa/rsa_x931g.c b/Cryptlib/OpenSSL/crypto/rsa/rsa_x931g.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/sha/sha1_one.c b/Cryptlib/OpenSSL/crypto/sha/sha1_one.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/sha/sha1dgst.c b/Cryptlib/OpenSSL/crypto/sha/sha1dgst.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/sha/sha256.c b/Cryptlib/OpenSSL/crypto/sha/sha256.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/sha/sha512.c b/Cryptlib/OpenSSL/crypto/sha/sha512.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/sha/sha_dgst.c b/Cryptlib/OpenSSL/crypto/sha/sha_dgst.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/sha/sha_one.c b/Cryptlib/OpenSSL/crypto/sha/sha_one.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/stack/stack.c b/Cryptlib/OpenSSL/crypto/stack/stack.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/store/str_err.c b/Cryptlib/OpenSSL/crypto/store/str_err.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/store/str_lib.c b/Cryptlib/OpenSSL/crypto/store/str_lib.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/store/str_mem.c b/Cryptlib/OpenSSL/crypto/store/str_mem.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/store/str_meth.c b/Cryptlib/OpenSSL/crypto/store/str_meth.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/txt_db/txt_db.c b/Cryptlib/OpenSSL/crypto/txt_db/txt_db.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/ui/ui_compat.c b/Cryptlib/OpenSSL/crypto/ui/ui_compat.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/ui/ui_err.c b/Cryptlib/OpenSSL/crypto/ui/ui_err.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/ui/ui_lib.c b/Cryptlib/OpenSSL/crypto/ui/ui_lib.c -old mode 100755 -new mode 100644 -index ac01008..67013f8 ---- a/Cryptlib/OpenSSL/crypto/ui/ui_lib.c -+++ b/Cryptlib/OpenSSL/crypto/ui/ui_lib.c -@@ -897,9 +897,9 @@ int UI_set_result(UI *ui, UI_STRING *uis, const char *result) - break; - } - } -+ } - default: - break; - } -- } - return 0; - } -diff --git a/Cryptlib/OpenSSL/crypto/ui/ui_util.c b/Cryptlib/OpenSSL/crypto/ui/ui_util.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/uid.c b/Cryptlib/OpenSSL/crypto/uid.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/x509/by_dir.c b/Cryptlib/OpenSSL/crypto/x509/by_dir.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/x509/by_file.c b/Cryptlib/OpenSSL/crypto/x509/by_file.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/x509/x509_att.c b/Cryptlib/OpenSSL/crypto/x509/x509_att.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/x509/x509_cmp.c b/Cryptlib/OpenSSL/crypto/x509/x509_cmp.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/x509/x509_d2.c b/Cryptlib/OpenSSL/crypto/x509/x509_d2.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/x509/x509_def.c b/Cryptlib/OpenSSL/crypto/x509/x509_def.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/x509/x509_err.c b/Cryptlib/OpenSSL/crypto/x509/x509_err.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/x509/x509_ext.c b/Cryptlib/OpenSSL/crypto/x509/x509_ext.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/x509/x509_lu.c b/Cryptlib/OpenSSL/crypto/x509/x509_lu.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/x509/x509_obj.c b/Cryptlib/OpenSSL/crypto/x509/x509_obj.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/x509/x509_r2x.c b/Cryptlib/OpenSSL/crypto/x509/x509_r2x.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/x509/x509_req.c b/Cryptlib/OpenSSL/crypto/x509/x509_req.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/x509/x509_set.c b/Cryptlib/OpenSSL/crypto/x509/x509_set.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/x509/x509_trs.c b/Cryptlib/OpenSSL/crypto/x509/x509_trs.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/x509/x509_txt.c b/Cryptlib/OpenSSL/crypto/x509/x509_txt.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/x509/x509_v3.c b/Cryptlib/OpenSSL/crypto/x509/x509_v3.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/x509/x509_vfy.c b/Cryptlib/OpenSSL/crypto/x509/x509_vfy.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/x509/x509_vpm.c b/Cryptlib/OpenSSL/crypto/x509/x509_vpm.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/x509/x509cset.c b/Cryptlib/OpenSSL/crypto/x509/x509cset.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/x509/x509name.c b/Cryptlib/OpenSSL/crypto/x509/x509name.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/x509/x509rset.c b/Cryptlib/OpenSSL/crypto/x509/x509rset.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/x509/x509spki.c b/Cryptlib/OpenSSL/crypto/x509/x509spki.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/x509/x509type.c b/Cryptlib/OpenSSL/crypto/x509/x509type.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/x509/x_all.c b/Cryptlib/OpenSSL/crypto/x509/x_all.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/x509v3/pcy_cache.c b/Cryptlib/OpenSSL/crypto/x509v3/pcy_cache.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/x509v3/pcy_data.c b/Cryptlib/OpenSSL/crypto/x509v3/pcy_data.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/x509v3/pcy_lib.c b/Cryptlib/OpenSSL/crypto/x509v3/pcy_lib.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/x509v3/pcy_map.c b/Cryptlib/OpenSSL/crypto/x509v3/pcy_map.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/x509v3/pcy_node.c b/Cryptlib/OpenSSL/crypto/x509v3/pcy_node.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/x509v3/pcy_tree.c b/Cryptlib/OpenSSL/crypto/x509v3/pcy_tree.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/x509v3/v3_addr.c b/Cryptlib/OpenSSL/crypto/x509v3/v3_addr.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/x509v3/v3_akey.c b/Cryptlib/OpenSSL/crypto/x509v3/v3_akey.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/x509v3/v3_akeya.c b/Cryptlib/OpenSSL/crypto/x509v3/v3_akeya.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/x509v3/v3_alt.c b/Cryptlib/OpenSSL/crypto/x509v3/v3_alt.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/x509v3/v3_asid.c b/Cryptlib/OpenSSL/crypto/x509v3/v3_asid.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/x509v3/v3_bcons.c b/Cryptlib/OpenSSL/crypto/x509v3/v3_bcons.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/x509v3/v3_bitst.c b/Cryptlib/OpenSSL/crypto/x509v3/v3_bitst.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/x509v3/v3_conf.c b/Cryptlib/OpenSSL/crypto/x509v3/v3_conf.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/x509v3/v3_cpols.c b/Cryptlib/OpenSSL/crypto/x509v3/v3_cpols.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/x509v3/v3_crld.c b/Cryptlib/OpenSSL/crypto/x509v3/v3_crld.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/x509v3/v3_enum.c b/Cryptlib/OpenSSL/crypto/x509v3/v3_enum.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/x509v3/v3_extku.c b/Cryptlib/OpenSSL/crypto/x509v3/v3_extku.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/x509v3/v3_genn.c b/Cryptlib/OpenSSL/crypto/x509v3/v3_genn.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/x509v3/v3_ia5.c b/Cryptlib/OpenSSL/crypto/x509v3/v3_ia5.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/x509v3/v3_info.c b/Cryptlib/OpenSSL/crypto/x509v3/v3_info.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/x509v3/v3_int.c b/Cryptlib/OpenSSL/crypto/x509v3/v3_int.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/x509v3/v3_lib.c b/Cryptlib/OpenSSL/crypto/x509v3/v3_lib.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/x509v3/v3_ncons.c b/Cryptlib/OpenSSL/crypto/x509v3/v3_ncons.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/x509v3/v3_ocsp.c b/Cryptlib/OpenSSL/crypto/x509v3/v3_ocsp.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/x509v3/v3_pci.c b/Cryptlib/OpenSSL/crypto/x509v3/v3_pci.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/x509v3/v3_pcia.c b/Cryptlib/OpenSSL/crypto/x509v3/v3_pcia.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/x509v3/v3_pcons.c b/Cryptlib/OpenSSL/crypto/x509v3/v3_pcons.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/x509v3/v3_pku.c b/Cryptlib/OpenSSL/crypto/x509v3/v3_pku.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/x509v3/v3_pmaps.c b/Cryptlib/OpenSSL/crypto/x509v3/v3_pmaps.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/x509v3/v3_prn.c b/Cryptlib/OpenSSL/crypto/x509v3/v3_prn.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/x509v3/v3_purp.c b/Cryptlib/OpenSSL/crypto/x509v3/v3_purp.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/x509v3/v3_skey.c b/Cryptlib/OpenSSL/crypto/x509v3/v3_skey.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/x509v3/v3_sxnet.c b/Cryptlib/OpenSSL/crypto/x509v3/v3_sxnet.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/x509v3/v3_utl.c b/Cryptlib/OpenSSL/crypto/x509v3/v3_utl.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/crypto/x509v3/v3err.c b/Cryptlib/OpenSSL/crypto/x509v3/v3err.c -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/e_os.h b/Cryptlib/OpenSSL/e_os.h -old mode 100755 -new mode 100644 -diff --git a/Cryptlib/OpenSSL/update.sh b/Cryptlib/OpenSSL/update.sh -index 95875e7..897ef2d 100755 ---- a/Cryptlib/OpenSSL/update.sh -+++ b/Cryptlib/OpenSSL/update.sh -@@ -1,501 +1,504 @@ - #/bin/sh - DIR=$1 -+version="0.9.8zb" - --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/e_os.h e_os.h --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/cryptlib.c crypto/cryptlib.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/dyn_lck.c crypto/dyn_lck.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/mem.c crypto/mem.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/mem_clr.c crypto/mem_clr.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/mem_dbg.c crypto/mem_dbg.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/cversion.c crypto/cversion.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ex_data.c crypto/ex_data.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/cpt_err.c crypto/cpt_err.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ebcdic.c crypto/ebcdic.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/uid.c crypto/uid.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/o_time.c crypto/o_time.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/o_str.c crypto/o_str.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/o_dir.c crypto/o_dir.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/o_init.c crypto/o_init.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/fips_err.c crypto/fips_err.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/md2/md2_dgst.c crypto/md2/md2_dgst.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/md2/md2_one.c crypto/md2/md2_one.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/md4/md4_dgst.c crypto/md4/md4_dgst.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/md4/md4_one.c crypto/md4/md4_one.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/md5/md5_dgst.c crypto/md5/md5_dgst.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/md5/md5_one.c crypto/md5/md5_one.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/sha/sha_dgst.c crypto/sha/sha_dgst.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/sha/sha1dgst.c crypto/sha/sha1dgst.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/sha/sha_one.c crypto/sha/sha_one.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/sha/sha1_one.c crypto/sha/sha1_one.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/sha/sha256.c crypto/sha/sha256.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/sha/sha512.c crypto/sha/sha512.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/hmac/hmac.c crypto/hmac/hmac.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ripemd/rmd_dgst.c crypto/ripemd/rmd_dgst.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ripemd/rmd_one.c crypto/ripemd/rmd_one.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/des/des_lib.c crypto/des/des_lib.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/des/set_key.c crypto/des/set_key.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/des/ecb_enc.c crypto/des/ecb_enc.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/des/cbc_enc.c crypto/des/cbc_enc.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/des/ecb3_enc.c crypto/des/ecb3_enc.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/des/cfb64enc.c crypto/des/cfb64enc.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/des/cfb64ede.c crypto/des/cfb64ede.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/des/cfb_enc.c crypto/des/cfb_enc.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/des/ofb64ede.c crypto/des/ofb64ede.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/des/enc_read.c crypto/des/enc_read.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/des/enc_writ.c crypto/des/enc_writ.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/des/ofb64enc.c crypto/des/ofb64enc.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/des/ofb_enc.c crypto/des/ofb_enc.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/des/str2key.c crypto/des/str2key.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/des/pcbc_enc.c crypto/des/pcbc_enc.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/des/qud_cksm.c crypto/des/qud_cksm.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/des/rand_key.c crypto/des/rand_key.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/des/des_enc.c crypto/des/des_enc.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/des/fcrypt_b.c crypto/des/fcrypt_b.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/des/fcrypt.c crypto/des/fcrypt.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/des/xcbc_enc.c crypto/des/xcbc_enc.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/des/rpc_enc.c crypto/des/rpc_enc.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/des/cbc_cksm.c crypto/des/cbc_cksm.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/des/ede_cbcm_enc.c crypto/des/ede_cbcm_enc.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/des/des_old.c crypto/des/des_old.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/des/des_old2.c crypto/des/des_old2.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/des/read2pwd.c crypto/des/read2pwd.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/rc2/rc2_ecb.c crypto/rc2/rc2_ecb.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/rc2/rc2_skey.c crypto/rc2/rc2_skey.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/rc2/rc2_cbc.c crypto/rc2/rc2_cbc.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/rc2/rc2cfb64.c crypto/rc2/rc2cfb64.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/rc2/rc2ofb64.c crypto/rc2/rc2ofb64.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/rc4/rc4_enc.c crypto/rc4/rc4_enc.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/rc4/rc4_skey.c crypto/rc4/rc4_skey.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/rc4/rc4_fblk.c crypto/rc4/rc4_fblk.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/idea/i_cbc.c crypto/idea/i_cbc.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/idea/i_cfb64.c crypto/idea/i_cfb64.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/idea/i_ofb64.c crypto/idea/i_ofb64.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/idea/i_ecb.c crypto/idea/i_ecb.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/idea/i_skey.c crypto/idea/i_skey.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bf/bf_skey.c crypto/bf/bf_skey.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bf/bf_ecb.c crypto/bf/bf_ecb.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bf/bf_enc.c crypto/bf/bf_enc.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bf/bf_cfb64.c crypto/bf/bf_cfb64.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bf/bf_ofb64.c crypto/bf/bf_ofb64.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/cast/c_skey.c crypto/cast/c_skey.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/cast/c_ecb.c crypto/cast/c_ecb.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/cast/c_enc.c crypto/cast/c_enc.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/cast/c_cfb64.c crypto/cast/c_cfb64.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/cast/c_ofb64.c crypto/cast/c_ofb64.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/aes/aes_misc.c crypto/aes/aes_misc.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/aes/aes_ecb.c crypto/aes/aes_ecb.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/aes/aes_cfb.c crypto/aes/aes_cfb.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/aes/aes_ofb.c crypto/aes/aes_ofb.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/aes/aes_ctr.c crypto/aes/aes_ctr.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/aes/aes_ige.c crypto/aes/aes_ige.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/aes/aes_wrap.c crypto/aes/aes_wrap.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/aes/aes_core.c crypto/aes/aes_core.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/aes/aes_cbc.c crypto/aes/aes_cbc.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bn/bn_add.c crypto/bn/bn_add.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bn/bn_div.c crypto/bn/bn_div.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bn/bn_exp.c crypto/bn/bn_exp.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bn/bn_lib.c crypto/bn/bn_lib.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bn/bn_ctx.c crypto/bn/bn_ctx.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bn/bn_mul.c crypto/bn/bn_mul.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bn/bn_mod.c crypto/bn/bn_mod.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bn/bn_print.c crypto/bn/bn_print.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bn/bn_rand.c crypto/bn/bn_rand.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bn/bn_shift.c crypto/bn/bn_shift.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bn/bn_word.c crypto/bn/bn_word.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bn/bn_blind.c crypto/bn/bn_blind.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bn/bn_kron.c crypto/bn/bn_kron.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bn/bn_sqrt.c crypto/bn/bn_sqrt.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bn/bn_gcd.c crypto/bn/bn_gcd.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bn/bn_prime.c crypto/bn/bn_prime.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bn/bn_err.c crypto/bn/bn_err.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bn/bn_sqr.c crypto/bn/bn_sqr.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bn/bn_asm.c crypto/bn/bn_asm.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bn/bn_recp.c crypto/bn/bn_recp.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bn/bn_mont.c crypto/bn/bn_mont.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bn/bn_mpi.c crypto/bn/bn_mpi.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bn/bn_exp2.c crypto/bn/bn_exp2.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bn/bn_gf2m.c crypto/bn/bn_gf2m.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bn/bn_nist.c crypto/bn/bn_nist.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bn/bn_depr.c crypto/bn/bn_depr.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bn/bn_x931p.c crypto/bn/bn_x931p.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bn/bn_const.c crypto/bn/bn_const.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bn/bn_opt.c crypto/bn/bn_opt.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/rsa/rsa_eay.c crypto/rsa/rsa_eay.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/rsa/rsa_gen.c crypto/rsa/rsa_gen.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/rsa/rsa_lib.c crypto/rsa/rsa_lib.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/rsa/rsa_sign.c crypto/rsa/rsa_sign.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/rsa/rsa_saos.c crypto/rsa/rsa_saos.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/rsa/rsa_err.c crypto/rsa/rsa_err.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/rsa/rsa_pk1.c crypto/rsa/rsa_pk1.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/rsa/rsa_ssl.c crypto/rsa/rsa_ssl.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/rsa/rsa_none.c crypto/rsa/rsa_none.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/rsa/rsa_oaep.c crypto/rsa/rsa_oaep.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/rsa/rsa_chk.c crypto/rsa/rsa_chk.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/rsa/rsa_null.c crypto/rsa/rsa_null.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/rsa/rsa_pss.c crypto/rsa/rsa_pss.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/rsa/rsa_x931.c crypto/rsa/rsa_x931.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/rsa/rsa_x931g.c crypto/rsa/rsa_x931g.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/rsa/rsa_asn1.c crypto/rsa/rsa_asn1.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/rsa/rsa_depr.c crypto/rsa/rsa_depr.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/rsa/rsa_eng.c crypto/rsa/rsa_eng.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/dsa/dsa_gen.c crypto/dsa/dsa_gen.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/dsa/dsa_key.c crypto/dsa/dsa_key.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/dsa/dsa_lib.c crypto/dsa/dsa_lib.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/dsa/dsa_asn1.c crypto/dsa/dsa_asn1.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/dsa/dsa_vrf.c crypto/dsa/dsa_vrf.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/dsa/dsa_sign.c crypto/dsa/dsa_sign.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/dsa/dsa_err.c crypto/dsa/dsa_err.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/dsa/dsa_ossl.c crypto/dsa/dsa_ossl.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/dsa/dsa_depr.c crypto/dsa/dsa_depr.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/dsa/dsa_utl.c crypto/dsa/dsa_utl.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/dso/dso_dl.c crypto/dso/dso_dl.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/dso/dso_dlfcn.c crypto/dso/dso_dlfcn.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/dso/dso_err.c crypto/dso/dso_err.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/dso/dso_lib.c crypto/dso/dso_lib.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/dso/dso_null.c crypto/dso/dso_null.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/dso/dso_openssl.c crypto/dso/dso_openssl.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/dso/dso_win32.c crypto/dso/dso_win32.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/dso/dso_vms.c crypto/dso/dso_vms.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/dh/dh_asn1.c crypto/dh/dh_asn1.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/dh/dh_gen.c crypto/dh/dh_gen.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/dh/dh_key.c crypto/dh/dh_key.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/dh/dh_lib.c crypto/dh/dh_lib.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/dh/dh_check.c crypto/dh/dh_check.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/dh/dh_err.c crypto/dh/dh_err.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/dh/dh_depr.c crypto/dh/dh_depr.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ec/ec_lib.c crypto/ec/ec_lib.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ec/ecp_smpl.c crypto/ec/ecp_smpl.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ec/ecp_mont.c crypto/ec/ecp_mont.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ec/ecp_nist.c crypto/ec/ecp_nist.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ec/ec_cvt.c crypto/ec/ec_cvt.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ec/ec_mult.c crypto/ec/ec_mult.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ec/ec_err.c crypto/ec/ec_err.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ec/ec_curve.c crypto/ec/ec_curve.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ec/ec_check.c crypto/ec/ec_check.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ec/ec_print.c crypto/ec/ec_print.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ec/ec_asn1.c crypto/ec/ec_asn1.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ec/ec_key.c crypto/ec/ec_key.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ec/ec2_smpl.c crypto/ec/ec2_smpl.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ec/ec2_mult.c crypto/ec/ec2_mult.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ecdh/ech_lib.c crypto/ecdh/ech_lib.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ecdh/ech_ossl.c crypto/ecdh/ech_ossl.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ecdh/ech_key.c crypto/ecdh/ech_key.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ecdh/ech_err.c crypto/ecdh/ech_err.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ecdsa/ecs_lib.c crypto/ecdsa/ecs_lib.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ecdsa/ecs_asn1.c crypto/ecdsa/ecs_asn1.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ecdsa/ecs_ossl.c crypto/ecdsa/ecs_ossl.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ecdsa/ecs_sign.c crypto/ecdsa/ecs_sign.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ecdsa/ecs_vrf.c crypto/ecdsa/ecs_vrf.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ecdsa/ecs_err.c crypto/ecdsa/ecs_err.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/buffer/buffer.c crypto/buffer/buffer.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/buffer/buf_str.c crypto/buffer/buf_str.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/buffer/buf_err.c crypto/buffer/buf_err.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bio/bio_lib.c crypto/bio/bio_lib.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bio/bio_cb.c crypto/bio/bio_cb.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bio/bio_err.c crypto/bio/bio_err.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bio/bss_mem.c crypto/bio/bss_mem.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bio/bss_null.c crypto/bio/bss_null.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bio/bss_fd.c crypto/bio/bss_fd.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bio/bss_file.c crypto/bio/bss_file.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bio/bf_null.c crypto/bio/bf_null.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bio/bf_buff.c crypto/bio/bf_buff.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bio/b_dump.c crypto/bio/b_dump.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bio/bf_nbio.c crypto/bio/bf_nbio.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bio/bss_log.c crypto/bio/bss_log.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bio/bss_bio.c crypto/bio/bss_bio.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bio/bss_dgram.c crypto/bio/bss_dgram.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/stack/stack.c crypto/stack/stack.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/lhash/lhash.c crypto/lhash/lhash.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/lhash/lh_stats.c crypto/lhash/lh_stats.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/rand/md_rand.c crypto/rand/md_rand.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/rand/randfile.c crypto/rand/randfile.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/rand/rand_lib.c crypto/rand/rand_lib.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/rand/rand_eng.c crypto/rand/rand_eng.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/rand/rand_err.c crypto/rand/rand_err.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/rand/rand_egd.c crypto/rand/rand_egd.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/rand/rand_win.c crypto/rand/rand_win.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/rand/rand_unix.c crypto/rand/rand_unix.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/rand/rand_os2.c crypto/rand/rand_os2.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/rand/rand_nw.c crypto/rand/rand_nw.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/err/err.c crypto/err/err.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/err/err_def.c crypto/err/err_def.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/err/err_all.c crypto/err/err_all.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/err/err_prn.c crypto/err/err_prn.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/err/err_str.c crypto/err/err_str.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/err/err_bio.c crypto/err/err_bio.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/objects/o_names.c crypto/objects/o_names.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/objects/obj_dat.c crypto/objects/obj_dat.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/objects/obj_lib.c crypto/objects/obj_lib.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/objects/obj_err.c crypto/objects/obj_err.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/encode.c crypto/evp/encode.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/digest.c crypto/evp/digest.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/dig_eng.c crypto/evp/dig_eng.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/evp_enc.c crypto/evp/evp_enc.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/evp_key.c crypto/evp/evp_key.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/evp_acnf.c crypto/evp/evp_acnf.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/evp_cnf.c crypto/evp/evp_cnf.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/e_des.c crypto/evp/e_des.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/e_bf.c crypto/evp/e_bf.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/e_idea.c crypto/evp/e_idea.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/e_des3.c crypto/evp/e_des3.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/e_rc4.c crypto/evp/e_rc4.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/e_aes.c crypto/evp/e_aes.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/names.c crypto/evp/names.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/e_xcbc_d.c crypto/evp/e_xcbc_d.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/e_rc2.c crypto/evp/e_rc2.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/e_cast.c crypto/evp/e_cast.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/e_rc5.c crypto/evp/e_rc5.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/enc_min.c crypto/evp/enc_min.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/m_null.c crypto/evp/m_null.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/m_md2.c crypto/evp/m_md2.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/m_md4.c crypto/evp/m_md4.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/m_md5.c crypto/evp/m_md5.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/m_sha.c crypto/evp/m_sha.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/m_sha1.c crypto/evp/m_sha1.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/m_dss.c crypto/evp/m_dss.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/m_dss1.c crypto/evp/m_dss1.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/m_ripemd.c crypto/evp/m_ripemd.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/m_ecdsa.c crypto/evp/m_ecdsa.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/p_open.c crypto/evp/p_open.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/p_seal.c crypto/evp/p_seal.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/p_sign.c crypto/evp/p_sign.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/p_verify.c crypto/evp/p_verify.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/p_lib.c crypto/evp/p_lib.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/p_enc.c crypto/evp/p_enc.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/p_dec.c crypto/evp/p_dec.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/bio_md.c crypto/evp/bio_md.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/bio_b64.c crypto/evp/bio_b64.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/bio_enc.c crypto/evp/bio_enc.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/evp_err.c crypto/evp/evp_err.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/e_null.c crypto/evp/e_null.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/c_all.c crypto/evp/c_all.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/c_allc.c crypto/evp/c_allc.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/c_alld.c crypto/evp/c_alld.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/evp_lib.c crypto/evp/evp_lib.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/bio_ok.c crypto/evp/bio_ok.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/evp_pkey.c crypto/evp/evp_pkey.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/evp_pbe.c crypto/evp/evp_pbe.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/p5_crpt.c crypto/evp/p5_crpt.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/p5_crpt2.c crypto/evp/p5_crpt2.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/e_old.c crypto/evp/e_old.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/a_object.c crypto/asn1/a_object.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/a_bitstr.c crypto/asn1/a_bitstr.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/a_utctm.c crypto/asn1/a_utctm.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/a_gentm.c crypto/asn1/a_gentm.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/a_time.c crypto/asn1/a_time.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/a_int.c crypto/asn1/a_int.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/a_octet.c crypto/asn1/a_octet.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/a_print.c crypto/asn1/a_print.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/a_type.c crypto/asn1/a_type.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/a_set.c crypto/asn1/a_set.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/a_dup.c crypto/asn1/a_dup.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/a_d2i_fp.c crypto/asn1/a_d2i_fp.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/a_i2d_fp.c crypto/asn1/a_i2d_fp.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/a_enum.c crypto/asn1/a_enum.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/a_utf8.c crypto/asn1/a_utf8.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/a_sign.c crypto/asn1/a_sign.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/a_digest.c crypto/asn1/a_digest.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/a_verify.c crypto/asn1/a_verify.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/a_mbstr.c crypto/asn1/a_mbstr.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/a_strex.c crypto/asn1/a_strex.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/x_algor.c crypto/asn1/x_algor.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/x_val.c crypto/asn1/x_val.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/x_pubkey.c crypto/asn1/x_pubkey.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/x_sig.c crypto/asn1/x_sig.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/x_req.c crypto/asn1/x_req.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/x_attrib.c crypto/asn1/x_attrib.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/x_bignum.c crypto/asn1/x_bignum.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/x_long.c crypto/asn1/x_long.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/x_name.c crypto/asn1/x_name.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/x_x509.c crypto/asn1/x_x509.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/x_x509a.c crypto/asn1/x_x509a.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/x_crl.c crypto/asn1/x_crl.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/x_info.c crypto/asn1/x_info.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/x_spki.c crypto/asn1/x_spki.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/nsseq.c crypto/asn1/nsseq.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/d2i_pu.c crypto/asn1/d2i_pu.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/d2i_pr.c crypto/asn1/d2i_pr.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/i2d_pu.c crypto/asn1/i2d_pu.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/i2d_pr.c crypto/asn1/i2d_pr.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/t_req.c crypto/asn1/t_req.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/t_x509.c crypto/asn1/t_x509.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/t_x509a.c crypto/asn1/t_x509a.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/t_crl.c crypto/asn1/t_crl.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/t_pkey.c crypto/asn1/t_pkey.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/t_spki.c crypto/asn1/t_spki.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/t_bitst.c crypto/asn1/t_bitst.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/tasn_new.c crypto/asn1/tasn_new.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/tasn_fre.c crypto/asn1/tasn_fre.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/tasn_enc.c crypto/asn1/tasn_enc.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/tasn_dec.c crypto/asn1/tasn_dec.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/tasn_utl.c crypto/asn1/tasn_utl.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/tasn_typ.c crypto/asn1/tasn_typ.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/f_int.c crypto/asn1/f_int.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/f_string.c crypto/asn1/f_string.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/n_pkey.c crypto/asn1/n_pkey.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/f_enum.c crypto/asn1/f_enum.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/a_hdr.c crypto/asn1/a_hdr.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/x_pkey.c crypto/asn1/x_pkey.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/a_bool.c crypto/asn1/a_bool.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/x_exten.c crypto/asn1/x_exten.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/asn_mime.c crypto/asn1/asn_mime.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/asn1_gen.c crypto/asn1/asn1_gen.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/asn1_par.c crypto/asn1/asn1_par.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/asn1_lib.c crypto/asn1/asn1_lib.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/asn1_err.c crypto/asn1/asn1_err.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/a_meth.c crypto/asn1/a_meth.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/a_bytes.c crypto/asn1/a_bytes.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/a_strnid.c crypto/asn1/a_strnid.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/evp_asn1.c crypto/asn1/evp_asn1.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/asn_pack.c crypto/asn1/asn_pack.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/p5_pbe.c crypto/asn1/p5_pbe.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/p5_pbev2.c crypto/asn1/p5_pbev2.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/p8_pkey.c crypto/asn1/p8_pkey.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/asn_moid.c crypto/asn1/asn_moid.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/pem/pem_sign.c crypto/pem/pem_sign.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/pem/pem_seal.c crypto/pem/pem_seal.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/pem/pem_info.c crypto/pem/pem_info.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/pem/pem_lib.c crypto/pem/pem_lib.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/pem/pem_all.c crypto/pem/pem_all.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/pem/pem_err.c crypto/pem/pem_err.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/pem/pem_x509.c crypto/pem/pem_x509.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/pem/pem_xaux.c crypto/pem/pem_xaux.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/pem/pem_oth.c crypto/pem/pem_oth.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/pem/pem_pk8.c crypto/pem/pem_pk8.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/pem/pem_pkey.c crypto/pem/pem_pkey.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509/x509_def.c crypto/x509/x509_def.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509/x509_d2.c crypto/x509/x509_d2.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509/x509_r2x.c crypto/x509/x509_r2x.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509/x509_cmp.c crypto/x509/x509_cmp.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509/x509_obj.c crypto/x509/x509_obj.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509/x509_req.c crypto/x509/x509_req.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509/x509spki.c crypto/x509/x509spki.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509/x509_vfy.c crypto/x509/x509_vfy.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509/x509_set.c crypto/x509/x509_set.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509/x509cset.c crypto/x509/x509cset.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509/x509rset.c crypto/x509/x509rset.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509/x509_err.c crypto/x509/x509_err.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509/x509name.c crypto/x509/x509name.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509/x509_v3.c crypto/x509/x509_v3.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509/x509_ext.c crypto/x509/x509_ext.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509/x509_att.c crypto/x509/x509_att.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509/x509type.c crypto/x509/x509type.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509/x509_lu.c crypto/x509/x509_lu.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509/x_all.c crypto/x509/x_all.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509/x509_txt.c crypto/x509/x509_txt.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509/x509_trs.c crypto/x509/x509_trs.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509/by_file.c crypto/x509/by_file.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509/by_dir.c crypto/x509/by_dir.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509/x509_vpm.c crypto/x509/x509_vpm.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509v3/v3_bcons.c crypto/x509v3/v3_bcons.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509v3/v3_bitst.c crypto/x509v3/v3_bitst.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509v3/v3_conf.c crypto/x509v3/v3_conf.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509v3/v3_extku.c crypto/x509v3/v3_extku.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509v3/v3_ia5.c crypto/x509v3/v3_ia5.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509v3/v3_lib.c crypto/x509v3/v3_lib.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509v3/v3_prn.c crypto/x509v3/v3_prn.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509v3/v3_utl.c crypto/x509v3/v3_utl.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509v3/v3err.c crypto/x509v3/v3err.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509v3/v3_genn.c crypto/x509v3/v3_genn.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509v3/v3_alt.c crypto/x509v3/v3_alt.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509v3/v3_skey.c crypto/x509v3/v3_skey.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509v3/v3_akey.c crypto/x509v3/v3_akey.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509v3/v3_pku.c crypto/x509v3/v3_pku.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509v3/v3_int.c crypto/x509v3/v3_int.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509v3/v3_enum.c crypto/x509v3/v3_enum.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509v3/v3_sxnet.c crypto/x509v3/v3_sxnet.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509v3/v3_cpols.c crypto/x509v3/v3_cpols.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509v3/v3_crld.c crypto/x509v3/v3_crld.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509v3/v3_purp.c crypto/x509v3/v3_purp.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509v3/v3_info.c crypto/x509v3/v3_info.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509v3/v3_ocsp.c crypto/x509v3/v3_ocsp.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509v3/v3_akeya.c crypto/x509v3/v3_akeya.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509v3/v3_pmaps.c crypto/x509v3/v3_pmaps.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509v3/v3_pcons.c crypto/x509v3/v3_pcons.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509v3/v3_ncons.c crypto/x509v3/v3_ncons.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509v3/v3_pcia.c crypto/x509v3/v3_pcia.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509v3/v3_pci.c crypto/x509v3/v3_pci.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509v3/pcy_cache.c crypto/x509v3/pcy_cache.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509v3/pcy_node.c crypto/x509v3/pcy_node.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509v3/pcy_data.c crypto/x509v3/pcy_data.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509v3/pcy_map.c crypto/x509v3/pcy_map.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509v3/pcy_tree.c crypto/x509v3/pcy_tree.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509v3/pcy_lib.c crypto/x509v3/pcy_lib.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509v3/v3_asid.c crypto/x509v3/v3_asid.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509v3/v3_addr.c crypto/x509v3/v3_addr.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/conf/conf_err.c crypto/conf/conf_err.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/conf/conf_lib.c crypto/conf/conf_lib.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/conf/conf_api.c crypto/conf/conf_api.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/conf/conf_def.c crypto/conf/conf_def.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/conf/conf_mod.c crypto/conf/conf_mod.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/conf/conf_mall.c crypto/conf/conf_mall.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/conf/conf_sap.c crypto/conf/conf_sap.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/txt_db/txt_db.c crypto/txt_db/txt_db.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/pkcs7/pk7_asn1.c crypto/pkcs7/pk7_asn1.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/pkcs7/pk7_lib.c crypto/pkcs7/pk7_lib.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/pkcs7/pkcs7err.c crypto/pkcs7/pkcs7err.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/pkcs7/pk7_doit.c crypto/pkcs7/pk7_doit.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/pkcs7/pk7_smime.c crypto/pkcs7/pk7_smime.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/pkcs7/pk7_attr.c crypto/pkcs7/pk7_attr.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/pkcs7/pk7_mime.c crypto/pkcs7/pk7_mime.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/pkcs12/p12_add.c crypto/pkcs12/p12_add.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/pkcs12/p12_asn.c crypto/pkcs12/p12_asn.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/pkcs12/p12_attr.c crypto/pkcs12/p12_attr.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/pkcs12/p12_crpt.c crypto/pkcs12/p12_crpt.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/pkcs12/p12_crt.c crypto/pkcs12/p12_crt.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/pkcs12/p12_decr.c crypto/pkcs12/p12_decr.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/pkcs12/p12_init.c crypto/pkcs12/p12_init.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/pkcs12/p12_key.c crypto/pkcs12/p12_key.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/pkcs12/p12_kiss.c crypto/pkcs12/p12_kiss.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/pkcs12/p12_mutl.c crypto/pkcs12/p12_mutl.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/pkcs12/p12_utl.c crypto/pkcs12/p12_utl.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/pkcs12/p12_npas.c crypto/pkcs12/p12_npas.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/pkcs12/pk12err.c crypto/pkcs12/pk12err.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/pkcs12/p12_p8d.c crypto/pkcs12/p12_p8d.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/pkcs12/p12_p8e.c crypto/pkcs12/p12_p8e.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/comp/comp_lib.c crypto/comp/comp_lib.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/comp/comp_err.c crypto/comp/comp_err.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/comp/c_rle.c crypto/comp/c_rle.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/comp/c_zlib.c crypto/comp/c_zlib.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/engine/eng_err.c crypto/engine/eng_err.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/engine/eng_lib.c crypto/engine/eng_lib.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/engine/eng_list.c crypto/engine/eng_list.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/engine/eng_init.c crypto/engine/eng_init.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/engine/eng_ctrl.c crypto/engine/eng_ctrl.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/engine/eng_table.c crypto/engine/eng_table.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/engine/eng_pkey.c crypto/engine/eng_pkey.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/engine/eng_fat.c crypto/engine/eng_fat.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/engine/eng_all.c crypto/engine/eng_all.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/engine/tb_rsa.c crypto/engine/tb_rsa.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/engine/tb_dsa.c crypto/engine/tb_dsa.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/engine/tb_ecdsa.c crypto/engine/tb_ecdsa.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/engine/tb_dh.c crypto/engine/tb_dh.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/engine/tb_ecdh.c crypto/engine/tb_ecdh.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/engine/tb_rand.c crypto/engine/tb_rand.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/engine/tb_store.c crypto/engine/tb_store.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/engine/tb_cipher.c crypto/engine/tb_cipher.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/engine/tb_digest.c crypto/engine/tb_digest.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/engine/eng_openssl.c crypto/engine/eng_openssl.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/engine/eng_cnf.c crypto/engine/eng_cnf.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/engine/eng_dyn.c crypto/engine/eng_dyn.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/engine/eng_cryptodev.c crypto/engine/eng_cryptodev.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/engine/eng_padlock.c crypto/engine/eng_padlock.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ocsp/ocsp_asn.c crypto/ocsp/ocsp_asn.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ocsp/ocsp_ext.c crypto/ocsp/ocsp_ext.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ocsp/ocsp_ht.c crypto/ocsp/ocsp_ht.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ocsp/ocsp_lib.c crypto/ocsp/ocsp_lib.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ocsp/ocsp_cl.c crypto/ocsp/ocsp_cl.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ocsp/ocsp_srv.c crypto/ocsp/ocsp_srv.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ocsp/ocsp_prn.c crypto/ocsp/ocsp_prn.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ocsp/ocsp_vfy.c crypto/ocsp/ocsp_vfy.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ocsp/ocsp_err.c crypto/ocsp/ocsp_err.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ui/ui_err.c crypto/ui/ui_err.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ui/ui_lib.c crypto/ui/ui_lib.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ui/ui_util.c crypto/ui/ui_util.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ui/ui_compat.c crypto/ui/ui_compat.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/krb5/krb5_asn.c crypto/krb5/krb5_asn.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/store/str_err.c crypto/store/str_err.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/store/str_lib.c crypto/store/str_lib.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/store/str_meth.c crypto/store/str_meth.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/store/str_mem.c crypto/store/str_mem.c --install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/pqueue/pqueue.c crypto/pqueue/pqueue.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/e_os.h e_os.h -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/cryptlib.c crypto/cryptlib.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/dyn_lck.c crypto/dyn_lck.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/mem.c crypto/mem.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/mem_clr.c crypto/mem_clr.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/mem_dbg.c crypto/mem_dbg.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/cversion.c crypto/cversion.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/ex_data.c crypto/ex_data.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/cpt_err.c crypto/cpt_err.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/ebcdic.c crypto/ebcdic.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/uid.c crypto/uid.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/o_time.c crypto/o_time.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/o_str.c crypto/o_str.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/o_dir.c crypto/o_dir.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/o_init.c crypto/o_init.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/fips_err.c crypto/fips_err.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/md2/md2_dgst.c crypto/md2/md2_dgst.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/md2/md2_one.c crypto/md2/md2_one.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/md4/md4_dgst.c crypto/md4/md4_dgst.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/md4/md4_one.c crypto/md4/md4_one.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/md5/md5_dgst.c crypto/md5/md5_dgst.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/md5/md5_one.c crypto/md5/md5_one.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/sha/sha_dgst.c crypto/sha/sha_dgst.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/sha/sha1dgst.c crypto/sha/sha1dgst.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/sha/sha_one.c crypto/sha/sha_one.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/sha/sha1_one.c crypto/sha/sha1_one.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/sha/sha256.c crypto/sha/sha256.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/sha/sha512.c crypto/sha/sha512.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/hmac/hmac.c crypto/hmac/hmac.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/ripemd/rmd_dgst.c crypto/ripemd/rmd_dgst.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/ripemd/rmd_one.c crypto/ripemd/rmd_one.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/des/des_lib.c crypto/des/des_lib.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/des/set_key.c crypto/des/set_key.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/des/ecb_enc.c crypto/des/ecb_enc.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/des/cbc_enc.c crypto/des/cbc_enc.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/des/ecb3_enc.c crypto/des/ecb3_enc.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/des/cfb64enc.c crypto/des/cfb64enc.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/des/cfb64ede.c crypto/des/cfb64ede.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/des/cfb_enc.c crypto/des/cfb_enc.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/des/ofb64ede.c crypto/des/ofb64ede.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/des/enc_read.c crypto/des/enc_read.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/des/enc_writ.c crypto/des/enc_writ.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/des/ofb64enc.c crypto/des/ofb64enc.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/des/ofb_enc.c crypto/des/ofb_enc.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/des/str2key.c crypto/des/str2key.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/des/pcbc_enc.c crypto/des/pcbc_enc.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/des/qud_cksm.c crypto/des/qud_cksm.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/des/rand_key.c crypto/des/rand_key.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/des/des_enc.c crypto/des/des_enc.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/des/fcrypt_b.c crypto/des/fcrypt_b.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/des/fcrypt.c crypto/des/fcrypt.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/des/xcbc_enc.c crypto/des/xcbc_enc.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/des/rpc_enc.c crypto/des/rpc_enc.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/des/cbc_cksm.c crypto/des/cbc_cksm.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/des/ede_cbcm_enc.c crypto/des/ede_cbcm_enc.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/des/des_old.c crypto/des/des_old.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/des/des_old2.c crypto/des/des_old2.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/des/read2pwd.c crypto/des/read2pwd.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/rc2/rc2_ecb.c crypto/rc2/rc2_ecb.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/rc2/rc2_skey.c crypto/rc2/rc2_skey.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/rc2/rc2_cbc.c crypto/rc2/rc2_cbc.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/rc2/rc2cfb64.c crypto/rc2/rc2cfb64.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/rc2/rc2ofb64.c crypto/rc2/rc2ofb64.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/rc4/rc4_enc.c crypto/rc4/rc4_enc.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/rc4/rc4_skey.c crypto/rc4/rc4_skey.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/rc4/rc4_fblk.c crypto/rc4/rc4_fblk.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/idea/i_cbc.c crypto/idea/i_cbc.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/idea/i_cfb64.c crypto/idea/i_cfb64.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/idea/i_ofb64.c crypto/idea/i_ofb64.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/idea/i_ecb.c crypto/idea/i_ecb.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/idea/i_skey.c crypto/idea/i_skey.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/bf/bf_skey.c crypto/bf/bf_skey.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/bf/bf_ecb.c crypto/bf/bf_ecb.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/bf/bf_enc.c crypto/bf/bf_enc.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/bf/bf_cfb64.c crypto/bf/bf_cfb64.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/bf/bf_ofb64.c crypto/bf/bf_ofb64.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/cast/c_skey.c crypto/cast/c_skey.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/cast/c_ecb.c crypto/cast/c_ecb.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/cast/c_enc.c crypto/cast/c_enc.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/cast/c_cfb64.c crypto/cast/c_cfb64.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/cast/c_ofb64.c crypto/cast/c_ofb64.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/aes/aes_misc.c crypto/aes/aes_misc.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/aes/aes_ecb.c crypto/aes/aes_ecb.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/aes/aes_cfb.c crypto/aes/aes_cfb.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/aes/aes_ofb.c crypto/aes/aes_ofb.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/aes/aes_ctr.c crypto/aes/aes_ctr.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/aes/aes_ige.c crypto/aes/aes_ige.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/aes/aes_wrap.c crypto/aes/aes_wrap.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/aes/aes_core.c crypto/aes/aes_core.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/aes/aes_cbc.c crypto/aes/aes_cbc.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/bn/bn_add.c crypto/bn/bn_add.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/bn/bn_div.c crypto/bn/bn_div.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/bn/bn_exp.c crypto/bn/bn_exp.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/bn/bn_lib.c crypto/bn/bn_lib.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/bn/bn_ctx.c crypto/bn/bn_ctx.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/bn/bn_mul.c crypto/bn/bn_mul.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/bn/bn_mod.c crypto/bn/bn_mod.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/bn/bn_print.c crypto/bn/bn_print.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/bn/bn_rand.c crypto/bn/bn_rand.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/bn/bn_shift.c crypto/bn/bn_shift.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/bn/bn_word.c crypto/bn/bn_word.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/bn/bn_blind.c crypto/bn/bn_blind.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/bn/bn_kron.c crypto/bn/bn_kron.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/bn/bn_sqrt.c crypto/bn/bn_sqrt.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/bn/bn_gcd.c crypto/bn/bn_gcd.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/bn/bn_prime.c crypto/bn/bn_prime.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/bn/bn_err.c crypto/bn/bn_err.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/bn/bn_sqr.c crypto/bn/bn_sqr.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/bn/bn_asm.c crypto/bn/bn_asm.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/bn/bn_recp.c crypto/bn/bn_recp.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/bn/bn_mont.c crypto/bn/bn_mont.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/bn/bn_mpi.c crypto/bn/bn_mpi.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/bn/bn_exp2.c crypto/bn/bn_exp2.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/bn/bn_gf2m.c crypto/bn/bn_gf2m.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/bn/bn_nist.c crypto/bn/bn_nist.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/bn/bn_depr.c crypto/bn/bn_depr.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/bn/bn_x931p.c crypto/bn/bn_x931p.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/bn/bn_const.c crypto/bn/bn_const.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/bn/bn_opt.c crypto/bn/bn_opt.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/rsa/rsa_eay.c crypto/rsa/rsa_eay.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/rsa/rsa_gen.c crypto/rsa/rsa_gen.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/rsa/rsa_lib.c crypto/rsa/rsa_lib.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/rsa/rsa_sign.c crypto/rsa/rsa_sign.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/rsa/rsa_saos.c crypto/rsa/rsa_saos.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/rsa/rsa_err.c crypto/rsa/rsa_err.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/rsa/rsa_pk1.c crypto/rsa/rsa_pk1.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/rsa/rsa_ssl.c crypto/rsa/rsa_ssl.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/rsa/rsa_none.c crypto/rsa/rsa_none.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/rsa/rsa_oaep.c crypto/rsa/rsa_oaep.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/rsa/rsa_chk.c crypto/rsa/rsa_chk.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/rsa/rsa_null.c crypto/rsa/rsa_null.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/rsa/rsa_pss.c crypto/rsa/rsa_pss.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/rsa/rsa_x931.c crypto/rsa/rsa_x931.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/rsa/rsa_x931g.c crypto/rsa/rsa_x931g.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/rsa/rsa_asn1.c crypto/rsa/rsa_asn1.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/rsa/rsa_depr.c crypto/rsa/rsa_depr.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/rsa/rsa_eng.c crypto/rsa/rsa_eng.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/dsa/dsa_gen.c crypto/dsa/dsa_gen.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/dsa/dsa_key.c crypto/dsa/dsa_key.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/dsa/dsa_lib.c crypto/dsa/dsa_lib.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/dsa/dsa_asn1.c crypto/dsa/dsa_asn1.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/dsa/dsa_vrf.c crypto/dsa/dsa_vrf.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/dsa/dsa_sign.c crypto/dsa/dsa_sign.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/dsa/dsa_err.c crypto/dsa/dsa_err.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/dsa/dsa_ossl.c crypto/dsa/dsa_ossl.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/dsa/dsa_depr.c crypto/dsa/dsa_depr.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/dsa/dsa_utl.c crypto/dsa/dsa_utl.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/dso/dso_dl.c crypto/dso/dso_dl.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/dso/dso_dlfcn.c crypto/dso/dso_dlfcn.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/dso/dso_err.c crypto/dso/dso_err.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/dso/dso_lib.c crypto/dso/dso_lib.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/dso/dso_null.c crypto/dso/dso_null.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/dso/dso_openssl.c crypto/dso/dso_openssl.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/dso/dso_win32.c crypto/dso/dso_win32.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/dso/dso_vms.c crypto/dso/dso_vms.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/dh/dh_asn1.c crypto/dh/dh_asn1.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/dh/dh_gen.c crypto/dh/dh_gen.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/dh/dh_key.c crypto/dh/dh_key.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/dh/dh_lib.c crypto/dh/dh_lib.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/dh/dh_check.c crypto/dh/dh_check.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/dh/dh_err.c crypto/dh/dh_err.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/dh/dh_depr.c crypto/dh/dh_depr.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/ec/ec_lib.c crypto/ec/ec_lib.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/ec/ecp_smpl.c crypto/ec/ecp_smpl.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/ec/ecp_mont.c crypto/ec/ecp_mont.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/ec/ecp_nist.c crypto/ec/ecp_nist.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/ec/ec_cvt.c crypto/ec/ec_cvt.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/ec/ec_mult.c crypto/ec/ec_mult.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/ec/ec_err.c crypto/ec/ec_err.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/ec/ec_curve.c crypto/ec/ec_curve.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/ec/ec_check.c crypto/ec/ec_check.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/ec/ec_print.c crypto/ec/ec_print.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/ec/ec_asn1.c crypto/ec/ec_asn1.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/ec/ec_key.c crypto/ec/ec_key.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/ec/ec2_smpl.c crypto/ec/ec2_smpl.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/ec/ec2_mult.c crypto/ec/ec2_mult.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/ecdh/ech_lib.c crypto/ecdh/ech_lib.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/ecdh/ech_ossl.c crypto/ecdh/ech_ossl.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/ecdh/ech_key.c crypto/ecdh/ech_key.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/ecdh/ech_err.c crypto/ecdh/ech_err.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/ecdsa/ecs_lib.c crypto/ecdsa/ecs_lib.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/ecdsa/ecs_asn1.c crypto/ecdsa/ecs_asn1.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/ecdsa/ecs_ossl.c crypto/ecdsa/ecs_ossl.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/ecdsa/ecs_sign.c crypto/ecdsa/ecs_sign.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/ecdsa/ecs_vrf.c crypto/ecdsa/ecs_vrf.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/ecdsa/ecs_err.c crypto/ecdsa/ecs_err.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/buffer/buffer.c crypto/buffer/buffer.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/buffer/buf_str.c crypto/buffer/buf_str.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/buffer/buf_err.c crypto/buffer/buf_err.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/bio/bio_lib.c crypto/bio/bio_lib.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/bio/bio_cb.c crypto/bio/bio_cb.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/bio/bio_err.c crypto/bio/bio_err.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/bio/bss_mem.c crypto/bio/bss_mem.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/bio/bss_null.c crypto/bio/bss_null.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/bio/bss_fd.c crypto/bio/bss_fd.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/bio/bss_file.c crypto/bio/bss_file.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/bio/bf_null.c crypto/bio/bf_null.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/bio/bf_buff.c crypto/bio/bf_buff.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/bio/b_dump.c crypto/bio/b_dump.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/bio/bf_nbio.c crypto/bio/bf_nbio.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/bio/bss_log.c crypto/bio/bss_log.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/bio/bss_bio.c crypto/bio/bss_bio.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/bio/bss_dgram.c crypto/bio/bss_dgram.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/stack/stack.c crypto/stack/stack.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/lhash/lhash.c crypto/lhash/lhash.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/lhash/lh_stats.c crypto/lhash/lh_stats.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/rand/md_rand.c crypto/rand/md_rand.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/rand/randfile.c crypto/rand/randfile.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/rand/rand_lib.c crypto/rand/rand_lib.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/rand/rand_eng.c crypto/rand/rand_eng.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/rand/rand_err.c crypto/rand/rand_err.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/rand/rand_egd.c crypto/rand/rand_egd.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/rand/rand_win.c crypto/rand/rand_win.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/rand/rand_unix.c crypto/rand/rand_unix.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/rand/rand_os2.c crypto/rand/rand_os2.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/rand/rand_nw.c crypto/rand/rand_nw.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/err/err.c crypto/err/err.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/err/err_def.c crypto/err/err_def.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/err/err_all.c crypto/err/err_all.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/err/err_prn.c crypto/err/err_prn.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/err/err_str.c crypto/err/err_str.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/err/err_bio.c crypto/err/err_bio.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/objects/o_names.c crypto/objects/o_names.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/objects/obj_dat.c crypto/objects/obj_dat.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/objects/obj_lib.c crypto/objects/obj_lib.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/objects/obj_err.c crypto/objects/obj_err.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/evp/encode.c crypto/evp/encode.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/evp/digest.c crypto/evp/digest.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/evp/dig_eng.c crypto/evp/dig_eng.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/evp/evp_enc.c crypto/evp/evp_enc.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/evp/evp_key.c crypto/evp/evp_key.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/evp/evp_acnf.c crypto/evp/evp_acnf.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/evp/evp_cnf.c crypto/evp/evp_cnf.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/evp/e_des.c crypto/evp/e_des.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/evp/e_bf.c crypto/evp/e_bf.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/evp/e_idea.c crypto/evp/e_idea.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/evp/e_des3.c crypto/evp/e_des3.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/evp/e_rc4.c crypto/evp/e_rc4.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/evp/e_aes.c crypto/evp/e_aes.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/evp/names.c crypto/evp/names.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/evp/e_xcbc_d.c crypto/evp/e_xcbc_d.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/evp/e_rc2.c crypto/evp/e_rc2.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/evp/e_cast.c crypto/evp/e_cast.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/evp/e_rc5.c crypto/evp/e_rc5.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/evp/enc_min.c crypto/evp/enc_min.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/evp/m_null.c crypto/evp/m_null.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/evp/m_md2.c crypto/evp/m_md2.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/evp/m_md4.c crypto/evp/m_md4.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/evp/m_md5.c crypto/evp/m_md5.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/evp/m_sha.c crypto/evp/m_sha.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/evp/m_sha1.c crypto/evp/m_sha1.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/evp/m_dss.c crypto/evp/m_dss.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/evp/m_dss1.c crypto/evp/m_dss1.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/evp/m_ripemd.c crypto/evp/m_ripemd.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/evp/m_ecdsa.c crypto/evp/m_ecdsa.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/evp/p_open.c crypto/evp/p_open.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/evp/p_seal.c crypto/evp/p_seal.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/evp/p_sign.c crypto/evp/p_sign.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/evp/p_verify.c crypto/evp/p_verify.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/evp/p_lib.c crypto/evp/p_lib.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/evp/p_enc.c crypto/evp/p_enc.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/evp/p_dec.c crypto/evp/p_dec.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/evp/bio_md.c crypto/evp/bio_md.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/evp/bio_b64.c crypto/evp/bio_b64.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/evp/bio_enc.c crypto/evp/bio_enc.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/evp/evp_err.c crypto/evp/evp_err.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/evp/e_null.c crypto/evp/e_null.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/evp/c_all.c crypto/evp/c_all.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/evp/c_allc.c crypto/evp/c_allc.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/evp/c_alld.c crypto/evp/c_alld.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/evp/evp_lib.c crypto/evp/evp_lib.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/evp/bio_ok.c crypto/evp/bio_ok.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/evp/evp_pkey.c crypto/evp/evp_pkey.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/evp/evp_pbe.c crypto/evp/evp_pbe.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/evp/p5_crpt.c crypto/evp/p5_crpt.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/evp/p5_crpt2.c crypto/evp/p5_crpt2.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/evp/e_old.c crypto/evp/e_old.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/asn1/a_object.c crypto/asn1/a_object.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/asn1/a_bitstr.c crypto/asn1/a_bitstr.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/asn1/a_utctm.c crypto/asn1/a_utctm.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/asn1/a_gentm.c crypto/asn1/a_gentm.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/asn1/a_time.c crypto/asn1/a_time.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/asn1/a_int.c crypto/asn1/a_int.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/asn1/a_octet.c crypto/asn1/a_octet.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/asn1/a_print.c crypto/asn1/a_print.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/asn1/a_type.c crypto/asn1/a_type.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/asn1/a_set.c crypto/asn1/a_set.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/asn1/a_dup.c crypto/asn1/a_dup.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/asn1/a_d2i_fp.c crypto/asn1/a_d2i_fp.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/asn1/a_i2d_fp.c crypto/asn1/a_i2d_fp.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/asn1/a_enum.c crypto/asn1/a_enum.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/asn1/a_utf8.c crypto/asn1/a_utf8.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/asn1/a_sign.c crypto/asn1/a_sign.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/asn1/a_digest.c crypto/asn1/a_digest.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/asn1/a_verify.c crypto/asn1/a_verify.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/asn1/a_mbstr.c crypto/asn1/a_mbstr.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/asn1/a_strex.c crypto/asn1/a_strex.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/asn1/x_algor.c crypto/asn1/x_algor.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/asn1/x_val.c crypto/asn1/x_val.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/asn1/x_pubkey.c crypto/asn1/x_pubkey.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/asn1/x_sig.c crypto/asn1/x_sig.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/asn1/x_req.c crypto/asn1/x_req.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/asn1/x_attrib.c crypto/asn1/x_attrib.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/asn1/x_bignum.c crypto/asn1/x_bignum.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/asn1/x_long.c crypto/asn1/x_long.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/asn1/x_name.c crypto/asn1/x_name.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/asn1/x_x509.c crypto/asn1/x_x509.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/asn1/x_x509a.c crypto/asn1/x_x509a.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/asn1/x_crl.c crypto/asn1/x_crl.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/asn1/x_info.c crypto/asn1/x_info.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/asn1/x_spki.c crypto/asn1/x_spki.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/asn1/nsseq.c crypto/asn1/nsseq.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/asn1/d2i_pu.c crypto/asn1/d2i_pu.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/asn1/d2i_pr.c crypto/asn1/d2i_pr.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/asn1/i2d_pu.c crypto/asn1/i2d_pu.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/asn1/i2d_pr.c crypto/asn1/i2d_pr.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/asn1/t_req.c crypto/asn1/t_req.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/asn1/t_x509.c crypto/asn1/t_x509.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/asn1/t_x509a.c crypto/asn1/t_x509a.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/asn1/t_crl.c crypto/asn1/t_crl.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/asn1/t_pkey.c crypto/asn1/t_pkey.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/asn1/t_spki.c crypto/asn1/t_spki.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/asn1/t_bitst.c crypto/asn1/t_bitst.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/asn1/tasn_new.c crypto/asn1/tasn_new.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/asn1/tasn_fre.c crypto/asn1/tasn_fre.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/asn1/tasn_enc.c crypto/asn1/tasn_enc.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/asn1/tasn_dec.c crypto/asn1/tasn_dec.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/asn1/tasn_utl.c crypto/asn1/tasn_utl.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/asn1/tasn_typ.c crypto/asn1/tasn_typ.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/asn1/f_int.c crypto/asn1/f_int.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/asn1/f_string.c crypto/asn1/f_string.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/asn1/n_pkey.c crypto/asn1/n_pkey.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/asn1/f_enum.c crypto/asn1/f_enum.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/asn1/a_hdr.c crypto/asn1/a_hdr.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/asn1/x_pkey.c crypto/asn1/x_pkey.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/asn1/a_bool.c crypto/asn1/a_bool.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/asn1/x_exten.c crypto/asn1/x_exten.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/asn1/asn_mime.c crypto/asn1/asn_mime.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/asn1/asn1_gen.c crypto/asn1/asn1_gen.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/asn1/asn1_par.c crypto/asn1/asn1_par.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/asn1/asn1_lib.c crypto/asn1/asn1_lib.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/asn1/asn1_err.c crypto/asn1/asn1_err.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/asn1/a_meth.c crypto/asn1/a_meth.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/asn1/a_bytes.c crypto/asn1/a_bytes.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/asn1/a_strnid.c crypto/asn1/a_strnid.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/asn1/evp_asn1.c crypto/asn1/evp_asn1.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/asn1/asn_pack.c crypto/asn1/asn_pack.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/asn1/p5_pbe.c crypto/asn1/p5_pbe.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/asn1/p5_pbev2.c crypto/asn1/p5_pbev2.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/asn1/p8_pkey.c crypto/asn1/p8_pkey.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/asn1/asn_moid.c crypto/asn1/asn_moid.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/pem/pem_sign.c crypto/pem/pem_sign.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/pem/pem_seal.c crypto/pem/pem_seal.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/pem/pem_info.c crypto/pem/pem_info.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/pem/pem_lib.c crypto/pem/pem_lib.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/pem/pem_all.c crypto/pem/pem_all.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/pem/pem_err.c crypto/pem/pem_err.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/pem/pem_x509.c crypto/pem/pem_x509.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/pem/pem_xaux.c crypto/pem/pem_xaux.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/pem/pem_oth.c crypto/pem/pem_oth.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/pem/pem_pk8.c crypto/pem/pem_pk8.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/pem/pem_pkey.c crypto/pem/pem_pkey.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/x509/x509_def.c crypto/x509/x509_def.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/x509/x509_d2.c crypto/x509/x509_d2.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/x509/x509_r2x.c crypto/x509/x509_r2x.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/x509/x509_cmp.c crypto/x509/x509_cmp.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/x509/x509_obj.c crypto/x509/x509_obj.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/x509/x509_req.c crypto/x509/x509_req.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/x509/x509spki.c crypto/x509/x509spki.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/x509/x509_vfy.c crypto/x509/x509_vfy.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/x509/x509_set.c crypto/x509/x509_set.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/x509/x509cset.c crypto/x509/x509cset.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/x509/x509rset.c crypto/x509/x509rset.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/x509/x509_err.c crypto/x509/x509_err.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/x509/x509name.c crypto/x509/x509name.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/x509/x509_v3.c crypto/x509/x509_v3.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/x509/x509_ext.c crypto/x509/x509_ext.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/x509/x509_att.c crypto/x509/x509_att.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/x509/x509type.c crypto/x509/x509type.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/x509/x509_lu.c crypto/x509/x509_lu.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/x509/x_all.c crypto/x509/x_all.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/x509/x509_txt.c crypto/x509/x509_txt.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/x509/x509_trs.c crypto/x509/x509_trs.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/x509/by_file.c crypto/x509/by_file.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/x509/by_dir.c crypto/x509/by_dir.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/x509/x509_vpm.c crypto/x509/x509_vpm.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/x509v3/v3_bcons.c crypto/x509v3/v3_bcons.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/x509v3/v3_bitst.c crypto/x509v3/v3_bitst.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/x509v3/v3_conf.c crypto/x509v3/v3_conf.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/x509v3/v3_extku.c crypto/x509v3/v3_extku.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/x509v3/v3_ia5.c crypto/x509v3/v3_ia5.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/x509v3/v3_lib.c crypto/x509v3/v3_lib.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/x509v3/v3_prn.c crypto/x509v3/v3_prn.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/x509v3/v3_utl.c crypto/x509v3/v3_utl.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/x509v3/v3err.c crypto/x509v3/v3err.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/x509v3/v3_genn.c crypto/x509v3/v3_genn.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/x509v3/v3_alt.c crypto/x509v3/v3_alt.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/x509v3/v3_skey.c crypto/x509v3/v3_skey.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/x509v3/v3_akey.c crypto/x509v3/v3_akey.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/x509v3/v3_pku.c crypto/x509v3/v3_pku.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/x509v3/v3_int.c crypto/x509v3/v3_int.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/x509v3/v3_enum.c crypto/x509v3/v3_enum.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/x509v3/v3_sxnet.c crypto/x509v3/v3_sxnet.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/x509v3/v3_cpols.c crypto/x509v3/v3_cpols.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/x509v3/v3_crld.c crypto/x509v3/v3_crld.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/x509v3/v3_purp.c crypto/x509v3/v3_purp.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/x509v3/v3_info.c crypto/x509v3/v3_info.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/x509v3/v3_ocsp.c crypto/x509v3/v3_ocsp.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/x509v3/v3_akeya.c crypto/x509v3/v3_akeya.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/x509v3/v3_pmaps.c crypto/x509v3/v3_pmaps.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/x509v3/v3_pcons.c crypto/x509v3/v3_pcons.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/x509v3/v3_ncons.c crypto/x509v3/v3_ncons.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/x509v3/v3_pcia.c crypto/x509v3/v3_pcia.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/x509v3/v3_pci.c crypto/x509v3/v3_pci.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/x509v3/pcy_cache.c crypto/x509v3/pcy_cache.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/x509v3/pcy_node.c crypto/x509v3/pcy_node.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/x509v3/pcy_data.c crypto/x509v3/pcy_data.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/x509v3/pcy_map.c crypto/x509v3/pcy_map.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/x509v3/pcy_tree.c crypto/x509v3/pcy_tree.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/x509v3/pcy_lib.c crypto/x509v3/pcy_lib.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/x509v3/v3_asid.c crypto/x509v3/v3_asid.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/x509v3/v3_addr.c crypto/x509v3/v3_addr.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/conf/conf_err.c crypto/conf/conf_err.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/conf/conf_lib.c crypto/conf/conf_lib.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/conf/conf_api.c crypto/conf/conf_api.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/conf/conf_def.c crypto/conf/conf_def.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/conf/conf_mod.c crypto/conf/conf_mod.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/conf/conf_mall.c crypto/conf/conf_mall.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/conf/conf_sap.c crypto/conf/conf_sap.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/txt_db/txt_db.c crypto/txt_db/txt_db.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/pkcs7/pk7_asn1.c crypto/pkcs7/pk7_asn1.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/pkcs7/pk7_lib.c crypto/pkcs7/pk7_lib.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/pkcs7/pkcs7err.c crypto/pkcs7/pkcs7err.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/pkcs7/pk7_doit.c crypto/pkcs7/pk7_doit.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/pkcs7/pk7_smime.c crypto/pkcs7/pk7_smime.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/pkcs7/pk7_attr.c crypto/pkcs7/pk7_attr.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/pkcs7/pk7_mime.c crypto/pkcs7/pk7_mime.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/pkcs12/p12_add.c crypto/pkcs12/p12_add.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/pkcs12/p12_asn.c crypto/pkcs12/p12_asn.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/pkcs12/p12_attr.c crypto/pkcs12/p12_attr.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/pkcs12/p12_crpt.c crypto/pkcs12/p12_crpt.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/pkcs12/p12_crt.c crypto/pkcs12/p12_crt.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/pkcs12/p12_decr.c crypto/pkcs12/p12_decr.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/pkcs12/p12_init.c crypto/pkcs12/p12_init.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/pkcs12/p12_key.c crypto/pkcs12/p12_key.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/pkcs12/p12_kiss.c crypto/pkcs12/p12_kiss.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/pkcs12/p12_mutl.c crypto/pkcs12/p12_mutl.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/pkcs12/p12_utl.c crypto/pkcs12/p12_utl.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/pkcs12/p12_npas.c crypto/pkcs12/p12_npas.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/pkcs12/pk12err.c crypto/pkcs12/pk12err.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/pkcs12/p12_p8d.c crypto/pkcs12/p12_p8d.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/pkcs12/p12_p8e.c crypto/pkcs12/p12_p8e.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/comp/comp_lib.c crypto/comp/comp_lib.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/comp/comp_err.c crypto/comp/comp_err.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/comp/c_rle.c crypto/comp/c_rle.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/comp/c_zlib.c crypto/comp/c_zlib.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/engine/eng_err.c crypto/engine/eng_err.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/engine/eng_lib.c crypto/engine/eng_lib.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/engine/eng_list.c crypto/engine/eng_list.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/engine/eng_init.c crypto/engine/eng_init.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/engine/eng_ctrl.c crypto/engine/eng_ctrl.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/engine/eng_table.c crypto/engine/eng_table.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/engine/eng_pkey.c crypto/engine/eng_pkey.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/engine/eng_fat.c crypto/engine/eng_fat.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/engine/eng_all.c crypto/engine/eng_all.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/engine/tb_rsa.c crypto/engine/tb_rsa.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/engine/tb_dsa.c crypto/engine/tb_dsa.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/engine/tb_ecdsa.c crypto/engine/tb_ecdsa.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/engine/tb_dh.c crypto/engine/tb_dh.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/engine/tb_ecdh.c crypto/engine/tb_ecdh.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/engine/tb_rand.c crypto/engine/tb_rand.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/engine/tb_store.c crypto/engine/tb_store.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/engine/tb_cipher.c crypto/engine/tb_cipher.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/engine/tb_digest.c crypto/engine/tb_digest.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/engine/eng_openssl.c crypto/engine/eng_openssl.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/engine/eng_cnf.c crypto/engine/eng_cnf.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/engine/eng_dyn.c crypto/engine/eng_dyn.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/engine/eng_cryptodev.c crypto/engine/eng_cryptodev.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/engine/eng_padlock.c crypto/engine/eng_padlock.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/ocsp/ocsp_asn.c crypto/ocsp/ocsp_asn.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/ocsp/ocsp_ext.c crypto/ocsp/ocsp_ext.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/ocsp/ocsp_ht.c crypto/ocsp/ocsp_ht.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/ocsp/ocsp_lib.c crypto/ocsp/ocsp_lib.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/ocsp/ocsp_cl.c crypto/ocsp/ocsp_cl.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/ocsp/ocsp_srv.c crypto/ocsp/ocsp_srv.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/ocsp/ocsp_prn.c crypto/ocsp/ocsp_prn.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/ocsp/ocsp_vfy.c crypto/ocsp/ocsp_vfy.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/ocsp/ocsp_err.c crypto/ocsp/ocsp_err.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/ui/ui_err.c crypto/ui/ui_err.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/ui/ui_lib.c crypto/ui/ui_lib.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/ui/ui_util.c crypto/ui/ui_util.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/ui/ui_compat.c crypto/ui/ui_compat.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/krb5/krb5_asn.c crypto/krb5/krb5_asn.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/store/str_err.c crypto/store/str_err.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/store/str_lib.c crypto/store/str_lib.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/store/str_meth.c crypto/store/str_meth.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/store/str_mem.c crypto/store/str_mem.c -+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-$version/crypto/pqueue/pqueue.c crypto/pqueue/pqueue.c -+ -+find . -name "*.[ch]" -exec chmod -x {} \; -diff --git a/Cryptlib/Pk/CryptAuthenticode.c b/Cryptlib/Pk/CryptAuthenticode.c -index bb5f6d4..7b8bca5 100644 ---- a/Cryptlib/Pk/CryptAuthenticode.c -+++ b/Cryptlib/Pk/CryptAuthenticode.c -@@ -146,8 +146,8 @@ AuthenticodeVerify ( - // - // Long Form of Length Encoding, only support two bytes. - // -- ContentSize = (UINTN) (*(SpcIndirectDataContent + 2)); -- ContentSize = (ContentSize << 8) + (UINTN)(*(SpcIndirectDataContent + 3)); -+ ContentSize = (UINTN) (*(UINT8 *)(SpcIndirectDataContent + 2)); -+ ContentSize = (ContentSize << 8) + (UINTN)(*(UINT8 *)(SpcIndirectDataContent + 3)); - // - // Skip the SEQUENCE Tag; - // --- -1.8.4.5 - diff --git a/shim.changes b/shim.changes index 8ba39ad..41003c8 100644 --- a/shim.changes +++ b/shim.changes @@ -1,3 +1,18 @@ +------------------------------------------------------------------- +Tue Oct 28 04:00:51 UTC 2014 - glin@suse.com + +- Update to 0.8 +- Add shim-fix-gnu-efi-30w.patch to adapt the change in + gnu-efi-3.0w +- Merge shim-signed-unsigned-compares.patch, + shim-mokmanager-support-sha-family.patch and + shim-bnc863205-mokmanager-fix-hash-delete.patch into + shim-mokx-support.patch +- Refresh shim-opensuse-cert-prompt.patch +- Drop upstreamed patches: shim-update-openssl-0.9.8zb.patch, + bug-889332_shim-overflow.patch, and bug-889332_shim-mok-oob.patch +- Enable aarch64 + ------------------------------------------------------------------- Mon Oct 13 13:09:14 UTC 2014 - jsegitz@novell.com diff --git a/shim.spec b/shim.spec index bcfab9e..5a9326d 100644 --- a/shim.spec +++ b/shim.spec @@ -17,13 +17,9 @@ # needssslcertforbuild -%define commit 81ee561dde0213bc487aa1b701799f6d2faeaf31 -%define shortcommit 81ee561d Name: shim -# to ensure newer versions of the git export are always higher numbers the output of -# git rev-list master|wc -l is added before the git commit hash -Version: 0.7.318.%{shortcommit} +Version: 0.8 Release: 0 Summary: UEFI shim loader License: BSD-2-Clause @@ -44,22 +40,12 @@ Source9: openSUSE-UEFI-CA-Certificate-4096.crt Source10: timestamp.pl Source11: strip_signature.sh Source12: signature-sles.asc -# PATCH-FIX-UPSTREAM shim-mokx-support.patch glin@suse.com -- Support MOK blacklist +# REBASE PATCH-FIX-UPSTREAM shim-mokx-support.patch glin@suse.com -- Support MOK blacklist Patch1: shim-mokx-support.patch # PATCH-FIX-SUSE shim-only-os-name.patch glin@suse.com -- Only include the OS name in version.c Patch2: shim-only-os-name.patch -# PATCH-FIX-UPSTREAM shim-bnc863205-mokmanager-fix-hash-delete.patch bnc#863205 glin@suse.com -- Fix the hash deletion operation to avoid ruining the whole list -Patch3: shim-bnc863205-mokmanager-fix-hash-delete.patch -# PATCH-FIX-UPSTREAM shim-mokmanager-support-sha-family.patch glin@suse.com -- Support SHA hashes in MOK -Patch4: shim-mokmanager-support-sha-family.patch -# PATCH-FIX-OPENSUSE shim-signed-unsigned-compares.patch jsegitz@suse.com -- Fixed some signed - unsigned comparisons -Patch5: shim-signed-unsigned-compares.patch -# PATCH-FIX-UPSTREAM shim-update-openssl-0.9.8zb.patch glin@suse.com -- Update openssl to 0.9.8zb -Patch6: shim-update-openssl-0.9.8zb.patch -# PATCH-FIX-UPSTREAM bug-889332_shim-overflow.patch krahmer@suse.com -- patch for overflow issue. -Patch7: bug-889332_shim-overflow.patch -# PATCH-FIX-UPSTREAM bug-889332_shim-mok-oob.patch krahmer@suse.com -- patch for MOK OOB access. -Patch8: bug-889332_shim-mok-oob.patch +# PATCH-FIX-UPSTREAM shim-fix-gnu-efi-30w.patch glin@suse.com -- Adapt the change in gnu-efi 3.0w +Patch3: shim-fix-gnu-efi-30w.patch # PATCH-FIX-OPENSUSE shim-opensuse-cert-prompt.patch glin@suse.com -- Show the prompt to ask whether the user trusts openSUSE certificate or not Patch100: shim-opensuse-cert-prompt.patch BuildRequires: gnu-efi >= 3.0t @@ -71,7 +57,7 @@ Requires: perl-Bootloader BuildRoot: %{_tmppath}/%{name}-%{version}-build # For shim-install script Requires: grub2-efi -ExclusiveArch: x86_64 +ExclusiveArch: x86_64 aarch64 %description shim is a trivial EFI application that, when run, attempts to open and @@ -88,11 +74,6 @@ Authors: %patch1 -p1 %patch2 -p1 %patch3 -p1 -%patch4 -p1 -%patch5 -p1 -%patch6 -p1 -%patch7 -p1 -%patch8 -p1 %patch100 -p1 %build