Richard Levitte [Wed, 29 Jun 2016 20:51:42 +0000 (22:51 +0200)]
Make build.info INCLUDE stmts be both source and build tree relative
INCLUDE statements in build.info files were source tree centric. That
meant that to get include directory specs in the build tree, we had to
resort to perl fragments that specified the build tree include paths
as absolute ones.
This change has the INCLUDE statement consider both the source and
build tree for any include directory. It means that there may be some
extra unnecessary include paths, but it also makes life simpler for
anyone who makes changes in the build.info files.
Reviewed-by: Rich Salz <rsalz@openssl.org>
Dr. Stephen Henson [Fri, 1 Jul 2016 14:52:52 +0000 (15:52 +0100)]
fix 'set but not used' warning
Reviewed-by: Rich Salz <rsalz@openssl.org>
Kurt Roeckx [Fri, 1 Jul 2016 14:42:15 +0000 (16:42 +0200)]
Re-add x509 and crl fuzzer
Reviewed-by: Rich Salz <rsalz@openssl.org>
GH: #1276
Kurt Roeckx [Wed, 29 Jun 2016 09:45:51 +0000 (11:45 +0200)]
Add old locking constants back
Fixes #1260
Reviewed-by: Matt Caswell <matt@openssl.org>
GH: #1266
Kurt Roeckx [Wed, 29 Jun 2016 09:46:39 +0000 (11:46 +0200)]
Make CRYPTO_num_locks() return 1
malloc(0) might return NULL and code for the old callbacks might fail,
instead just say they should allocate 1 entry.
Reviewed-by: Matt Caswell <matt@openssl.org>
GH: #1266
mrpre [Fri, 1 Jul 2016 00:55:18 +0000 (08:55 +0800)]
fix code formatting
Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Rich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/1223)
mrpre [Thu, 16 Jun 2016 10:00:38 +0000 (18:00 +0800)]
add return value for expand
Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Rich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/1223)
Alessandro Ghedini [Thu, 30 Jun 2016 22:51:48 +0000 (23:51 +0100)]
Fix printing private EC_KEY
Reviewed-by: Kurt Roeckx <kurt@openssl.org>
Reviewed-by: Stephen Henson <steve@openssl.org>
Reviewed-by: Rich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/1273)
Viktor Szakats [Fri, 1 Jul 2016 11:40:33 +0000 (13:40 +0200)]
ssl.h: spelling in comment
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Rich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/1275)
Ben Laurie [Sat, 4 Jun 2016 15:10:49 +0000 (16:10 +0100)]
Run the fuzzing corpora as tests.
Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Rich Salz <rsalz@openssl.org>
Andy Polyakov [Thu, 30 Jun 2016 14:06:48 +0000 (16:06 +0200)]
SPARC assembly pack: enforce V8+ ABI constraints.
Reviewed-by: Richard Levitte <levitte@openssl.org>
Andy Polyakov [Thu, 30 Jun 2016 13:57:57 +0000 (15:57 +0200)]
SPARC assembly pack: enforce V8+ ABI constraints.
Even though it's hard to imagine, it turned out that upper half of
arguments passed to V8+ subroutine can be non-zero.
["n" pseudo-instructions, such as srln being srl in 32-bit case and
srlx in 64-bit one, were implemented in binutils 2.10. It's assumed
that Solaris assembler implemented it around same time, i.e. 2000.]
Reviewed-by: Richard Levitte <levitte@openssl.org>
Richard Levitte [Wed, 29 Jun 2016 22:10:21 +0000 (00:10 +0200)]
Windows: Recreate the $prefix variable
$prefix was removed as part of the DESTDIR work. However, it was
still used to create the ENGINESDIR_dev and ENGINESDIR_dir variables,
so a restoration is needed.
Reviewed-by: Rich Salz <rsalz@openssl.org>
FdaSilvaYY [Sat, 18 Jun 2016 13:05:24 +0000 (15:05 +0200)]
Constify a bit more OPENSSL_sk_ API
Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Rich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/1244)
FdaSilvaYY [Wed, 1 Jun 2016 22:59:34 +0000 (00:59 +0200)]
Use directly zalloc in OPENSSL_sk_dup and OPENSSL_sk_deep_copy
Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Rich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/1244)
Matt Caswell [Fri, 24 Jun 2016 22:37:27 +0000 (23:37 +0100)]
Convert memset calls to OPENSSL_cleanse
Ensure things really do get cleared when we intend them to.
Addresses an OCAP Audit issue.
Reviewed-by: Andy Polyakov <appro@openssl.org>
Matt Caswell [Mon, 27 Jun 2016 13:35:35 +0000 (14:35 +0100)]
Cleanup documentation for removed functionality
Remove some lingering references to removed functionality from docs.
Reviewed-by: Stephen Henson <steve@openssl.org>
Matt Caswell [Mon, 27 Jun 2016 11:28:32 +0000 (12:28 +0100)]
Add some compat macros for removed tmp RSA functions/macros
Commit
361a119 removed all ciphersuites that could support temporary
RSA keys, therefore the associated functions were removed. We should have
"no-op" compatibility macros for these.
Reviewed-by: Stephen Henson <steve@openssl.org>
Kurt Cancemi [Wed, 29 Jun 2016 11:03:28 +0000 (07:03 -0400)]
Fix hmac test case 6
Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Rich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/1267)
Rich Salz [Thu, 30 Jun 2016 12:51:16 +0000 (08:51 -0400)]
Restore clang builds in travis.yml
Reviewed-by: Richard Levitte <levitte@openssl.org>
Richard Levitte [Wed, 29 Jun 2016 23:23:36 +0000 (01:23 +0200)]
Remove the envvar hack to enable proxy cert processing
When the proxy cert code was initially added, some application authors
wanted to get them verified without having to change their code, so a
check of the env var OPENSSL_ALLOW_PROXY_CERTS was added.
Since then, the use of this variable has become irrelevant, as it's
likely that code has been changed since, so it's time it gets removed.
Reviewed-by: Tim Hudson <tjh@openssl.org>
FdaSilvaYY [Tue, 28 Jun 2016 20:51:51 +0000 (22:51 +0200)]
Whitespace cleanup in apps
Reviewed-by: Andy Polyakov <appro@openssl.org>
Reviewed-by: Kurt Roeckx <kurt@openssl.org>
Reviewed-by: Rich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/1264)
FdaSilvaYY [Tue, 28 Jun 2016 20:51:27 +0000 (22:51 +0200)]
Whitespace cleanup in ssl folder
Reviewed-by: Andy Polyakov <appro@openssl.org>
Reviewed-by: Kurt Roeckx <kurt@openssl.org>
Reviewed-by: Rich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/1264)
FdaSilvaYY [Tue, 28 Jun 2016 20:51:01 +0000 (22:51 +0200)]
Whitespace cleanup in crypto
Reviewed-by: Andy Polyakov <appro@openssl.org>
Reviewed-by: Kurt Roeckx <kurt@openssl.org>
Reviewed-by: Rich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/1264)
FdaSilvaYY [Tue, 28 Jun 2016 20:50:03 +0000 (22:50 +0200)]
Whitespace cleanup in docs
Reviewed-by: Andy Polyakov <appro@openssl.org>
Reviewed-by: Kurt Roeckx <kurt@openssl.org>
Reviewed-by: Rich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/1264)
FdaSilvaYY [Tue, 28 Jun 2016 20:39:55 +0000 (22:39 +0200)]
Spelling
Reviewed-by: Andy Polyakov <appro@openssl.org>
Reviewed-by: Kurt Roeckx <kurt@openssl.org>
Reviewed-by: Rich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/1264)
Ben Laurie [Sat, 25 Jun 2016 16:42:14 +0000 (17:42 +0100)]
Some interfaces may have IPv6 addresses even if an IPv6 address is not
"configured on the local system". Whatever that means. Example that is biting
me is loopback has ::1 as an address, but the network interface is v4 only.
Reviewed-by: Richard Levitte <levitte@openssl.org>
Alex Gaynor [Sun, 26 Jun 2016 14:37:03 +0000 (10:37 -0400)]
Add comment about X509_print
Signed-off-by: Kurt Roeckx <kurt@roeckx.be>
Reviewed-by: Emilia Kasper <emilia@openssl.org>
GH: #1255
Emilia Kasper [Mon, 20 Jun 2016 15:20:25 +0000 (17:20 +0200)]
SSL test framework: port SNI tests
Observe that the old tests were partly ill-defined:
setting sn_server1 but not sn_server2 in ssltest_old.c does not enable
the SNI callback.
Fix this, and also explicitly test both flavours of SNI mismatch (ignore
/ fatal alert). Tests still pass.
Reviewed-by: Rich Salz <rsalz@openssl.org>
Emilia Kasper [Tue, 28 Jun 2016 11:28:57 +0000 (13:28 +0200)]
base64 macro: parenthesize for clarity
Reviewed-by: Richard Levitte <levitte@openssl.org>
Richard Levitte [Tue, 28 Jun 2016 11:20:21 +0000 (13:20 +0200)]
Windows: Make DESTDIR work
DESTDIR can't be used on Windows the same way as on Unix, the device
part of the installation paths get in the way.
To remedy this, have INSTALLTOP, OPENSSLDIR and ENGINESDIR get
different values depending on if $(DESTDIR) is empty or not, and use
$(INSTALLTOP), $(OPENSSLDIR) and $(ENGINESDIR) alone.
Reviewed-by: Andy Polyakov <appro@openssl.org>
Richard Levitte [Tue, 28 Jun 2016 12:02:44 +0000 (14:02 +0200)]
Build files: don't generate empty action lines in generatedir()
Reviewed-by: Andy Polyakov <appro@openssl.org>
Roumen Petrov [Mon, 27 Jun 2016 19:24:07 +0000 (21:24 +0200)]
Use include paths to our source before any other cflags
This is just in case someone passed an inclusion path with the
configuration, and there are OpenSSL headers from another version
in there.
Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
Andy Polyakov [Sun, 26 Jun 2016 20:00:37 +0000 (22:00 +0200)]
engines/e_capi.c: accommodate recent DSA_SIG_[get|set]0 changes.
Reviewed-by: Rich Salz <rsalz@openssl.org>
Andy Polyakov [Sun, 26 Jun 2016 19:55:03 +0000 (21:55 +0200)]
rsa/rsa_lib.c: const-ify RSA_get0_engine().
Reviewed-by: Rich Salz <rsalz@openssl.org>
Andy Polyakov [Sun, 26 Jun 2016 16:20:39 +0000 (18:20 +0200)]
unix-Makefile.tmpl: omit lib<rary>.a updates from directory targets.
Since corresponding rule was removed from windows-makefile.tmpl out
of necessity, question popped if it's appropriate to harmonize even
unix-Makefile.tmpl. Note that as long as you work on single directory
'make lib<rary>.a' is effectively equivalent to 'make <dir/ectory>'
prior this modification.
Reviewed-by: Rich Salz <rsalz@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
Andy Polyakov [Sun, 26 Jun 2016 12:40:35 +0000 (14:40 +0200)]
windows-makefile.tmpl: don't use $? in library targets.
Problem with Microsoft lib.exe is that it doesn't *update* modules
in .lib archive, but creates new one upon every invocation. As result
if a source file was updated and nmake was executed, a useless archive
with only one module was created. In other words one has to always
pass all .obj modules on command line, not only recently recompiled.
[This also creates dilemma for directory targets, e.g. crypto\aes,
that were added to simplify every-day life for developer. Since
whole idea behind those targets is to minimize the re-compile time
upon single file modification, the only sensible thing to do is to
omit intended library update.]
Reviewed-by: Rich Salz <rsalz@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
Matt Caswell [Tue, 21 Jun 2016 15:33:52 +0000 (16:33 +0100)]
Add a test for fragmented alerts
The previous commit fixed a problem where fragmented alerts would cause an
infinite loop. This commit adds a test for these fragmented alerts.
Reviewed-by: Andy Polyakov <appro@openssl.org>
Matt Caswell [Tue, 21 Jun 2016 14:25:53 +0000 (15:25 +0100)]
Ensure read records are marked as read
In some situations (such as when we receive a fragment of an alert)
we try to get the next packet but did not mark the current one as read,
meaning that we got the same record back again - leading to an infinite
loop.
Found using the BoringSSL test suite.
Reviewed-by: Andy Polyakov <appro@openssl.org>
Rich Salz [Fri, 24 Jun 2016 13:49:51 +0000 (09:49 -0400)]
RT4586: Remove RSA_memory_lock; unused, not needed
Reviewed-by: Ben Laurie <ben@openssl.org>
Matt Caswell [Mon, 27 Jun 2016 10:51:50 +0000 (11:51 +0100)]
Fix one more instance of incorrect OPENSSL_API_COMPAT value
Reviewed-by: Richard Levitte <levitte@openssl.org>
Matt Caswell [Mon, 27 Jun 2016 10:28:29 +0000 (11:28 +0100)]
Fix some OPENSSL_API_COMPAT values
There are 3 OPENSSL_API_COMPAT values that are incorrect in the header
files, and one inconsistency between the header and the .c
Reviewed-by: Richard Levitte <levitte@openssl.org>
Brian Smith [Wed, 2 Mar 2016 06:16:26 +0000 (20:16 -1000)]
Clarify use of |$end0| in stitched x86-64 AES-GCM code.
There was some uncertainty about what the code is doing with |$end0|
and whether it was necessary for |$len| to be a multiple of 16 or 96.
Hopefully these added comments make it clear that the code is correct
except for the caveat regarding low memory addresses.
Change-Id: Iea546a59dc7aeb400f50ac5d2d7b9cb88ace9027
Reviewed-on: https://boringssl-review.googlesource.com/7194
Reviewed-by: Adam Langley <agl@google.com>
Signed-off-by: Andy Polyakov <appro@openssl.org>
Reviewed-by: Rich Salz <rsalz@openssl.org>
Andy Polyakov [Sun, 26 Jun 2016 17:08:51 +0000 (19:08 +0200)]
Configurations/10-main.conf: fix PA-RISC commentary.
Reviewed-by: Rich Salz <rsalz@openssl.org>
Andy Polyakov [Mon, 20 Jun 2016 09:11:25 +0000 (11:11 +0200)]
evp/evp_enc.c: refine partial buffer overlap detection.
Reviewed-by: Matt Caswell <matt@openssl.org>
Andy Polyakov [Fri, 17 Jun 2016 11:55:01 +0000 (13:55 +0200)]
evp/evp_enc.c: check for partially[!] overlapping buffers
in EVP_EncryptUpdate and EVP_DecryptUpdate. It is argued that in
general case it's impossible to provide guarantee that partially[!]
overlapping buffers can be tolerated.
Reviewed-by: Matt Caswell <matt@openssl.org>
Rich Salz [Sun, 26 Jun 2016 18:34:00 +0000 (14:34 -0400)]
RT2680: Public EC key is shown as private
Re-implemented as suggested by Steve Henson.
Also change ECParameters_print the same way.
Reviewed-by: Dr. Stephen Henson <steve@openssl.org>
Rich Salz [Sun, 26 Jun 2016 13:24:49 +0000 (09:24 -0400)]
RT2964: Fix it via doc
OBJ_nid2obj() and friends should be treated as const.
Reviewed-by: Dr. Stephen Henson <steve@openssl.org>
Rich Salz [Sun, 26 Jun 2016 02:08:21 +0000 (22:08 -0400)]
Revert "RT2964: Fix it via doc"
This reverts commit
82f31fe4dd0dac30229fa8684229b49d2bcef404.
Reviewed-by: Dr. Stephen Henson <steve@openssl.org>
Rich Salz [Sat, 25 Jun 2016 18:51:53 +0000 (14:51 -0400)]
RT2964: Fix it via doc
OBJ_nid2obj() and friends should be treated as const.
Reviewed-by: Dr. Stephen Henson <steve@openssl.org>
David Benjamin [Fri, 24 Jun 2016 15:07:52 +0000 (11:07 -0400)]
Handle BN_mod_word failures.
As of
37258dadaa9e36db4b96a3aa54aa6c67136160cc and the corresponding upstream
change, BN_mod_word may fail, like BN_div_word. Handle this properly. Thanks to
Brian Smith for pointing this out. See BoringSSL's
44bedc348d9491e63c7ed1438db100a4b8a830be.
Signed-off-by: Kurt Roeckx <kurt@roeckx.be>
Reviewed-by: Rich Salz <rsalz@openssl.org>
GH: #1251
David Benjamin [Fri, 24 Jun 2016 15:05:48 +0000 (11:05 -0400)]
Fix BN_is_prime* calls.
This function returns a tri-state -1 on error. See BoringSSL's
53409ee3d7595ed37da472bc73b010cd2c8a5ffd.
Signed-off-by: Kurt Roeckx <kurt@roeckx.be>
Reviewed-by: Rich Salz <rsalz@openssl.org>
GH: #1251
Kurt Roeckx [Tue, 21 Jun 2016 19:38:06 +0000 (21:38 +0200)]
Add x509 and crl corpora
Reviewed-by: Rich Salz <rsalz@openssl.org>
GH: #1229
Kurt Roeckx [Sat, 18 Jun 2016 13:56:49 +0000 (15:56 +0200)]
Add X509 and CRL fuzzer
Reviewed-by: Rich Salz <rsalz@openssl.org>
GH: #1229
Rich Salz [Fri, 24 Jun 2016 20:38:08 +0000 (16:38 -0400)]
Add -ciphers flag to enc command
Don't print the full list of ciphers as part of the -help output.
Reviewed-by: Andy Polyakov <appro@openssl.org>
Andy Polyakov [Thu, 23 Jun 2016 13:49:20 +0000 (15:49 +0200)]
perlasm/x86_64-xlate.pl: address errors and warnings in elderly perls.
Reviewed-by: Rich Salz <rsalz@openssl.org>
Andy Polyakov [Thu, 23 Jun 2016 14:04:37 +0000 (16:04 +0200)]
./config: minor cleanup.
Reviewed-by: Rich Salz <rsalz@openssl.org>
Andy Polyakov [Thu, 23 Jun 2016 13:52:02 +0000 (15:52 +0200)]
./config: detect x32-only environment.
RT#4583
Reviewed-by: Rich Salz <rsalz@openssl.org>
Nathaniel McCallum [Mon, 20 Jun 2016 07:47:11 +0000 (03:47 -0400)]
Teach EVP_PKEY_HMAC keys how to EVP_PKEY_cmp()
Fixes openssl/openssl#1236
Reviewed-by: Kurt Roeckx <kurt@openssl.org>
Reviewed-by: Rich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/1237)
Kurt Roeckx [Thu, 23 Jun 2016 07:37:51 +0000 (09:37 +0200)]
Avoid signed overflow
Found by afl
Reviewed-by: Rich Salz <rsalz@openssl.org>
MR: #3013
Ben Laurie [Fri, 24 Jun 2016 12:34:51 +0000 (13:34 +0100)]
Deal with API changes.
Reviewed-by: Rich Salz <rsalz@openssl.org>
Matt Caswell [Fri, 24 Jun 2016 09:31:08 +0000 (10:31 +0100)]
Ensure HMAC key gets cleansed after use
aesni_cbc_hmac_sha256_ctrl() and aesni_cbc_hmac_sha1_ctrl() cleanse the
HMAC key after use, but static int rc4_hmac_md5_ctrl() doesn't.
Fixes an OCAP Audit issue.
Reviewed-by: Andy Polyakov <appro@openssl.org>
Matt Caswell [Mon, 20 Jun 2016 08:28:25 +0000 (09:28 +0100)]
Add some documentation for missing HMAC functions
This includes the newly added HMAC_CTX_get_md().
Reviewed-by: Tim Hudson <tjh@openssl.org>
Matt Caswell [Mon, 20 Jun 2016 08:08:10 +0000 (09:08 +0100)]
Add a getter to obtain the HMAC_CTX md
As a result of opaque HMAC_CTX apps need a getter for the HMAC_CTX md.
GitHub Issue #1152
Reviewed-by: Tim Hudson <tjh@openssl.org>
Matt Caswell [Thu, 23 Jun 2016 18:54:06 +0000 (19:54 +0100)]
Fix ASN1_STRING_to_UTF8 could not convert NumericString
tag2nbyte had -1 at 18th position, but underlying ASN1_mbstring_copy
supports NumericString. tag2nbyte is also used in do_print_ex which will
not be broken by setting 1 at 18th position of tag2nbyte
Reviewed-by: Stephen Henson <steve@openssl.org>
huangqinjin [Thu, 23 Jun 2016 15:51:08 +0000 (23:51 +0800)]
Make x25519_compute_key() return a boolean
Reviewed-by: Rich Salz <rsalz@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
huangqinjin [Fri, 17 Jun 2016 12:55:15 +0000 (20:55 +0800)]
Make ossl_ecdh_compute_key() return a boolean
Reviewed-by: Rich Salz <rsalz@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
Sebastian Andrzej Siewior [Fri, 10 Jun 2016 18:04:51 +0000 (20:04 +0200)]
utils/mkdir-p: check if dir exists also after mkdir failed
with "make install -j8" it happens very often that two or more make
instances are creating the same directory in parallel. As a result one
instace creates the directory and second mkdir fails because the
directory exists already (but it did not while testing for it earlier).
Signed-off-by: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Rich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/1204)
Rich Salz [Thu, 23 Jun 2016 14:03:50 +0000 (10:03 -0400)]
RT2867: des_ede3_cfb1 ignored "size in bits" flag
Code and tests by Steve.
Reviewed-by: Dr. Stephen Henson <steve@openssl.org>
Reviewed-by: Rich Salz <rsalz@openssl.org>
Viktor Dukhovni [Thu, 23 Jun 2016 13:28:34 +0000 (23:28 +1000)]
Drop extraneous printf argument in mkcert.sh
Reviewed-by: Rich Salz <rsalz@openssl.org>
Kurt Roeckx [Wed, 15 Jun 2016 18:27:04 +0000 (20:27 +0200)]
Update fuzz corpora
Reviewed-by: Rich Salz <rsalz@openssl.org>
MR: #2986
FdaSilvaYY [Fri, 3 Jun 2016 22:15:19 +0000 (00:15 +0200)]
Add checks on sk_TYPE_push() returned result
Reviewed-by: Rich Salz <rsalz@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
FdaSilvaYY [Sun, 29 May 2016 12:32:23 +0000 (14:32 +0200)]
Rework error handling from asn1_do_lock method.
Reviewed-by: Rich Salz <rsalz@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
Dr. Stephen Henson [Wed, 22 Jun 2016 17:09:42 +0000 (18:09 +0100)]
Fix generation of expired CA certificate.
Reviewed-by: Richard Levitte <levitte@openssl.org>
Richard Levitte [Wed, 22 Jun 2016 11:39:46 +0000 (13:39 +0200)]
OpenSSL::Test: Fix directory calculations in __cwd()
The previous fix contained a mistake, where any absolute path in
%directories would be cleared away instead of just being left alone.
Reviewed-by: Rich Salz <rsalz@openssl.org>
Andy Polyakov [Tue, 21 Jun 2016 13:28:23 +0000 (15:28 +0200)]
rand/randfile.c: make it non-ASCII-savvy.
Reviewed-by: Richard Levitte <levitte@openssl.org>
Andy Polyakov [Tue, 21 Jun 2016 13:26:18 +0000 (15:26 +0200)]
Move OS-specific fopen quirks to o_fopen.c.
Reviewed-by: Richard Levitte <levitte@openssl.org>
Andy Polyakov [Fri, 17 Jun 2016 14:09:38 +0000 (16:09 +0200)]
crypto/cryptlib.c: omit OPENSSL_ia32cap_loc().
Reviewed-by: Rich Salz <rsalz@openssl.org>
FdaSilvaYY [Sun, 19 Jun 2016 17:39:01 +0000 (19:39 +0200)]
Spelling... and more spelling
Reviewed-by: Kurt Roeckx <kurt@openssl.org>
Reviewed-by: Rich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/1245)
mmiyashita [Tue, 21 Jun 2016 18:01:30 +0000 (11:01 -0700)]
segmentation fault with 'openssl s_client -prexit -keymatexport'
Reviewed-by: Kurt Roeckx <kurt@openssl.org>
Reviewed-by: Rich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/1243)
Kurt Roeckx [Sat, 18 Jun 2016 17:50:11 +0000 (19:50 +0200)]
Avoid creating an illegal pointer.
Found by tis-interpreter
Reviewed-by: Rich Salz <rsalz@openssl.org>
GH: #1230
David Benjamin [Thu, 16 Jun 2016 18:15:19 +0000 (14:15 -0400)]
Make RSA key exchange code actually constant-time.
Using RSA_PKCS1_PADDING with RSA_private_decrypt is inherently unsafe.
The API requires writing output on success and touching the error queue
on error. Thus, although the padding check itself is constant-time as of
294d1e36c2495ff00e697c9ff622856d3114f14f, and the logic after the
decryption in the SSL code is constant-time as of
adb46dbc6dd7347750df2468c93e8c34bcb93a4b, the API boundary in the middle
still leaks whether the padding check succeeded, giving us our
much-loved Bleichenbacher padding oracle.
Instead, PKCS#1 padding must be handled by the caller which uses
RSA_NO_PADDING, in timing-sensitive code integrated with the
Bleichenbacher mitigation. Removing PKCS#1 padding in constant time is
actually much simpler when the expected length is a constant (and if
it's not a constant, avoiding a padding oracle seems unlikely), so just
do it inline.
Signed-off-by: Kurt Roeckx <kurt@roeckx.be>
Reviewed-by: Rich Salz <rsalz@openssl.org>
GH: #1222
Kurt Roeckx [Sun, 19 Jun 2016 12:16:16 +0000 (14:16 +0200)]
buf2hexstr: properly deal with empty string
It wrote before the start of the string
found by afl
Reviewed-by: Richard Levitte <levitte@openssl.org>
MR: #2994
Petr Vaněk [Tue, 21 Jun 2016 11:30:54 +0000 (13:30 +0200)]
Fix typo
Reviewed-by: Kurt Roeckx <kurt@openssl.org>
Reviewed-by: Rich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/1241)
Richard Levitte [Thu, 2 Jun 2016 15:37:26 +0000 (17:37 +0200)]
Appveyor: test install as well, via a fake deploy_script
Reviewed-by: Matt Caswell <matt@openssl.org>
Richard Levitte [Thu, 2 Jun 2016 15:37:03 +0000 (17:37 +0200)]
Travis: When testing install, install docs as well
Reviewed-by: Matt Caswell <matt@openssl.org>
Richard Levitte [Mon, 20 Jun 2016 12:03:12 +0000 (14:03 +0200)]
OpenSSL::Test: Fix directory calculations in __cwd()
We recalculate the location of the directories we keep track of.
However, we did so after having moved to the new directory already, so
the data we did the calculations from were possibly not quite correct.
This change moves the calculations to happen before moving to the new
directory.
This issue is sporadic, and possibly dependent on the platform.
Reviewed-by: Matt Caswell <matt@openssl.org>
Rich Salz [Tue, 21 Jun 2016 11:03:34 +0000 (07:03 -0400)]
More doc cleanup
Add missing entries to NAME section
Add SYNOPSIS lines, remove old NAME entries
Update find-doc-nits; better regexp's for parsing SYNOPSIS sections.
Rename a couple of files to have an API name.
Remove RSA_private_decrypt; it was duplicate content
Update for recent doc additions
Reviewed-by: Matt Caswell <matt@openssl.org>
Rich Salz [Mon, 20 Jun 2016 14:06:25 +0000 (10:06 -0400)]
Avoid using latest clang since repo not available
Reviewed-by: Richard Levitte <levitte@openssl.org>
David Benjamin [Mon, 20 Jun 2016 19:05:06 +0000 (15:05 -0400)]
Make arm-xlate.pl set use strict.
It was already nearly clean. Just one undeclared variable.
Reviewed-by: Andy Polyakov <appro@openssl.org>
Reviewed-by: Rich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/1240)
Richard Levitte [Sun, 19 Jun 2016 08:56:37 +0000 (10:56 +0200)]
Add verification of proxy certs to 25-test_verify.t
Reviewed-by: Rich Salz <rsalz@openssl.org>
Reviewed-by: Stephen Henson <steve@openssl.org>
Richard Levitte [Sun, 19 Jun 2016 08:56:23 +0000 (10:56 +0200)]
Create some proxy certificates
Reviewed-by: Rich Salz <rsalz@openssl.org>
Reviewed-by: Stephen Henson <steve@openssl.org>
Richard Levitte [Sun, 19 Jun 2016 08:56:09 +0000 (10:56 +0200)]
Make it possible to generate proxy certs with test/certs/mkcert.sh
This extends 'req' to take more than one DN component, and to take
them as full DN components and not just CN values. All other commands
are changed to pass "CN = $cn" instead of just a CN value.
This adds 'genpc', which differs from the other 'gen*' commands by not
calling 'req', and expect the result from 'req' to come through stdin.
Finally, test/certs/setup.sh gets the commands needed to generate a
few proxy certificates.
Reviewed-by: Rich Salz <rsalz@openssl.org>
Reviewed-by: Stephen Henson <steve@openssl.org>
Richard Levitte [Sun, 19 Jun 2016 08:55:59 +0000 (10:55 +0200)]
make update
Reviewed-by: Rich Salz <rsalz@openssl.org>
Reviewed-by: Stephen Henson <steve@openssl.org>
Richard Levitte [Sun, 19 Jun 2016 08:55:43 +0000 (10:55 +0200)]
Allow proxy certs to be present when verifying a chain
Reviewed-by: Rich Salz <rsalz@openssl.org>
Reviewed-by: Stephen Henson <steve@openssl.org>
Richard Levitte [Sun, 19 Jun 2016 08:55:29 +0000 (10:55 +0200)]
Fix proxy certificate pathlength verification
While travelling up the certificate chain, the internal
proxy_path_length must be updated with the pCPathLengthConstraint
value, or verification will not work properly. This corresponds to
RFC 3820, 4.1.4 (a).
Reviewed-by: Rich Salz <rsalz@openssl.org>
Reviewed-by: Stephen Henson <steve@openssl.org>
Richard Levitte [Sun, 19 Jun 2016 08:55:16 +0000 (10:55 +0200)]
Check that the subject name in a proxy cert complies to RFC 3820
The subject name MUST be the same as the issuer name, with a single CN
entry added.
RT#1852
Reviewed-by: Rich Salz <rsalz@openssl.org>
Reviewed-by: Stephen Henson <steve@openssl.org>
Dr. Matthias St. Pierre [Mon, 20 Jun 2016 17:39:28 +0000 (13:39 -0400)]
RT3925: Remove trailing semi from macro
Reviewed-by: Andy Polyakov <appro@openssl.org>
Richard Levitte [Mon, 20 Jun 2016 18:07:13 +0000 (20:07 +0200)]
apps/req.c: Increment the right variable when parsing '+'
Reviewed-by: Rich Salz <rsalz@openssl.org>
Kurt Cancemi [Fri, 10 Jun 2016 01:57:36 +0000 (21:57 -0400)]
Remove pointless free loop in X509_TRUST_cleanup()
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Rich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/1194)