]> git.proxmox.com Git - mirror_edk2.git/blame - CryptoPkg/Library/OpensslLib/EDKII_openssl-1.0.2e.patch
CryptoPkg/OpensslLib: upgrade OpenSSL version to 1.0.2e
[mirror_edk2.git] / CryptoPkg / Library / OpensslLib / EDKII_openssl-1.0.2e.patch
CommitLineData
f93f78ea
QL
1diff U3 crypto/bio/bio.h crypto/bio/bio.h\r
2--- crypto/bio/bio.h Thu Jun 11 21:50:12 2015\r
3+++ crypto/bio/bio.h Fri Jun 12 11:00:52 2015\r
4@@ -646,10 +646,10 @@\r
5 int BIO_asn1_get_suffix(BIO *b, asn1_ps_func **psuffix,\r
6 asn1_ps_func **psuffix_free);\r
7 \r
8-# ifndef OPENSSL_NO_FP_API\r
9 BIO_METHOD *BIO_s_file(void);\r
10 BIO *BIO_new_file(const char *filename, const char *mode);\r
11 BIO *BIO_new_fp(FILE *stream, int close_flag);\r
12+# ifndef OPENSSL_NO_FP_API\r
13 # define BIO_s_file_internal BIO_s_file\r
14 # endif\r
15 BIO *BIO_new(BIO_METHOD *type);\r
16diff U3 crypto/bio/bss_file.c crypto/bio/bss_file.c\r
17--- crypto/bio/bss_file.c Thu Jun 11 21:01:06 2015\r
18+++ crypto/bio/bss_file.c Fri Jun 12 11:01:28 2015\r
65202874 19@@ -467,6 +467,23 @@\r
f93f78ea
QL
20 return (ret);\r
21 }\r
22 \r
23+# else\r
24+\r
25+BIO_METHOD *BIO_s_file(void)\r
26+{\r
27+ return NULL;\r
28+}\r
29+\r
30+BIO *BIO_new_file(const char *filename, const char *mode)\r
31+{\r
32+ return NULL;\r
33+}\r
34+\r
35+BIO *BIO_new_fp(FILE *stream, int close_flag)\r
36+{\r
37+ return NULL;\r
38+}\r
39+\r
40 # endif /* OPENSSL_NO_STDIO */\r
41 \r
42 #endif /* HEADER_BSS_FILE_C */\r
43diff U3 crypto/dh/dh_pmeth.c crypto/dh/dh_pmeth.c\r
44--- crypto/dh/dh_pmeth.c Thu Jun 11 21:50:12 2015\r
45+++ crypto/dh/dh_pmeth.c Fri Jun 12 11:08:48 2015\r
46@@ -449,6 +449,9 @@\r
47 *keylen = ret;\r
48 return 1;\r
49 } else if (dctx->kdf_type == EVP_PKEY_DH_KDF_X9_42) {\r
50+#ifdef OPENSSL_NO_CMS\r
51+ return 0;\r
52+#else\r
53 unsigned char *Z = NULL;\r
54 size_t Zlen = 0;\r
55 if (!dctx->kdf_outlen || !dctx->kdf_oid)\r
56@@ -478,6 +481,7 @@\r
57 OPENSSL_free(Z);\r
58 }\r
59 return ret;\r
60+#endif\r
61 }\r
62 return 1;\r
63 }\r
64diff U3 crypto/pem/pem.h crypto/pem/pem.h\r
65--- crypto/pem/pem.h Thu Jun 11 21:50:12 2015\r
66+++ crypto/pem/pem.h Fri Jun 12 10:58:18 2015\r
67@@ -324,6 +324,7 @@\r
68 \r
69 # define DECLARE_PEM_read_fp(name, type) /**/\r
70 # define DECLARE_PEM_write_fp(name, type) /**/\r
71+# define DECLARE_PEM_write_fp_const(name, type) /**/\r
72 # define DECLARE_PEM_write_cb_fp(name, type) /**/\r
73 # else\r
74 \r
75diff U3 crypto/pkcs7/pk7_smime.c crypto/pkcs7/pk7_smime.c\r
76--- crypto/pkcs7/pk7_smime.c Thu Jun 11 21:01:06 2015\r
77+++ crypto/pkcs7/pk7_smime.c Fri Jun 12 11:23:38 2015\r
78@@ -254,7 +254,8 @@\r
79 STACK_OF(PKCS7_SIGNER_INFO) *sinfos;\r
80 PKCS7_SIGNER_INFO *si;\r
81 X509_STORE_CTX cert_ctx;\r
82- char buf[4096];\r
83+ char *buf = NULL;\r
84+ int bufsiz;\r
85 int i, j = 0, k, ret = 0;\r
65202874
QL
86 BIO *p7bio = NULL;\r
87 BIO *tmpin = NULL, *tmpout = NULL;\r
88@@ -275,12 +276,6 @@\r
89 return 0;\r
90 }\r
91 \r
92- /* Check for data and content: two sets of data */\r
93- if (!PKCS7_get_detached(p7) && indata) {\r
94- PKCS7err(PKCS7_F_PKCS7_VERIFY, PKCS7_R_CONTENT_AND_DATA_PRESENT);\r
95- return 0;\r
96- }\r
97-\r
98 sinfos = PKCS7_get_signer_info(p7);\r
99 \r
100 if (!sinfos || !sk_PKCS7_SIGNER_INFO_num(sinfos)) {\r
101@@ -355,9 +350,14 @@\r
f93f78ea
QL
102 } else\r
103 tmpout = out;\r
104 \r
105+ bufsiz = 4096;\r
106+ buf = OPENSSL_malloc(bufsiz);\r
107+ if (buf == NULL) {\r
108+ goto err;\r
109+ }\r
110 /* We now have to 'read' from p7bio to calculate digests etc. */\r
111 for (;;) {\r
112- i = BIO_read(p7bio, buf, sizeof(buf));\r
113+ i = BIO_read(p7bio, buf, bufsiz);\r
114 if (i <= 0)\r
115 break;\r
116 if (tmpout)\r
65202874
QL
117@@ -394,6 +394,10 @@\r
118 }\r
f93f78ea 119 BIO_free_all(p7bio);\r
f93f78ea
QL
120 sk_X509_free(signers);\r
121+\r
122+ if (buf != NULL) {\r
123+ OPENSSL_free(buf);\r
124+ }\r
f93f78ea
QL
125 return ret;\r
126 }\r
65202874 127 \r
f93f78ea
QL
128diff U3 crypto/rand/rand_unix.c crypto/rand/rand_unix.c\r
129--- crypto/rand/rand_unix.c Thu Jun 11 21:01:06 2015\r
130+++ crypto/rand/rand_unix.c Fri Jun 12 10:51:21 2015\r
131@@ -116,7 +116,7 @@\r
132 #include <openssl/rand.h>\r
133 #include "rand_lcl.h"\r
134 \r
135-#if !(defined(OPENSSL_SYS_WINDOWS) || defined(OPENSSL_SYS_WIN32) || defined(OPENSSL_SYS_VMS) || defined(OPENSSL_SYS_OS2) || defined(OPENSSL_SYS_VXWORKS) || defined(OPENSSL_SYS_NETWARE))\r
136+#if !(defined(OPENSSL_SYS_WINDOWS) || defined(OPENSSL_SYS_WIN32) || defined(OPENSSL_SYS_VMS) || defined(OPENSSL_SYS_OS2) || defined(OPENSSL_SYS_VXWORKS) || defined(OPENSSL_SYS_NETWARE) || defined(OPENSSL_SYS_UEFI))\r
137 \r
138 # include <sys/types.h>\r
139 # include <sys/time.h>\r
140@@ -439,7 +439,7 @@\r
141 * defined(OPENSSL_SYS_VXWORKS) ||\r
142 * defined(OPENSSL_SYS_NETWARE)) */\r
143 \r
144-#if defined(OPENSSL_SYS_VXWORKS)\r
145+#if defined(OPENSSL_SYS_VXWORKS) || defined(OPENSSL_SYS_UEFI)\r
146 int RAND_poll(void)\r
147 {\r
148 return 0;\r
149diff U3 crypto/rsa/rsa_ameth.c crypto/rsa/rsa_ameth.c\r
150--- crypto/rsa/rsa_ameth.c Thu Jun 11 21:50:12 2015\r
151+++ crypto/rsa/rsa_ameth.c Fri Jun 12 10:45:38 2015\r
152@@ -68,10 +68,12 @@\r
153 #endif\r
154 #include "asn1_locl.h"\r
155 \r
156+#ifndef OPENSSL_NO_CMS\r
157 static int rsa_cms_sign(CMS_SignerInfo *si);\r
158 static int rsa_cms_verify(CMS_SignerInfo *si);\r
159 static int rsa_cms_decrypt(CMS_RecipientInfo *ri);\r
160 static int rsa_cms_encrypt(CMS_RecipientInfo *ri);\r
161+#endif\r
162 \r
163 static int rsa_pub_encode(X509_PUBKEY *pk, const EVP_PKEY *pkey)\r
164 {\r
165@@ -665,6 +667,7 @@\r
166 return rv;\r
167 }\r
168 \r
169+#ifndef OPENSSL_NO_CMS\r
170 static int rsa_cms_verify(CMS_SignerInfo *si)\r
171 {\r
172 int nid, nid2;\r
173@@ -683,6 +686,7 @@\r
174 }\r
175 return 0;\r
176 }\r
177+#endif\r
178 \r
179 /*\r
180 * Customised RSA item verification routine. This is called when a signature\r
181@@ -705,6 +709,7 @@\r
182 return -1;\r
183 }\r
184 \r
185+#ifndef OPENSSL_NO_CMS\r
186 static int rsa_cms_sign(CMS_SignerInfo *si)\r
187 {\r
188 int pad_mode = RSA_PKCS1_PADDING;\r
189@@ -729,6 +734,7 @@\r
190 X509_ALGOR_set0(alg, OBJ_nid2obj(NID_rsassaPss), V_ASN1_SEQUENCE, os);\r
191 return 1;\r
192 }\r
193+#endif\r
194 \r
195 static int rsa_item_sign(EVP_MD_CTX *ctx, const ASN1_ITEM *it, void *asn,\r
196 X509_ALGOR *alg1, X509_ALGOR *alg2,\r
197@@ -785,6 +791,7 @@\r
198 return pss;\r
199 }\r
200 \r
201+#ifndef OPENSSL_NO_CMS\r
202 static int rsa_cms_decrypt(CMS_RecipientInfo *ri)\r
203 {\r
204 EVP_PKEY_CTX *pkctx;\r
205@@ -857,7 +864,9 @@\r
206 X509_ALGOR_free(maskHash);\r
207 return rv;\r
208 }\r
209+#endif\r
210 \r
211+#ifndef OPENSSL_NO_CMS\r
212 static int rsa_cms_encrypt(CMS_RecipientInfo *ri)\r
213 {\r
214 const EVP_MD *md, *mgf1md;\r
215@@ -920,6 +929,7 @@\r
216 ASN1_STRING_free(os);\r
217 return rv;\r
218 }\r
219+#endif\r
220 \r
221 const EVP_PKEY_ASN1_METHOD rsa_asn1_meths[] = {\r
222 {\r
223diff U3 crypto/x509/x509_vfy.c crypto/x509/x509_vfy.c\r
224--- crypto/x509/x509_vfy.c Thu Jun 11 21:52:58 2015\r
225+++ crypto/x509/x509_vfy.c Fri Jun 12 11:29:37 2015\r
65202874 226@@ -940,6 +940,8 @@\r
de0408be
DW
227 ctx->current_crl = crl;\r
228 if (ctx->param->flags & X509_V_FLAG_USE_CHECK_TIME)\r
229 ptime = &ctx->param->check_time;\r
230+ else if (ctx->param->flags & X509_V_FLAG_NO_CHECK_TIME)\r
231+ return 1;\r
232 else\r
233 ptime = NULL;\r
f93f78ea 234 \r
65202874 235@@ -1663,6 +1665,8 @@\r
f93f78ea 236 \r
de0408be
DW
237 if (ctx->param->flags & X509_V_FLAG_USE_CHECK_TIME)\r
238 ptime = &ctx->param->check_time;\r
239+ else if (ctx->param->flags & X509_V_FLAG_NO_CHECK_TIME)\r
240+ return 1;\r
241 else\r
242 ptime = NULL;\r
f93f78ea 243 \r
de0408be
DW
244diff U3 crypto/x509/x509_vfy.h crypto/x509/x509_vfy.h\r
245--- crypto/x509/x509_vfy.h Thu Jul 09 19:57:16 2015\r
246+++ crypto/x509/x509_vfy.h Thu Oct 29 14:05:57 2015\r
247@@ -438,6 +438,8 @@\r
248 * will force the behaviour to match that of previous versions.\r
249 */\r
250 # define X509_V_FLAG_NO_ALT_CHAINS 0x100000\r
251+/* Do not check certificate/CRL validity against current time */\r
252+# define X509_V_FLAG_NO_CHECK_TIME 0x200000\r
f93f78ea 253 \r
de0408be
DW
254 # define X509_VP_FLAG_DEFAULT 0x1\r
255 # define X509_VP_FLAG_OVERWRITE 0x2\r
f93f78ea
QL
256diff U3 crypto/x509v3/ext_dat.h crypto/x509v3/ext_dat.h\r
257--- crypto/x509v3/ext_dat.h Thu Jun 11 21:50:12 2015\r
258+++ crypto/x509v3/ext_dat.h Fri Jun 12 11:11:03 2015\r
259@@ -127,8 +127,10 @@\r
260 &v3_idp,\r
261 &v3_alt[2],\r
262 &v3_freshest_crl,\r
263+#ifndef OPENSSL_SYS_UEFI\r
264 &v3_ct_scts[0],\r
265 &v3_ct_scts[1],\r
266+#endif\r
267 };\r
268 \r
269 /* Number of standard extensions */\r
270diff U3 crypto/crypto.h crypto/crypto.h\r
271--- crypto/crypto.h Thu Jun 11 21:01:06 2015\r
272+++ crypto/crypto.h Fri Jun 12 11:33:27 2015\r
273@@ -235,15 +235,15 @@\r
274 # ifndef OPENSSL_NO_LOCKING\r
275 # ifndef CRYPTO_w_lock\r
276 # define CRYPTO_w_lock(type) \\r
277- CRYPTO_lock(CRYPTO_LOCK|CRYPTO_WRITE,type,__FILE__,__LINE__)\r
278+ CRYPTO_lock(CRYPTO_LOCK|CRYPTO_WRITE,type,NULL,0)\r
279 # define CRYPTO_w_unlock(type) \\r
280- CRYPTO_lock(CRYPTO_UNLOCK|CRYPTO_WRITE,type,__FILE__,__LINE__)\r
281+ CRYPTO_lock(CRYPTO_UNLOCK|CRYPTO_WRITE,type,NULL,0)\r
282 # define CRYPTO_r_lock(type) \\r
283- CRYPTO_lock(CRYPTO_LOCK|CRYPTO_READ,type,__FILE__,__LINE__)\r
284+ CRYPTO_lock(CRYPTO_LOCK|CRYPTO_READ,type,NULL,0)\r
285 # define CRYPTO_r_unlock(type) \\r
286- CRYPTO_lock(CRYPTO_UNLOCK|CRYPTO_READ,type,__FILE__,__LINE__)\r
287+ CRYPTO_lock(CRYPTO_UNLOCK|CRYPTO_READ,type,NULL,0)\r
288 # define CRYPTO_add(addr,amount,type) \\r
289- CRYPTO_add_lock(addr,amount,type,__FILE__,__LINE__)\r
290+ CRYPTO_add_lock(addr,amount,type,NULL,0)\r
291 # endif\r
292 # else\r
293 # define CRYPTO_w_lock(a)\r
294@@ -378,19 +378,19 @@\r
295 # define MemCheck_off() CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_DISABLE)\r
296 # define is_MemCheck_on() CRYPTO_is_mem_check_on()\r
297 \r
298-# define OPENSSL_malloc(num) CRYPTO_malloc((int)num,__FILE__,__LINE__)\r
299-# define OPENSSL_strdup(str) CRYPTO_strdup((str),__FILE__,__LINE__)\r
300+# define OPENSSL_malloc(num) CRYPTO_malloc((int)num,NULL,0)\r
301+# define OPENSSL_strdup(str) CRYPTO_strdup((str),NULL,0)\r
302 # define OPENSSL_realloc(addr,num) \\r
303- CRYPTO_realloc((char *)addr,(int)num,__FILE__,__LINE__)\r
304+ CRYPTO_realloc((char *)addr,(int)num,NULL,0)\r
305 # define OPENSSL_realloc_clean(addr,old_num,num) \\r
306- CRYPTO_realloc_clean(addr,old_num,num,__FILE__,__LINE__)\r
307+ CRYPTO_realloc_clean(addr,old_num,num,NULL,0)\r
308 # define OPENSSL_remalloc(addr,num) \\r
309- CRYPTO_remalloc((char **)addr,(int)num,__FILE__,__LINE__)\r
310+ CRYPTO_remalloc((char **)addr,(int)num,NULL,0)\r
311 # define OPENSSL_freeFunc CRYPTO_free\r
312 # define OPENSSL_free(addr) CRYPTO_free(addr)\r
313 \r
314 # define OPENSSL_malloc_locked(num) \\r
315- CRYPTO_malloc_locked((int)num,__FILE__,__LINE__)\r
316+ CRYPTO_malloc_locked((int)num,NULL,0)\r
317 # define OPENSSL_free_locked(addr) CRYPTO_free_locked(addr)\r
318 \r
319 const char *SSLeay_version(int type);\r
320@@ -545,7 +545,7 @@\r
321 long CRYPTO_get_mem_debug_options(void);\r
322 \r
323 # define CRYPTO_push_info(info) \\r
324- CRYPTO_push_info_(info, __FILE__, __LINE__);\r
325+ CRYPTO_push_info_(info, NULL, 0);\r
326 int CRYPTO_push_info_(const char *info, const char *file, int line);\r
327 int CRYPTO_pop_info(void);\r
328 int CRYPTO_remove_all_info(void);\r
329@@ -588,7 +588,7 @@\r
330 \r
331 /* die if we have to */\r
332 void OpenSSLDie(const char *file, int line, const char *assertion);\r
333-# define OPENSSL_assert(e) (void)((e) ? 0 : (OpenSSLDie(__FILE__, __LINE__, #e),1))\r
334+# define OPENSSL_assert(e) (void)((e) ? 0 : (OpenSSLDie(NULL, 0, #e),1))\r
335 \r
336 unsigned long *OPENSSL_ia32cap_loc(void);\r
337 # define OPENSSL_ia32cap (*(OPENSSL_ia32cap_loc()))\r
338@@ -605,14 +605,14 @@\r
339 # define fips_md_init_ctx(alg, cx) \\r
340 int alg##_Init(cx##_CTX *c) \\r
341 { \\r
342- if (FIPS_mode()) OpenSSLDie(__FILE__, __LINE__, \\r
343+ if (FIPS_mode()) OpenSSLDie(NULL, 0, \\r
344 "Low level API call to digest " #alg " forbidden in FIPS mode!"); \\r
345 return private_##alg##_Init(c); \\r
346 } \\r
347 int private_##alg##_Init(cx##_CTX *c)\r
348 \r
349 # define fips_cipher_abort(alg) \\r
350- if (FIPS_mode()) OpenSSLDie(__FILE__, __LINE__, \\r
351+ if (FIPS_mode()) OpenSSLDie(NULL, 0, \\r
352 "Low level API call to cipher " #alg " forbidden in FIPS mode!")\r
353 \r
354 # else\r
355diff U3 crypto/opensslconf.h crypto/opensslconf.h\r
356--- crypto/opensslconf.h Thu Jun 11 21:55:38 2015\r
357+++ crypto/opensslconf.h Fri Jun 12 10:28:27 2015\r
843f8ca0 358@@ -5,15 +5,72 @@\r
3b21958b
DW
359 extern "C" {\r
360 #endif\r
361 /* OpenSSL was configured with the following options: */\r
362+#ifndef OPENSSL_SYSNAME_UEFI\r
363+# define OPENSSL_SYSNAME_UEFI\r
f93f78ea 364+#endif\r
3b21958b
DW
365 #ifndef OPENSSL_DOING_MAKEDEPEND\r
366 \r
367 \r
843f8ca0
DW
368+#ifndef OPENSSL_NO_BF\r
369+# define OPENSSL_NO_BF\r
370+#endif\r
371+#ifndef OPENSSL_NO_CAMELLIA\r
372+# define OPENSSL_NO_CAMELLIA\r
373+#endif\r
374+#ifndef OPENSSL_NO_CAPIENG\r
375+# define OPENSSL_NO_CAPIENG\r
376+#endif\r
377+#ifndef OPENSSL_NO_CAST\r
378+# define OPENSSL_NO_CAST\r
379+#endif\r
380+#ifndef OPENSSL_NO_CMS\r
381+# define OPENSSL_NO_CMS\r
382+#endif\r
383+#ifndef OPENSSL_NO_DEPRECATED\r
384+# define OPENSSL_NO_DEPRECATED\r
385+#endif\r
386+#ifndef OPENSSL_NO_DGRAM\r
387+# define OPENSSL_NO_DGRAM\r
388+#endif\r
389+#ifndef OPENSSL_NO_DSA\r
390+# define OPENSSL_NO_DSA\r
391+#endif\r
392+#ifndef OPENSSL_NO_DYNAMIC_ENGINE\r
393+# define OPENSSL_NO_DYNAMIC_ENGINE\r
394+#endif\r
395+#ifndef OPENSSL_NO_EC\r
396+# define OPENSSL_NO_EC\r
397+#endif\r
398 #ifndef OPENSSL_NO_EC_NISTP_64_GCC_128\r
399 # define OPENSSL_NO_EC_NISTP_64_GCC_128\r
400 #endif\r
401+#ifndef OPENSSL_NO_ECDH\r
402+# define OPENSSL_NO_ECDH\r
403+#endif\r
404+#ifndef OPENSSL_NO_ECDSA\r
405+# define OPENSSL_NO_ECDSA\r
406+#endif\r
407+#ifndef OPENSSL_NO_ENGINE\r
408+# define OPENSSL_NO_ENGINE\r
409+#endif\r
410+#ifndef OPENSSL_NO_ENGINES\r
411+# define OPENSSL_NO_ENGINES\r
412+#endif\r
413+#ifndef OPENSSL_NO_FILENAMES\r
414+# define OPENSSL_NO_FILENAMES\r
415+#endif\r
416+#ifndef OPENSSL_NO_FP_API\r
417+# define OPENSSL_NO_FP_API\r
418+#endif\r
419 #ifndef OPENSSL_NO_GMP\r
420 # define OPENSSL_NO_GMP\r
421 #endif\r
422+#ifndef OPENSSL_NO_GOST\r
423+# define OPENSSL_NO_GOST\r
424+#endif\r
425+#ifndef OPENSSL_NO_IDEA\r
426+# define OPENSSL_NO_IDEA\r
427+#endif\r
428 #ifndef OPENSSL_NO_JPAKE\r
429 # define OPENSSL_NO_JPAKE\r
430 #endif\r
431@@ -23,30 +80,90 @@\r
432 #ifndef OPENSSL_NO_LIBUNBOUND\r
433 # define OPENSSL_NO_LIBUNBOUND\r
434 #endif\r
435+#ifndef OPENSSL_NO_LOCKING\r
436+# define OPENSSL_NO_LOCKING\r
437+#endif\r
438 #ifndef OPENSSL_NO_MD2\r
439 # define OPENSSL_NO_MD2\r
440 #endif\r
441+#ifndef OPENSSL_NO_MDC2\r
442+# define OPENSSL_NO_MDC2\r
443+#endif\r
444+#ifndef OPENSSL_NO_POSIX_IO\r
445+# define OPENSSL_NO_POSIX_IO\r
446+#endif\r
447+#ifndef OPENSSL_NO_RC2\r
448+# define OPENSSL_NO_RC2\r
449+#endif\r
450 #ifndef OPENSSL_NO_RC5\r
451 # define OPENSSL_NO_RC5\r
452 #endif\r
453+#ifndef OPENSSL_NO_RCS\r
454+# define OPENSSL_NO_RCS\r
455+#endif\r
456 #ifndef OPENSSL_NO_RFC3779\r
457 # define OPENSSL_NO_RFC3779\r
458 #endif\r
459+#ifndef OPENSSL_NO_RIPEMD\r
460+# define OPENSSL_NO_RIPEMD\r
461+#endif\r
462+#ifndef OPENSSL_NO_SCRYPT\r
463+# define OPENSSL_NO_SCRYPT\r
464+#endif\r
465+#ifndef OPENSSL_NO_SCT\r
466+# define OPENSSL_NO_SCT\r
467+#endif\r
468 #ifndef OPENSSL_NO_SCTP\r
469 # define OPENSSL_NO_SCTP\r
470 #endif\r
471+#ifndef OPENSSL_NO_SEED\r
472+# define OPENSSL_NO_SEED\r
473+#endif\r
474+#ifndef OPENSSL_NO_SHA0\r
475+# define OPENSSL_NO_SHA0\r
476+#endif\r
477+#ifndef OPENSSL_NO_SOCK\r
478+# define OPENSSL_NO_SOCK\r
479+#endif\r
480+#ifndef OPENSSL_NO_SRP\r
481+# define OPENSSL_NO_SRP\r
482+#endif\r
483 #ifndef OPENSSL_NO_SSL_TRACE\r
484 # define OPENSSL_NO_SSL_TRACE\r
485 #endif\r
486+#ifndef OPENSSL_NO_SSL2\r
487+# define OPENSSL_NO_SSL2\r
488+#endif\r
489+#ifndef OPENSSL_NO_SSL3\r
490+# define OPENSSL_NO_SSL3\r
491+#endif\r
492+#ifndef OPENSSL_NO_STDIO\r
493+# define OPENSSL_NO_STDIO\r
494+#endif\r
495 #ifndef OPENSSL_NO_STORE\r
496 # define OPENSSL_NO_STORE\r
497 #endif\r
498+#ifndef OPENSSL_NO_UI\r
499+# define OPENSSL_NO_UI\r
500+#endif\r
501 #ifndef OPENSSL_NO_UNIT_TEST\r
502 # define OPENSSL_NO_UNIT_TEST\r
503 #endif\r
504+#ifndef OPENSSL_NO_WHIRLPOOL\r
505+# define OPENSSL_NO_WHIRLPOOL\r
506+#endif\r
507 \r
508 #endif /* OPENSSL_DOING_MAKEDEPEND */\r
509 \r
510+#ifndef OPENSSL_NO_ASM\r
511+# define OPENSSL_NO_ASM\r
512+#endif\r
513+#ifndef OPENSSL_NO_ERR\r
514+# define OPENSSL_NO_ERR\r
515+#endif\r
516+#ifndef OPENSSL_NO_HW\r
517+# define OPENSSL_NO_HW\r
518+#endif\r
519 #ifndef OPENSSL_NO_DYNAMIC_ENGINE\r
520 # define OPENSSL_NO_DYNAMIC_ENGINE\r
521 #endif\r
522@@ -56,12 +173,66 @@\r
523 who haven't had the time to do the appropriate changes in their\r
524 applications. */\r
525 #ifdef OPENSSL_ALGORITHM_DEFINES\r
526+# if defined(OPENSSL_NO_BF) && !defined(NO_BF)\r
527+# define NO_BF\r
528+# endif\r
529+# if defined(OPENSSL_NO_CAMELLIA) && !defined(NO_CAMELLIA)\r
530+# define NO_CAMELLIA\r
531+# endif\r
532+# if defined(OPENSSL_NO_CAPIENG) && !defined(NO_CAPIENG)\r
533+# define NO_CAPIENG\r
534+# endif\r
535+# if defined(OPENSSL_NO_CAST) && !defined(NO_CAST)\r
536+# define NO_CAST\r
537+# endif\r
538+# if defined(OPENSSL_NO_CMS) && !defined(NO_CMS)\r
539+# define NO_CMS\r
540+# endif\r
541+# if defined(OPENSSL_NO_DEPRECATED) && !defined(NO_DEPRECATED)\r
542+# define NO_DEPRECATED\r
543+# endif\r
544+# if defined(OPENSSL_NO_DGRAM) && !defined(NO_DGRAM)\r
545+# define NO_DGRAM\r
546+# endif\r
547+# if defined(OPENSSL_NO_DSA) && !defined(NO_DSA)\r
548+# define NO_DSA\r
549+# endif\r
550+# if defined(OPENSSL_NO_DYNAMIC_ENGINE) && !defined(NO_DYNAMIC_ENGINE)\r
551+# define NO_DYNAMIC_ENGINE\r
552+# endif\r
553+# if defined(OPENSSL_NO_EC) && !defined(NO_EC)\r
554+# define NO_EC\r
555+# endif\r
556 # if defined(OPENSSL_NO_EC_NISTP_64_GCC_128) && !defined(NO_EC_NISTP_64_GCC_128)\r
557 # define NO_EC_NISTP_64_GCC_128\r
558 # endif\r
559+# if defined(OPENSSL_NO_ECDH) && !defined(NO_ECDH)\r
560+# define NO_ECDH\r
561+# endif\r
562+# if defined(OPENSSL_NO_ECDSA) && !defined(NO_ECDSA)\r
563+# define NO_ECDSA\r
564+# endif\r
565+# if defined(OPENSSL_NO_ENGINE) && !defined(NO_ENGINE)\r
566+# define NO_ENGINE\r
567+# endif\r
568+# if defined(OPENSSL_NO_ENGINES) && !defined(NO_ENGINES)\r
569+# define NO_ENGINES\r
570+# endif\r
571+# if defined(OPENSSL_NO_FILENAMES) && !defined(NO_FILENAMES)\r
572+# define NO_FILENAMES\r
573+# endif\r
574+# if defined(OPENSSL_NO_FP_API) && !defined(NO_FP_API)\r
575+# define NO_FP_API\r
576+# endif\r
577 # if defined(OPENSSL_NO_GMP) && !defined(NO_GMP)\r
578 # define NO_GMP\r
579 # endif\r
580+# if defined(OPENSSL_NO_GOST) && !defined(NO_GOST)\r
581+# define NO_GOST\r
582+# endif\r
583+# if defined(OPENSSL_NO_IDEA) && !defined(NO_IDEA)\r
584+# define NO_IDEA\r
585+# endif\r
586 # if defined(OPENSSL_NO_JPAKE) && !defined(NO_JPAKE)\r
587 # define NO_JPAKE\r
588 # endif\r
589@@ -71,27 +242,78 @@\r
590 # if defined(OPENSSL_NO_LIBUNBOUND) && !defined(NO_LIBUNBOUND)\r
591 # define NO_LIBUNBOUND\r
592 # endif\r
593+# if defined(OPENSSL_NO_LOCKING) && !defined(NO_LOCKING)\r
594+# define NO_LOCKING\r
595+# endif\r
596 # if defined(OPENSSL_NO_MD2) && !defined(NO_MD2)\r
597 # define NO_MD2\r
598 # endif\r
599+# if defined(OPENSSL_NO_MDC2) && !defined(NO_MDC2)\r
600+# define NO_MDC2\r
601+# endif\r
602+# if defined(OPENSSL_NO_POSIX_IO) && !defined(NO_POSIX_IO)\r
603+# define NO_POSIX_IO\r
604+# endif\r
605+# if defined(OPENSSL_NO_RC2) && !defined(NO_RC2)\r
606+# define NO_RC2\r
607+# endif\r
608 # if defined(OPENSSL_NO_RC5) && !defined(NO_RC5)\r
609 # define NO_RC5\r
610 # endif\r
611+# if defined(OPENSSL_NO_RCS) && !defined(NO_RCS)\r
612+# define NO_RCS\r
613+# endif\r
614 # if defined(OPENSSL_NO_RFC3779) && !defined(NO_RFC3779)\r
615 # define NO_RFC3779\r
616 # endif\r
617+# if defined(OPENSSL_NO_RIPEMD) && !defined(NO_RIPEMD)\r
618+# define NO_RIPEMD\r
619+# endif\r
620+# if defined(OPENSSL_NO_SCRYPT) && !defined(NO_SCRYPT)\r
621+# define NO_SCRYPT\r
622+# endif\r
623+# if defined(OPENSSL_NO_SCT) && !defined(NO_SCT)\r
624+# define NO_SCT\r
625+# endif\r
626 # if defined(OPENSSL_NO_SCTP) && !defined(NO_SCTP)\r
627 # define NO_SCTP\r
628 # endif\r
629+# if defined(OPENSSL_NO_SEED) && !defined(NO_SEED)\r
630+# define NO_SEED\r
631+# endif\r
632+# if defined(OPENSSL_NO_SHA0) && !defined(NO_SHA0)\r
633+# define NO_SHA0\r
634+# endif\r
635+# if defined(OPENSSL_NO_SOCK) && !defined(NO_SOCK)\r
636+# define NO_SOCK\r
637+# endif\r
638+# if defined(OPENSSL_NO_SRP) && !defined(NO_SRP)\r
639+# define NO_SRP\r
640+# endif\r
641 # if defined(OPENSSL_NO_SSL_TRACE) && !defined(NO_SSL_TRACE)\r
642 # define NO_SSL_TRACE\r
643 # endif\r
644+# if defined(OPENSSL_NO_SSL2) && !defined(NO_SSL2)\r
645+# define NO_SSL2\r
646+# endif\r
647+# if defined(OPENSSL_NO_SSL3) && !defined(NO_SSL3)\r
648+# define NO_SSL3\r
649+# endif\r
650+# if defined(OPENSSL_NO_STDIO) && !defined(NO_STDIO)\r
651+# define NO_STDIO\r
652+# endif\r
653 # if defined(OPENSSL_NO_STORE) && !defined(NO_STORE)\r
654 # define NO_STORE\r
655 # endif\r
656+# if defined(OPENSSL_NO_UI) && !defined(NO_UI)\r
657+# define NO_UI\r
658+# endif\r
659 # if defined(OPENSSL_NO_UNIT_TEST) && !defined(NO_UNIT_TEST)\r
660 # define NO_UNIT_TEST\r
661 # endif\r
662+# if defined(OPENSSL_NO_WHIRLPOOL) && !defined(NO_WHIRLPOOL)\r
663+# define NO_WHIRLPOOL\r
664+# endif\r
665 #endif\r
666 \r
667 /* crypto/opensslconf.h.in */\r
668@@ -152,7 +374,7 @@\r
3b21958b 669 #endif\r
f93f78ea
QL
670 #endif\r
671 \r
3b21958b
DW
672-#if defined(HEADER_BN_H) && !defined(CONFIG_HEADER_BN_H)\r
673+#if defined(HEADER_BN_H) && !defined(CONFIG_HEADER_BN_H) && !defined(OPENSSL_SYSNAME_UEFI)\r
674 #define CONFIG_HEADER_BN_H\r
675 #undef BN_LLONG\r
676 \r
97468ab9
DW
677diff U3 e_os.h e_os.h\r
678--- e_os.h Thu Jul 09 19:57:16 2015\r
679+++ e_os.h Thu Oct 29 16:54:10 2015\r
680@@ -136,7 +136,7 @@\r
681 # define MSDOS\r
682 # endif\r
683 \r
684-# if defined(MSDOS) && !defined(GETPID_IS_MEANINGLESS)\r
685+# if (defined(MSDOS) || defined(OPENSSL_SYS_UEFI)) && !defined(GETPID_IS_MEANINGLESS)\r
686 # define GETPID_IS_MEANINGLESS\r
687 # endif\r
688 \r
3b21958b
DW
689diff U3 e_os2.h e_os2.h\r
690--- e_os2.h Thu Jul 09 19:57:16 2015\r
691+++ e_os2.h Thu Oct 29 15:08:19 2015\r
692@@ -97,7 +97,14 @@\r
693 * For 32 bit environment, there seems to be the CygWin environment and then\r
694 * all the others that try to do the same thing Microsoft does...\r
695 */\r
696-# if defined(OPENSSL_SYSNAME_UWIN)\r
697+/*\r
698+ * UEFI lives here because it might be built with a Microsoft toolchain and\r
699+ * we need to avoid the false positive match on Windows.\r
700+ */\r
701+# if defined(OPENSSL_SYSNAME_UEFI)\r
702+# undef OPENSSL_SYS_UNIX\r
703+# define OPENSSL_SYS_UEFI\r
704+# elif defined(OPENSSL_SYSNAME_UWIN)\r
705 # undef OPENSSL_SYS_UNIX\r
706 # define OPENSSL_SYS_WIN32_UWIN\r
707 # else\r