Skip to content
This repository was archived by the owner on Aug 24, 2025. It is now read-only.

Commit 98c1d7e

Browse files
committed
Merge commit 'd4e4bd2a8163f355fa8a3884077eaec7adc75ff7'
2 parents 8e93e67 + d4e4bd2 commit 98c1d7e

File tree

294 files changed

+3110
-1805
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

294 files changed

+3110
-1805
lines changed

.travis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@ script:
158158
else
159159
echo -e '+\057 MAKE UPDATE FAILED'; false;
160160
fi;
161-
git diff --quiet
161+
git diff --exit-code
162162
- if [ -n "$CHECKDOCS" ]; then
163163
if $make doc-nits; then
164164
echo -e '+\057\057 MAKE DOC-NITS OK';

CHANGES

Lines changed: 78 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,79 @@
77
https://github.com/openssl/openssl/commits/ and pick the appropriate
88
release branch.
99

10+
Changes between 1.1.0g and 1.1.0h [27 Mar 2018]
11+
12+
*) Constructed ASN.1 types with a recursive definition could exceed the stack
13+
14+
Constructed ASN.1 types with a recursive definition (such as can be found
15+
in PKCS7) could eventually exceed the stack given malicious input with
16+
excessive recursion. This could result in a Denial Of Service attack. There
17+
are no such structures used within SSL/TLS that come from untrusted sources
18+
so this is considered safe.
19+
20+
This issue was reported to OpenSSL on 4th January 2018 by the OSS-fuzz
21+
project.
22+
(CVE-2018-0739)
23+
[Matt Caswell]
24+
25+
*) Incorrect CRYPTO_memcmp on HP-UX PA-RISC
26+
27+
Because of an implementation bug the PA-RISC CRYPTO_memcmp function is
28+
effectively reduced to only comparing the least significant bit of each
29+
byte. This allows an attacker to forge messages that would be considered as
30+
authenticated in an amount of tries lower than that guaranteed by the
31+
security claims of the scheme. The module can only be compiled by the
32+
HP-UX assembler, so that only HP-UX PA-RISC targets are affected.
33+
34+
This issue was reported to OpenSSL on 2nd March 2018 by Peter Waltenberg
35+
(IBM).
36+
(CVE-2018-0733)
37+
[Andy Polyakov]
38+
39+
*) Add a build target 'build_all_generated', to build all generated files
40+
and only that. This can be used to prepare everything that requires
41+
things like perl for a system that lacks perl and then move everything
42+
to that system and do the rest of the build there.
43+
[Richard Levitte]
44+
45+
*) Backport SSL_OP_NO_RENGOTIATION
46+
47+
OpenSSL 1.0.2 and below had the ability to disable renegotiation using the
48+
(undocumented) SSL3_FLAGS_NO_RENEGOTIATE_CIPHERS flag. Due to the opacity
49+
changes this is no longer possible in 1.1.0. Therefore the new
50+
SSL_OP_NO_RENEGOTIATION option from 1.1.1-dev has been backported to
51+
1.1.0 to provide equivalent functionality.
52+
53+
Note that if an application built against 1.1.0h headers (or above) is run
54+
using an older version of 1.1.0 (prior to 1.1.0h) then the option will be
55+
accepted but nothing will happen, i.e. renegotiation will not be prevented.
56+
[Matt Caswell]
57+
58+
*) Removed the OS390-Unix config target. It relied on a script that doesn't
59+
exist.
60+
[Rich Salz]
61+
62+
*) rsaz_1024_mul_avx2 overflow bug on x86_64
63+
64+
There is an overflow bug in the AVX2 Montgomery multiplication procedure
65+
used in exponentiation with 1024-bit moduli. No EC algorithms are affected.
66+
Analysis suggests that attacks against RSA and DSA as a result of this
67+
defect would be very difficult to perform and are not believed likely.
68+
Attacks against DH1024 are considered just feasible, because most of the
69+
work necessary to deduce information about a private key may be performed
70+
offline. The amount of resources required for such an attack would be
71+
significant. However, for an attack on TLS to be meaningful, the server
72+
would have to share the DH1024 private key among multiple clients, which is
73+
no longer an option since CVE-2016-0701.
74+
75+
This only affects processors that support the AVX2 but not ADX extensions
76+
like Intel Haswell (4th generation).
77+
78+
This issue was reported to OpenSSL by David Benjamin (Google). The issue
79+
was originally found via the OSS-Fuzz project.
80+
(CVE-2017-3738)
81+
[Andy Polyakov]
82+
1083
Changes between 1.1.0f and 1.1.0g [2 Nov 2017]
1184

1285
*) bn_sqrx8x_internal carry bug on x86_64
@@ -2989,8 +3062,11 @@
29893062
to work with OPENSSL_NO_SSL_INTERN defined.
29903063
[Steve Henson]
29913064

2992-
*) Add SRP support.
2993-
[Tom Wu <tjw@cs.stanford.edu> and Ben Laurie]
3065+
*) A long standing patch to add support for SRP from EdelWeb (Peter
3066+
Sylvester and Christophe Renou) was integrated.
3067+
[Christophe Renou <christophe.renou@edelweb.fr>, Peter Sylvester
3068+
<peter.sylvester@edelweb.fr>, Tom Wu <tjw@cs.stanford.edu>, and
3069+
Ben Laurie]
29943070

29953071
*) Add functions to copy EVP_PKEY_METHOD and retrieve flags and id.
29963072
[Steve Henson]

Configurations/10-main.conf

Lines changed: 17 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -204,6 +204,7 @@ sub vms_info {
204204
debug => "-O0 -g",
205205
release => "-O3 -fomit-frame-pointer"),
206206
threads("-pthread")),
207+
ex_libs => add(threads("-pthread")),
207208
bn_ops => "BN_LLONG",
208209
shared_cflag => "-fPIC",
209210
shared_ldflag => "-shared -static-libgcc",
@@ -223,6 +224,7 @@ sub vms_info {
223224
debug => "-O0 -g",
224225
release => "-O3"),
225226
threads("-pthread")),
227+
ex_libs => add(threads("-pthread")),
226228
bn_ops => "SIXTY_FOUR_BIT_LONG",
227229
perlasm_scheme => "elf",
228230
shared_cflag => "-fPIC",
@@ -268,6 +270,7 @@ sub vms_info {
268270
debug => "-O0 -g",
269271
release => "-O3"),
270272
threads("-pthread")),
273+
ex_libs => add(threads("-pthread")),
271274
bn_ops => "BN_LLONG RC4_CHAR",
272275
shared_cflag => "-fPIC",
273276
shared_ldflag => "-shared",
@@ -432,7 +435,7 @@ sub vms_info {
432435
debug => "-O0 -g",
433436
release => "-O3"),
434437
threads("-pthread")),
435-
ex_libs => add("-Wl,+s -ldld"),
438+
ex_libs => add("-Wl,+s -ldld", threads("-pthread")),
436439
bn_ops => "BN_LLONG",
437440
thread_scheme => "pthreads",
438441
dso_scheme => "dl",
@@ -551,7 +554,7 @@ sub vms_info {
551554
debug => "-O0 -g",
552555
release => "-O3"),
553556
threads("-pthread")),
554-
ex_libs => add("-ldl"),
557+
ex_libs => add("-ldl", threads("-pthread")),
555558
bn_ops => "SIXTY_FOUR_BIT",
556559
thread_scheme => "pthreads",
557560
dso_scheme => "dlfcn",
@@ -568,7 +571,7 @@ sub vms_info {
568571
debug => "-O0 -g",
569572
release => "-O3"),
570573
threads("-pthread")),
571-
ex_libs => add("-ldl"),
574+
ex_libs => add("-ldl", threads("-pthread")),
572575
bn_ops => "SIXTY_FOUR_BIT_LONG",
573576
thread_scheme => "pthreads",
574577
dso_scheme => "dlfcn",
@@ -583,7 +586,7 @@ sub vms_info {
583586
"MPE/iX-gcc" => {
584587
inherit_from => [ "BASE_unix" ],
585588
cc => "gcc",
586-
cflags => "-D_ENDIAN -DBN_DIV2W -O3 -D_POSIX_SOURCE -D_SOCKET_SOURCE -I/SYSLOG/PUB",
589+
cflags => "-DBN_DIV2W -O3 -D_POSIX_SOURCE -D_SOCKET_SOURCE -I/SYSLOG/PUB",
587590
sys_id => "MPE",
588591
ex_libs => add("-L/SYSLOG/PUB -lsyslog -lsocket -lcurses"),
589592
thread_scheme => "(unknown)",
@@ -599,7 +602,7 @@ sub vms_info {
599602
cc => "gcc",
600603
cflags => combine("-std=c9x -D_XOPEN_SOURCE=500 -D_OSF_SOURCE -O3",
601604
threads("-pthread")),
602-
ex_libs => "-lrt", # for mlock(2)
605+
ex_libs => add("-lrt", threads("-pthread")), # for mlock(2)
603606
bn_ops => "SIXTY_FOUR_BIT_LONG",
604607
thread_scheme => "pthreads",
605608
dso_scheme => "dlfcn",
@@ -611,7 +614,7 @@ sub vms_info {
611614
cc => "cc",
612615
cflags => combine("-std1 -D_XOPEN_SOURCE=500 -D_OSF_SOURCE -tune host -fast -readonly_strings",
613616
threads("-pthread")),
614-
ex_libs => "-lrt", # for mlock(2)
617+
ex_libs => add("-lrt", threads("-pthread")), # for mlock(2)
615618
bn_ops => "SIXTY_FOUR_BIT_LONG",
616619
thread_scheme => "pthreads",
617620
dso_scheme => "dlfcn",
@@ -632,7 +635,7 @@ sub vms_info {
632635
debug => "-O0 -g",
633636
release => "-O3"),
634637
threads("-pthread")),
635-
ex_libs => add("-ldl"),
638+
ex_libs => add("-ldl", threads("-pthread")),
636639
bn_ops => "BN_LLONG RC4_CHAR",
637640
thread_scheme => "pthreads",
638641
dso_scheme => "dlfcn",
@@ -896,7 +899,7 @@ sub vms_info {
896899
#
897900
# ANDROID_NDK=/some/where/android-ndk-10d
898901
# CROSS_SYSROOT=$ANDROID_NDK/platforms/android-14/arch-arm
899-
# CROSS_COMPILE=arm-linux-adroideabi-
902+
# CROSS_COMPILE=arm-linux-androideabi-
900903
# PATH=$ANDROID_NDK/toolchains/arm-linux-androideabi-4.8/prebuild/linux-x86_64/bin
901904
#
902905
"android" => {
@@ -1177,6 +1180,7 @@ sub vms_info {
11771180
debug => "-O0 -g",
11781181
release => "-O"),
11791182
threads("-pthread")),
1183+
ex_libs => add(threads("-pthread")),
11801184
sys_id => "AIX",
11811185
bn_ops => "BN_LLONG RC4_CHAR",
11821186
thread_scheme => "pthreads",
@@ -1194,6 +1198,7 @@ sub vms_info {
11941198
debug => "-O0 -g",
11951199
release => "-O"),
11961200
threads("-pthread")),
1201+
ex_libs => add(threads("-pthread")),
11971202
sys_id => "AIX",
11981203
bn_ops => "SIXTY_FOUR_BIT_LONG RC4_CHAR",
11991204
thread_scheme => "pthreads",
@@ -1251,18 +1256,6 @@ sub vms_info {
12511256
thread_scheme => "(unknown)",
12521257
},
12531258

1254-
# OS/390 Unix an EBCDIC-based Unix system on IBM mainframe
1255-
# You need to compile using the c89.sh wrapper in the tools directory, because the
1256-
# IBM compiler does not like the -L switch after any object modules.
1257-
#
1258-
"OS390-Unix" => {
1259-
inherit_from => [ "BASE_unix" ],
1260-
cc => "c89.sh",
1261-
cflags => "-O -DB_ENDIAN -DCHARSET_EBCDIC -DNO_SYS_PARAM_H -D_ALL_SOURCE",
1262-
bn_ops => "THIRTY_TWO_BIT RC4_CHAR",
1263-
thread_scheme => "(unknown)",
1264-
},
1265-
12661259
#### Visual C targets
12671260
#
12681261
# Win64 targets, WIN64I denotes IA-64 and WIN64A - AMD64
@@ -1590,6 +1583,7 @@ sub vms_info {
15901583
inherit_from => [ "darwin-common", asm("ppc32_asm") ],
15911584
cflags => add("-arch ppc -std=gnu9x -DB_ENDIAN -Wa,-force_cpusubtype_ALL"),
15921585
perlasm_scheme => "osx32",
1586+
shared_cflag => add("-fno-common"),
15931587
shared_ldflag => "-arch ppc -dynamiclib",
15941588
},
15951589
"darwin64-ppc-cc" => {
@@ -1659,7 +1653,7 @@ sub vms_info {
16591653
cc => "gcc",
16601654
cflags => combine("-DL_ENDIAN -O3 -fomit-frame-pointer -Wall",
16611655
threads("-pthread")),
1662-
ex_libs => add("-ldl"),
1656+
ex_libs => add("-ldl", threads("-pthread")),
16631657
bn_ops => "BN_LLONG",
16641658
thread_scheme => "pthreads",
16651659
dso_scheme => "dlfcn",
@@ -1735,9 +1729,7 @@ sub vms_info {
17351729
"uClinux-dist" => {
17361730
inherit_from => [ "BASE_unix" ],
17371731
cc => "$ENV{'CC'}",
1738-
cflags => combine("\$(CFLAGS)",
1739-
threads("-D_REENTRANT")),
1740-
plib_lflags => "\$(LDFLAGS)",
1732+
cflags => combine(threads("-D_REENTRANT")),
17411733
ex_libs => add("\$(LDLIBS)"),
17421734
bn_ops => "BN_LLONG",
17431735
thread_scheme => "pthreads",
@@ -1751,9 +1743,7 @@ sub vms_info {
17511743
"uClinux-dist64" => {
17521744
inherit_from => [ "BASE_unix" ],
17531745
cc => "$ENV{'CC'}",
1754-
cflags => combine("\$(CFLAGS)",
1755-
threads("-D_REENTRANT")),
1756-
plib_lflags => "\$(LDFLAGS)",
1746+
cflags => combine(threads("-D_REENTRANT")),
17571747
ex_libs => add("\$(LDLIBS)"),
17581748
bn_ops => "SIXTY_FOUR_BIT_LONG",
17591749
thread_scheme => "pthreads",

Configurations/README

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,14 @@ configuration in diverse ways:
1818
Configurations of OpenSSL target platforms
1919
==========================================
2020

21-
Target configurations are a collection of facts that we know about
21+
Configuration targets are a collection of facts that we know about
2222
different platforms and their capabilities. We organise them in a
2323
hash table, where each entry represent a specific target.
2424

25+
Note that configuration target names must be unique across all config
26+
files. The Configure script does check that a config file doesn't
27+
have config targets that shadow config targets from other files.
28+
2529
In each table entry, the following keys are significant:
2630

2731
inherit_from => Other targets to inherit values from.
@@ -86,6 +90,27 @@ In each table entry, the following keys are significant:
8690
files. On unix, this defaults to "" (NOTE:
8791
this is here for future use, it's not
8892
implemented yet)
93+
shlib_variant => A "variant" identifier inserted between the base
94+
shared library name and the extension. On "unixy"
95+
platforms (BSD, Linux, Solaris, MacOS/X, ...) this
96+
supports installation of custom OpenSSL libraries
97+
that don't conflict with other builds of OpenSSL
98+
installed on the system. The variant identifier
99+
becomes part of the SONAME of the library and also
100+
any symbol versions (symbol versions are not used or
101+
needed with MacOS/X). For example, on a system
102+
where a default build would normally create the SSL
103+
shared library as 'libssl.so -> libssl.so.1.1' with
104+
the value of the symlink as the SONAME, a target
105+
definition that sets 'shlib_variant => "-abc"' will
106+
create 'libssl.so -> libssl-abc.so.1.1', again with
107+
an SONAME equal to the value of the symlink. The
108+
symbol versions associated with the variant library
109+
would then be 'OPENSSL_ABC_<version>' rather than
110+
the default 'OPENSSL_<version>'. The string inserted
111+
into symbol versions is obtained by mapping all
112+
letters in the "variant" identifier to upper case
113+
and all non-alphanumeric characters to '_'.
89114

90115
thread_scheme => The type of threads is used on the
91116
configured platform. Currently known

Configurations/common.tmpl

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,7 @@
5252
generator_incs => $unified_info{includes}->{$script},
5353
generator_deps => $unified_info{depends}->{$script},
5454
deps => $unified_info{depends}->{$src},
55-
incs => [ @{$unified_info{includes}->{$bin}},
56-
@{$unified_info{includes}->{$obj}} ],
55+
incs => $unified_info{includes}->{$obj},
5756
%opts);
5857
foreach (@{$unified_info{depends}->{$src}}) {
5958
dogenerate($_, $obj, $bin, %opts);
@@ -74,8 +73,7 @@
7473
$OUT .= src2obj(obj => $obj_no_o,
7574
srcs => $unified_info{sources}->{$obj},
7675
deps => $unified_info{depends}->{$obj},
77-
incs => [ @{$unified_info{includes}->{$bin}},
78-
@{$unified_info{includes}->{$obj}} ],
76+
incs => $unified_info{includes}->{$obj},
7977
%opts);
8078
foreach ((@{$unified_info{sources}->{$obj}},
8179
@{$unified_info{depends}->{$obj}})) {

Configurations/descrip.mms.tmpl

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -264,6 +264,10 @@ build_programs_nodep : $(PROGRAMS), $(SCRIPTS)
264264
# Kept around for backward compatibility
265265
build_apps build_tests : build_programs
266266

267+
# Convenience target to prebuild all generated files, not just the mandatory
268+
# ones
269+
build_all_generated : $(GENERATED_MANDATORY) $(GENERATED)
270+
267271
test : tests
268272
{- dependmagic('tests'); -} : build_programs_nodep, build_engines_nodep
269273
@ ! {- output_off() if $disabled{tests}; "" -}

0 commit comments

Comments
 (0)