diff options
author | Scott Garman <scott.a.garman@intel.com> | 2012-03-19 23:11:25 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-03-21 15:33:04 +0000 |
commit | 96dde9513c08430e12f4f1f6e6e54ca2a244bfcd (patch) | |
tree | 55203cd875fddee191bb51042dc85851961cdc54 /meta/recipes-connectivity/openssl/openssl-1.0.0h/openssl_fix_for_x32.patch | |
parent | ded4c8eea1e13ade4e07298aef3e1f53487953d7 (diff) | |
download | poky-96dde9513c08430e12f4f1f6e6e54ca2a244bfcd.tar.gz |
openssl: upgrade to 1.0.0.h
Removed pkg-config.patch, which was incorporated upstream.
Addresses CVE-2012-0884.
Fixes bug [YOCTO #2139].
(From OE-Core rev: 50d99fc8c5a158c7f3ce3e72377827f53406d88f)
Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-connectivity/openssl/openssl-1.0.0h/openssl_fix_for_x32.patch')
-rw-r--r-- | meta/recipes-connectivity/openssl/openssl-1.0.0h/openssl_fix_for_x32.patch | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/meta/recipes-connectivity/openssl/openssl-1.0.0h/openssl_fix_for_x32.patch b/meta/recipes-connectivity/openssl/openssl-1.0.0h/openssl_fix_for_x32.patch new file mode 100644 index 0000000000..3191ce9632 --- /dev/null +++ b/meta/recipes-connectivity/openssl/openssl-1.0.0h/openssl_fix_for_x32.patch | |||
@@ -0,0 +1,90 @@ | |||
1 | Upstream-Status: Pending | ||
2 | |||
3 | Received from H J Liu @ Intel | ||
4 | Make the assembly syntax compatible with x32 gcc. Othewise x32 gcc throws errors. | ||
5 | Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com> 2011/07/13 | ||
6 | |||
7 | ported the patch to the 1.0.0e version | ||
8 | Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com> 2011/12/01 | ||
9 | Index: openssl-1.0.0e/Configure | ||
10 | =================================================================== | ||
11 | --- openssl-1.0.0e.orig/Configure | ||
12 | +++ openssl-1.0.0e/Configure | ||
13 | @@ -393,6 +393,7 @@ my %table=( | ||
14 | "linux-ia64-ecc","ecc:-DL_ENDIAN -DTERMIO -O2 -Wall -no_cpprt::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT:${ia64_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", | ||
15 | "linux-ia64-icc","icc:-DL_ENDIAN -DTERMIO -O2 -Wall -no_cpprt::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_RISC1 DES_INT:${ia64_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", | ||
16 | "linux-x86_64", "gcc:-m64 -DL_ENDIAN -DTERMIO -O3 -Wall -DMD32_REG_T=int::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64", | ||
17 | +"linux-x32", "gcc:-mx32 -DL_ENDIAN -DTERMIO -O3 -Wall -DMD32_REG_T=int::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-mx32:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::x32", | ||
18 | "linux-s390x", "gcc:-m64 -DB_ENDIAN -DTERMIO -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL:${s390x_asm}:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64", | ||
19 | #### SPARC Linux setups | ||
20 | # Ray Miller <ray.miller@computing-services.oxford.ac.uk> has patiently | ||
21 | Index: openssl-1.0.0e/crypto/bn/asm/x86_64-gcc.c | ||
22 | =================================================================== | ||
23 | --- openssl-1.0.0e.orig/crypto/bn/asm/x86_64-gcc.c | ||
24 | +++ openssl-1.0.0e/crypto/bn/asm/x86_64-gcc.c | ||
25 | @@ -55,7 +55,7 @@ | ||
26 | * machine. | ||
27 | */ | ||
28 | |||
29 | -#ifdef _WIN64 | ||
30 | +#if defined _WIN64 || !defined __LP64__ | ||
31 | #define BN_ULONG unsigned long long | ||
32 | #else | ||
33 | #define BN_ULONG unsigned long | ||
34 | @@ -192,9 +192,9 @@ BN_ULONG bn_add_words (BN_ULONG *rp, con | ||
35 | asm ( | ||
36 | " subq %2,%2 \n" | ||
37 | ".p2align 4 \n" | ||
38 | - "1: movq (%4,%2,8),%0 \n" | ||
39 | - " adcq (%5,%2,8),%0 \n" | ||
40 | - " movq %0,(%3,%2,8) \n" | ||
41 | + "1: movq (%q4,%2,8),%0 \n" | ||
42 | + " adcq (%q5,%2,8),%0 \n" | ||
43 | + " movq %0,(%q3,%2,8) \n" | ||
44 | " leaq 1(%2),%2 \n" | ||
45 | " loop 1b \n" | ||
46 | " sbbq %0,%0 \n" | ||
47 | @@ -215,9 +215,9 @@ BN_ULONG bn_sub_words (BN_ULONG *rp, con | ||
48 | asm ( | ||
49 | " subq %2,%2 \n" | ||
50 | ".p2align 4 \n" | ||
51 | - "1: movq (%4,%2,8),%0 \n" | ||
52 | - " sbbq (%5,%2,8),%0 \n" | ||
53 | - " movq %0,(%3,%2,8) \n" | ||
54 | + "1: movq (%q4,%2,8),%0 \n" | ||
55 | + " sbbq (%q5,%2,8),%0 \n" | ||
56 | + " movq %0,(%q3,%2,8) \n" | ||
57 | " leaq 1(%2),%2 \n" | ||
58 | " loop 1b \n" | ||
59 | " sbbq %0,%0 \n" | ||
60 | Index: openssl-1.0.0e/crypto/bn/bn.h | ||
61 | =================================================================== | ||
62 | --- openssl-1.0.0e.orig/crypto/bn/bn.h | ||
63 | +++ openssl-1.0.0e/crypto/bn/bn.h | ||
64 | @@ -172,6 +172,13 @@ extern "C" { | ||
65 | # endif | ||
66 | #endif | ||
67 | |||
68 | +/* Address type. */ | ||
69 | +#ifdef _WIN64 | ||
70 | +#define BN_ADDR unsigned long long | ||
71 | +#else | ||
72 | +#define BN_ADDR unsigned long | ||
73 | +#endif | ||
74 | + | ||
75 | /* assuming long is 64bit - this is the DEC Alpha | ||
76 | * unsigned long long is only 64 bits :-(, don't define | ||
77 | * BN_LLONG for the DEC Alpha */ | ||
78 | Index: openssl-1.0.0e/crypto/bn/bn_exp.c | ||
79 | =================================================================== | ||
80 | --- openssl-1.0.0e.orig/crypto/bn/bn_exp.c | ||
81 | +++ openssl-1.0.0e/crypto/bn/bn_exp.c | ||
82 | @@ -561,7 +561,7 @@ static int MOD_EXP_CTIME_COPY_FROM_PREBU | ||
83 | |||
84 | /* Given a pointer value, compute the next address that is a cache line multiple. */ | ||
85 | #define MOD_EXP_CTIME_ALIGN(x_) \ | ||
86 | - ((unsigned char*)(x_) + (MOD_EXP_CTIME_MIN_CACHE_LINE_WIDTH - (((BN_ULONG)(x_)) & (MOD_EXP_CTIME_MIN_CACHE_LINE_MASK)))) | ||
87 | + ((unsigned char*)(x_) + (MOD_EXP_CTIME_MIN_CACHE_LINE_WIDTH - (((BN_ADDR)(x_)) & (MOD_EXP_CTIME_MIN_CACHE_LINE_MASK)))) | ||
88 | |||
89 | /* This variant of BN_mod_exp_mont() uses fixed windows and the special | ||
90 | * precomputation memory layout to limit data-dependency to a minimum | ||