openssl/crypto
Matt Caswell 7d461736f7 Revert BN_copy() flag copy semantics change
Commit 9f9442918a changed the semantics of BN_copy() to additionally
copy the BN_FLG_CONSTTIME flag if it is set. This turns out to be
ill advised as it has unintended consequences. For example calling
BN_mod_inverse_no_branch() can sometimes return a result with the flag
set and sometimes not as a result. This can lead to later failures if we
go down code branches that do not support constant time, but check for
the presence of the flag.

The original commit was made due to an issue in BN_MOD_CTX_set(). The
original PR fixed the problem in that function, but it was changed in
review to fix it in BN_copy() instead. The solution seems to be to revert
the BN_copy() change and go back to the originally proposed way.

Reviewed-by: Paul Dale <paul.dale@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/5080)
2018-01-16 15:19:01 +00:00
..
aes Update copyright years on all files merged since Jan 1st 2018 2018-01-09 05:49:01 +01:00
aria Fix potential null problem. 2017-09-01 09:30:18 +10:00
asn1 Fix invalid function type casts. 2017-12-15 19:33:48 +01:00
async Consistent formatting for sizeof(foo) 2017-12-07 19:11:49 -05:00
bf Remove parentheses of return. 2017-10-18 16:05:06 +01:00
bio Update copyright years on all files merged since Jan 1st 2018 2018-01-09 05:49:01 +01:00
blake2 Remove parentheses of return. 2017-10-18 16:05:06 +01:00
bn Revert BN_copy() flag copy semantics change 2018-01-16 15:19:01 +00:00
buffer Remove parentheses of return. 2017-10-18 16:05:06 +01:00
camellia Many spelling fixes/typo's corrected. 2017-11-11 19:03:10 -05:00
cast e_os.h removal from other headers and source files. 2017-08-30 07:20:43 +10:00
chacha chacha/asm/chacha-x86_64.pl: add AVX512VL code path. 2017-12-08 12:57:49 +01:00
cmac
cms Check for malloc failure 2017-11-27 14:47:42 -05:00
comp Add comments to NULL func ptrs in bio_method_st 2017-12-18 07:04:48 +10:00
conf Resolve warnings in VC-WIN32 build, which allows to add /WX. 2017-11-13 10:58:57 +01:00
ct Null pointer used. 2017-09-18 06:52:13 +10:00
des Fix minor 'the the' typos 2018-01-02 15:30:22 +00:00
dh Support public key and param check in EVP interface 2017-11-20 07:20:30 +01:00
dsa Check return value of OBJ_nid2obj in dsa_pub_encode. 2017-11-03 15:46:51 +01:00
dso Remove parentheses of return. 2017-10-18 16:05:06 +01:00
ec Fix --strict-warnings with C90 2018-01-09 10:46:44 -05:00
engine crypto/engine/eng_list.c: compare getenv rv to NULL instead of 0 2018-01-08 13:22:16 -05:00
err ec/ecp_nistz256.c: improve ECDSA sign by 30-40%. 2018-01-07 21:31:37 +01:00
evp Update copyright years on all files merged since Jan 1st 2018 2018-01-09 05:49:01 +01:00
hmac
idea Remove parentheses of return. 2017-10-18 16:05:06 +01:00
include/internal Support public key and param check in EVP interface 2017-11-20 07:20:30 +01:00
kdf
lhash lhash.c: Replace Unicode EN DASH with the ASCII char '-'. 2017-11-11 12:44:09 +01:00
md2 Remove parentheses of return. 2017-10-18 16:05:06 +01:00
md4 Remove parentheses of return. 2017-10-18 16:05:06 +01:00
md5 Remove parentheses of return. 2017-10-18 16:05:06 +01:00
mdc2 Remove parentheses of return. 2017-10-18 16:05:06 +01:00
modes fix compile error 'intrinsic function not declared' 2018-01-08 12:51:45 -05:00
objects Fix an incoherent test. 2017-12-08 10:25:38 -05:00
ocsp Fix more OCSP_resp_get0_signer() nits 2017-12-12 16:46:11 -06:00
pem Remove parentheses of return. 2017-10-18 16:05:06 +01:00
perlasm Update copyright years on all files merged since Jan 1st 2018 2018-01-09 05:49:01 +01:00
pkcs7 Remove parentheses of return. 2017-10-18 16:05:06 +01:00
pkcs12 Add checks for alloc failing. 2017-09-06 09:52:16 -04:00
poly1305 poly1305/asm/poly1305-x86_64.pl: add Knights Landing AVX512 result. 2017-12-23 16:06:25 +01:00
rand Fix memory leak in do_rand_drbg_init() 2018-01-16 08:38:13 -06:00
rc2 Remove email addresses from source code. 2017-10-13 10:06:59 -04:00
rc4 Many spelling fixes/typo's corrected. 2017-11-11 19:03:10 -05:00
rc5
ripemd Remove parentheses of return. 2017-10-18 16:05:06 +01:00
rsa Minor cleanup of the rsa mp limits code 2017-12-13 17:29:01 +01:00
seed
sha Add sha/asm/keccak1600-avx512vl.pl. 2017-12-22 12:38:40 +01:00
siphash Remove email addresses from source code. 2017-10-13 10:06:59 -04:00
sm3 SM3: restructure to EVP internal and update doc to right location 2017-11-06 07:21:15 +08:00
sm4 SM4: Add SM4 block cipher to EVP 2017-10-31 15:19:14 +10:00
srp Remove custom base64 code. 2017-08-22 11:03:32 -04:00
stack Add sk_TYPE_new_reserve() function 2017-10-26 09:35:36 +10:00
store Address some code-analysis issues. 2017-12-08 10:49:41 -05:00
ts struct timeval include guards 2017-09-01 09:55:43 +10:00
txt_db Remove parentheses of return. 2017-10-18 16:05:06 +01:00
ui Removre comment with user's name 2017-11-08 10:37:52 -05:00
whrlpool Remove parentheses of return. 2017-10-18 16:05:06 +01:00
x509 Update copyright years on all files merged since Jan 1st 2018 2018-01-09 05:49:01 +01:00
x509v3 Consistent formatting for sizeof(foo) 2017-12-07 19:11:49 -05:00
alphacpuid.pl
arm64cpuid.pl
arm_arch.h Many spelling fixes/typo's corrected. 2017-11-11 19:03:10 -05:00
armcap.c Create a prototype for OPENSSL_rdtsc 2017-11-25 14:30:11 +01:00
armv4cpuid.pl
build.info s390x assembly pack: add KMA code path for aes-gcm. 2018-01-07 21:51:57 +01:00
c64xpluscpuid.pl Many spelling fixes/typo's corrected. 2017-11-11 19:03:10 -05:00
cpt_err.c
cryptlib.c OPENSSL_ia32cap: reserve for new extensions. 2017-11-08 21:45:16 +01:00
ctype.c Check for EOF in ASCII conversions. 2017-08-25 06:42:17 +10:00
cversion.c Fix SOURCE_DATE_EPOCH bug; use UTC 2017-11-27 14:34:14 -05:00
dllmain.c Remove parentheses of return. 2017-10-18 16:05:06 +01:00
ebcdic.c Remove email addresses from source code. 2017-10-13 10:06:59 -04:00
ex_data.c Remove unnecessary #include <openssl/lhash.h> directives. 2017-09-29 07:38:56 +10:00
ia64cpuid.S
init.c Various small build improvements on mkdef.pl, progs.pl, crypto/init.c, crypto/mem.c 2018-01-09 04:02:34 +01:00
LPdir_nyi.c
LPdir_unix.c
LPdir_vms.c
LPdir_win.c
LPdir_win32.c
LPdir_wince.c
mem.c Various small build improvements on mkdef.pl, progs.pl, crypto/init.c, crypto/mem.c 2018-01-09 04:02:34 +01:00
mem_clr.c
mem_dbg.c Add CRYPTO_get_alloc_counts. 2017-10-12 22:04:12 -04:00
mem_sec.c Consistent formatting for sizeof(foo) 2017-12-07 19:11:49 -05:00
mips_arch.h
o_dir.c Move e_os.h to be the very first include. 2017-08-30 07:20:44 +10:00
o_fips.c
o_fopen.c
o_init.c Use "" not <> on e_os.h include 2017-08-22 11:07:56 -04:00
o_str.c Revert "GH614: Use memcpy()/strdup() when possible" 2017-09-14 10:26:54 +10:00
o_time.c
pariscid.pl
ppc_arch.h
ppccap.c
ppccpuid.pl
s390x_arch.h Update copyright years on all files merged since Jan 1st 2018 2018-01-09 05:49:01 +01:00
s390xcap.c s390x assembly pack: extend s390x capability vector. 2017-10-30 14:31:32 +01:00
s390xcpuid.pl Update copyright years on all files merged since Jan 1st 2018 2018-01-09 05:49:01 +01:00
sparc_arch.h
sparccpuid.S
sparcv9cap.c Create a prototype for OPENSSL_rdtsc 2017-11-25 14:30:11 +01:00
threads_none.c Add atomic write call 2017-10-10 08:45:53 +10:00
threads_pthread.c Return a value from atomic read on Windows. 2017-10-11 09:47:54 +10:00
threads_win.c Return a value from atomic read on Windows. 2017-10-11 09:47:54 +10:00
uid.c
vms_rms.h
x86_64cpuid.pl crypto/x86_64cpuid.pl: suppress AVX512F flag on Skylake-X. 2017-12-08 12:57:09 +01:00
x86cpuid.pl Many spelling fixes/typo's corrected. 2017-11-11 19:03:10 -05:00