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

Commit f5cf83f

Browse files
committed
Merge commit '577d7010c6ffa98e8dc61d8826693db9d8f57bd5'
2 parents be213b6 + 577d701 commit f5cf83f

File tree

387 files changed

+23052
-7940
lines changed

Some content is hidden

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

387 files changed

+23052
-7940
lines changed

.travis.yml

Lines changed: 76 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -5,23 +5,17 @@ language: c
55
cache: ccache
66

77
before_install:
8-
- pip install --user cpp-coveralls
8+
- if [ -n "$COVERALLS" ]; then
9+
pip install --user cpp-coveralls;
10+
fi;
911

1012
addons:
1113
apt:
1214
packages:
1315
- ccache
14-
- clang-3.9
15-
- gcc-5
16-
- binutils-mingw-w64
17-
- gcc-mingw-w64
18-
sources:
19-
- llvm-toolchain-trusty-3.9
20-
- ubuntu-toolchain-r-test
2116

2217
os:
2318
- linux
24-
- osx
2519

2620
compiler:
2721
- clang
@@ -38,41 +32,109 @@ env:
3832
matrix:
3933
include:
4034
- os: linux
35+
addons:
36+
apt:
37+
packages:
38+
- clang-3.9
39+
sources:
40+
- llvm-toolchain-trusty-3.9
41+
- ubuntu-toolchain-r-test
4142
compiler: clang-3.9
4243
env: CONFIG_OPTS="--strict-warnings no-deprecated" BUILDONLY="yes"
4344
- os: linux
4445
compiler: gcc
4546
env: CONFIG_OPTS="--debug --coverage no-asm enable-rc5 enable-md2 enable-ec_nistp_64_gcc_128 enable-ssl3 enable-ssl3-method enable-weak-ssl-ciphers" COVERALLS="yes"
4647
- os: linux
48+
addons:
49+
apt:
50+
packages:
51+
- clang-3.9
52+
sources:
53+
- llvm-toolchain-trusty-3.9
54+
- ubuntu-toolchain-r-test
4755
compiler: clang-3.9
4856
env: CONFIG_OPTS="enable-asan"
4957
- os: linux
58+
addons:
59+
apt:
60+
packages:
61+
- clang-3.9
62+
sources:
63+
- llvm-toolchain-trusty-3.9
64+
- ubuntu-toolchain-r-test
5065
compiler: clang-3.9
5166
env: CONFIG_OPTS="enable-msan"
5267
- os: linux
68+
addons:
69+
apt:
70+
packages:
71+
- clang-3.9
72+
sources:
73+
- llvm-toolchain-trusty-3.9
74+
- ubuntu-toolchain-r-test
5375
compiler: clang-3.9
5476
env: CONFIG_OPTS="no-asm enable-ubsan enable-rc5 enable-md2 enable-ssl3 enable-ssl3-method -fno-sanitize=alignment"
5577
- os: linux
78+
addons:
79+
apt:
80+
packages:
81+
- clang-3.9
82+
sources:
83+
- llvm-toolchain-trusty-3.9
84+
- ubuntu-toolchain-r-test
5685
compiler: clang-3.9
5786
env: CONFIG_OPTS="no-asm enable-asan enable-rc5 enable-md2"
5887
- os: linux
88+
addons:
89+
apt:
90+
packages:
91+
- clang-3.9
92+
sources:
93+
- llvm-toolchain-trusty-3.9
94+
- ubuntu-toolchain-r-test
5995
compiler: clang-3.9
6096
env: CONFIG_OPTS="no-stdio"
6197
- os: linux
98+
addons:
99+
apt:
100+
packages:
101+
- gcc-5
102+
sources:
103+
- ubuntu-toolchain-r-test
62104
compiler: gcc-5
63105
env: CONFIG_OPTS="no-asm enable-ubsan enable-rc5 enable-md2 -DPEDANTIC"
64106
- os: linux
107+
addons:
108+
apt:
109+
packages:
110+
- binutils-mingw-w64
111+
- gcc-mingw-w64
65112
compiler: i686-w64-mingw32-gcc
66-
env: CONFIG_OPTS="no-pic"
113+
env: CONFIG_OPTS="no-pic" TESTS="-test_fuzz"
67114
- os: linux
115+
addons:
116+
apt:
117+
packages:
118+
- binutils-mingw-w64
119+
- gcc-mingw-w64
68120
compiler: i686-w64-mingw32-gcc
69-
env: CONFIG_OPTS="no-stdio"
121+
env: CONFIG_OPTS="no-stdio" BUILDONLY="yes"
70122
- os: linux
123+
addons:
124+
apt:
125+
packages:
126+
- binutils-mingw-w64
127+
- gcc-mingw-w64
71128
compiler: x86_64-w64-mingw32-gcc
72-
env: CONFIG_OPTS="no-pic"
129+
env: CONFIG_OPTS="no-pic" TESTS="-test_fuzz"
73130
- os: linux
131+
addons:
132+
apt:
133+
packages:
134+
- binutils-mingw-w64
135+
- gcc-mingw-w64
74136
compiler: x86_64-w64-mingw32-gcc
75-
env: CONFIG_OPTS="no-stdio"
137+
env: CONFIG_OPTS="no-stdio" BUILDONLY="yes"
76138
exclude:
77139
- os: linux
78140
compiler: clang
@@ -108,7 +170,6 @@ before_script:
108170
if [ "$TRAVIS_OS_NAME" == "linux" ]; then
109171
sudo dpkg --add-architecture i386;
110172
sudo apt-get update;
111-
sudo apt-get -yq install wine;
112173
fi;
113174
fi;
114175
fi
@@ -130,6 +191,7 @@ script:
130191
- $make
131192
- if [ -z "$BUILDONLY" ]; then
132193
if [ -n "$CROSS_COMPILE" ]; then
194+
sudo apt-get -yq install wine;
133195
export EXE_SHELL="wine" WINEPREFIX=`pwd`;
134196
fi;
135197
HARNESS_VERBOSE=yes make test;

CHANGES

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,17 @@
22
OpenSSL CHANGES
33
_______________
44

5+
Changes between 1.1.0e and 1.1.0f [25 May 2017]
6+
7+
*) Have 'config' recognise 64-bit mingw and choose 'mingw64' as the target
8+
platform rather than 'mingw'.
9+
[Richard Levitte]
10+
11+
*) Remove the VMS-specific reimplementation of gmtime from crypto/o_times.c.
12+
VMS C's RTL has a fully up to date gmtime() and gmtime_r() since V7.1,
13+
which is the minimum version we support.
14+
[Richard Levitte]
15+
516
Changes between 1.1.0d and 1.1.0e [16 Feb 2017]
617

718
*) Encrypt-Then-Mac renegotiation crash
@@ -173,7 +184,7 @@
173184
to service a connection. This could lead to a Denial of Service through
174185
memory exhaustion. However, the excessive message length check still takes
175186
place, and this would cause the connection to immediately fail. Assuming
176-
that the application calls SSL_free() on the failed conneciton in a timely
187+
that the application calls SSL_free() on the failed connection in a timely
177188
manner then the 21Mb of allocated memory will then be immediately freed
178189
again. Therefore the excessive memory allocation will be transitory in
179190
nature. This then means that there is only a security impact if:
@@ -421,7 +432,7 @@
421432
*) Add X25519 support.
422433
Add ASN.1 and EVP_PKEY methods for X25519. This includes support
423434
for public and private key encoding using the format documented in
424-
draft-ietf-curdle-pkix-02. The coresponding EVP_PKEY method supports
435+
draft-ietf-curdle-pkix-02. The corresponding EVP_PKEY method supports
425436
key generation and key derivation.
426437

427438
TLS support complies with draft-ietf-tls-rfc4492bis-08 and uses
@@ -926,7 +937,7 @@
926937
done while fixing the error code for the key-too-small case.
927938
[Annie Yousar <a.yousar@informatik.hu-berlin.de>]
928939

929-
*) CA.sh has been removmed; use CA.pl instead.
940+
*) CA.sh has been removed; use CA.pl instead.
930941
[Rich Salz]
931942

932943
*) Removed old DES API.

Configurations/10-main.conf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@ sub vms_info {
179179
inherit_from => [ "BASE_unix" ],
180180
template => 1,
181181
cflags => "-DFILIO_H",
182-
ex_libs => add("-lresolv -lsocket -lnsl -ldl"),
182+
ex_libs => add("-lsocket -lnsl -ldl"),
183183
dso_scheme => "dlfcn",
184184
thread_scheme => "pthreads",
185185
shared_target => "solaris-shared",

Configurations/README

Lines changed: 65 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,20 @@
1+
Intro
2+
=====
3+
4+
This directory contains a few sets of files that are used for
5+
configuration in diverse ways:
6+
7+
*.conf Target platform configurations, please read
8+
'Configurations of OpenSSL target platforms' for more
9+
information.
10+
*.tmpl Build file templates, please read 'Build-file
11+
programming with the "unified" build system' as well
12+
as 'Build info files' for more information.
13+
*.pm Helper scripts / modules for the main `Configure`
14+
script. See 'Configure helper scripts for more
15+
information.
16+
17+
118
Configurations of OpenSSL target platforms
219
==========================================
320

@@ -111,34 +128,38 @@ In each table entry, the following keys are significant:
111128
to have the different variants in different
112129
directories.
113130

114-
bn_ops => Building options (was just bignum options
115-
in the earlier history of this option,
116-
hence the name). This a string of words
117-
that describe properties on the designated
118-
target platform, such as the type of
119-
integers used to build up the bitnum,
120-
different ways to implement certain ciphers
121-
and so on. To fully comprehend the
131+
bn_ops => Building options (was just bignum options in
132+
the earlier history of this option, hence the
133+
name). This is a string of words that describe
134+
algorithms' implementation parameters that
135+
are optimal for the designated target platform,
136+
such as the type of integers used to build up
137+
the bignum, different ways to implement certain
138+
ciphers and so on. To fully comprehend the
122139
meaning, the best is to read the affected
123140
source.
124141
The valid words are:
125142

126-
BN_LLONG use 'unsigned long long' in
127-
some bignum calculations.
128-
This has no value when
129-
SIXTY_FOUR_BIT or
130-
SIXTY_FOUR_BIT_LONG is given.
131-
RC4_CHAR makes the basic RC4 unit of
132-
calculation an unsigned char.
133-
SIXTY_FOUR_BIT processor registers
134-
are 64 bits, long is
135-
32 bits, long long is
136-
64 bits.
137-
SIXTY_FOUR_BIT_LONG processor registers
138-
are 64 bits, long is
139-
64 bits.
140-
THIRTY_TWO_BIT processor registers
141-
are 32 bits.
143+
THIRTY_TWO_BIT bignum limbs are 32 bits,
144+
this is default if no
145+
option is specified, it
146+
works on any supported
147+
system [unless "wider"
148+
limb size is implied in
149+
assembly code];
150+
BN_LLONG bignum limbs are 32 bits,
151+
but 64-bit 'unsigned long
152+
long' is used internally
153+
in calculations;
154+
SIXTY_FOUR_BIT_LONG bignum limbs are 64 bits
155+
and sizeof(long) is 8;
156+
SIXTY_FOUR_BIT bignums limbs are 64 bits,
157+
but execution environment
158+
is ILP32;
159+
RC4_CHAR RC4 key schedule is made
160+
up of 'unsigned char's;
161+
RC4_INT RC4 key schedule is made
162+
up of 'unsigned int's;
142163
EXPORT_VAR_AS_FN for shared libraries,
143164
export vars as
144165
accessor functions.
@@ -653,3 +674,23 @@ else, end it like this:
653674

654675
""; # Make sure no lingering values end up in the Makefile
655676
-}
677+
678+
679+
Configure helper scripts
680+
========================
681+
682+
Configure uses helper scripts in this directory:
683+
684+
Checker scripts
685+
---------------
686+
687+
These scripts are per platform family, to check the integrity of the
688+
tools used for configuration and building. The checker script used is
689+
either {build_platform}-{build_file}-checker.pm or
690+
{build_platform}-checker.pm, where {build_platform} is the second
691+
'build_scheme' list element from the configuration target data, and
692+
{build_file} is 'build_file' from the same target data.
693+
694+
If the check succeeds, the script is expected to end with a non-zero
695+
expression. If the check fails, the script can end with a zero, or
696+
with a `die`.

Configurations/descrip.mms.tmpl

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,13 @@
8484
= qq(deassign statem
8585
deassign record);
8686
}
87+
# This makes sure things get built in the order they need
88+
# to. You're welcome.
89+
sub dependmagic {
90+
my $target = shift;
91+
92+
return "$target : build_generated\n\t\pipe \$(MMS) depend && \$(MMS) _$target\n_$target";
93+
}
8794
#use Data::Dumper;
8895
#print STDERR "DEBUG: before:\n", Dumper($unified_info{before});
8996
#print STDERR "DEBUG: after:\n", Dumper($unified_info{after});
@@ -241,24 +248,21 @@ NODEBUG=@
241248

242249
# The main targets ###################################################
243250

244-
all : build_generated, -
245-
build_libs_nodep, build_engines_nodep, build_programs_nodep, -
246-
depend
251+
{- dependmagic('all'); -} : build_libs_nodep, build_engines_nodep, build_programs_nodep
252+
{- dependmagic('build_libs'); -} : build_libs_nodep
253+
{- dependmagic('build_engines'); -} : build_engines_nodep
254+
{- dependmagic('build_programs'); -} : build_programs_nodep
247255

248-
build_libs : build_generated, build_libs_nodep, depend
256+
build_generated : $(GENERATED_MANDATORY)
249257
build_libs_nodep : $(LIBS), $(SHLIBS)
250-
build_engines : build_generated, build_engines_nodep, depend
251258
build_engines_nodep : $(ENGINES)
252-
build_programs : build_generated, build_programs_nodep, depend
253259
build_programs_nodep : $(PROGRAMS), $(SCRIPTS)
254260

255-
build_generated : $(GENERATED_MANDATORY)
256-
257261
# Kept around for backward compatibility
258262
build_apps build_tests : build_programs
259263

260-
test tests : build_generated, build_programs_nodep, build_engines_nodep, -
261-
depend
264+
test : tests
265+
{- dependmagic('tests'); -} : build_programs_nodep, build_engines_nodep
262266
@ ! {- output_off() if $disabled{tests}; "" -}
263267
SET DEFAULT [.test]{- move("test") -}
264268
DEFINE SRCTOP {- sourcedir() -}

0 commit comments

Comments
 (0)