boringssl/crypto
David Benjamin 80aa694975 Always push errors on BIO_read_asn1 failure.
This is consistent with the old behavior of d2i_*_fp and avoids tripping
Conscrypt's unnecessarily fragile error-handling (see
https://github.com/google/conscrypt/pull/552).

Additionally, by source inspection, CPython expects
ASN1_R_HEADER_TOO_LONG on EOF, analogously to PEM_R_NO_START_LINE. Fix
that. The other errors are a bit haphazard in the old implementation
(that code is really hard to follow), so I didn't match it too
carefully. In particular, OpenSSL would report ASN1_R_HEADER_TOO_LONG on
some generic tag parsing, but that is inconsistent with
ASN1_R_HEADER_TOO_LONG being an EOF signal.

Update-Note: https://boringssl-review.googlesource.com/32106 may have
caused some compatibility issues. This should fix it.

Change-Id: Idfe2746ffd7733de4338e14c58a40753e98a791e
Reviewed-on: https://boringssl-review.googlesource.com/c/32444
Reviewed-by: Steven Valdez <svaldez@google.com>
Commit-Queue: David Benjamin <davidben@google.com>
CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org>
2018-10-11 19:53:15 +00:00
..
asn1 Fix undefined function pointer casts in {d2i,i2d}_Foo_{bio,fp} 2018-10-01 17:34:53 +00:00
base64 Flatten most of the crypto target. 2018-09-05 23:41:25 +00:00
bio Always push errors on BIO_read_asn1 failure. 2018-10-11 19:53:15 +00:00
bn_extra Replace BIO_new + BIO_set_fp with BIO_new_fp. 2018-09-26 17:21:08 +00:00
buf Flatten most of the crypto target. 2018-09-05 23:41:25 +00:00
bytestring Flatten most of the crypto target. 2018-09-05 23:41:25 +00:00
chacha Flatten most of the crypto target. 2018-09-05 23:41:25 +00:00
cipher_extra Flatten most of the crypto target. 2018-09-05 23:41:25 +00:00
cmac Flatten most of the crypto target. 2018-09-05 23:41:25 +00:00
conf Opaquify CONF. 2018-10-01 23:56:19 +00:00
curve25519 Automatically disable assembly with MSAN. 2018-09-07 21:12:37 +00:00
dh Flatten most of the crypto target. 2018-09-05 23:41:25 +00:00
digest_extra Flatten most of the crypto target. 2018-09-05 23:41:25 +00:00
dsa Flatten most of the crypto target. 2018-09-05 23:41:25 +00:00
ec_extra Flatten most of the crypto target. 2018-09-05 23:41:25 +00:00
ecdh_extra Flatten most of the crypto target. 2018-09-05 23:41:25 +00:00
ecdsa_extra Flatten most of the crypto target. 2018-09-05 23:41:25 +00:00
engine Flatten most of the crypto target. 2018-09-05 23:41:25 +00:00
err Push an error on sigalg mismatch in X509_verify. 2018-09-19 03:44:50 +00:00
evp Flatten most of the crypto target. 2018-09-05 23:41:25 +00:00
fipsmodule Fix div.c to divide BN_ULLONG only if BN_CAN_DIVIDE_ULLONG defined. 2018-10-10 15:33:35 +00:00
hkdf Flatten most of the crypto target. 2018-09-05 23:41:25 +00:00
hmac_extra
lhash Flatten most of the crypto target. 2018-09-05 23:41:25 +00:00
obj Flatten most of the crypto target. 2018-09-05 23:41:25 +00:00
pem Rewrite PEM_X509_INFO_read_bio. 2018-10-01 17:35:10 +00:00
perlasm Don't include quotes in heredocs. 2018-09-14 16:51:00 +00:00
pkcs7 Fix undefined function pointer casts in {d2i,i2d}_Foo_{bio,fp} 2018-10-01 17:34:53 +00:00
pkcs8 Fix undefined function pointer casts in {d2i,i2d}_Foo_{bio,fp} 2018-10-01 17:34:53 +00:00
poly1305 Automatically disable assembly with MSAN. 2018-09-07 21:12:37 +00:00
pool Rename OPENSSL_NO_THREADS, part 1. 2018-09-26 19:10:02 +00:00
rand_extra Disable RandTest.Fork on iOS. 2018-09-28 15:42:18 +00:00
rc4 Flatten most of the crypto target. 2018-09-05 23:41:25 +00:00
rsa_extra Rename OPENSSL_NO_THREADS, part 1. 2018-09-26 19:10:02 +00:00
stack Test the binary search more aggressively. 2018-10-02 00:02:19 +00:00
test Add some RAND_bytes tests. 2018-09-06 23:54:57 +00:00
x509 Always push errors on BIO_read_asn1 failure. 2018-10-11 19:53:15 +00:00
x509v3 Fix undefined function pointer casts in {d2i,i2d}_Foo_{bio,fp} 2018-10-01 17:34:53 +00:00
CMakeLists.txt Add a test for STACK_OF(T). 2018-09-26 23:28:50 +00:00
compiler_test.cc
constant_time_test.cc Add a test for CRYPTO_memcmp. 2018-03-27 16:22:47 +00:00
cpu-aarch64-fuchsia.c Add cpu-aarch64-fuchsia.c 2018-02-13 20:12:47 +00:00
cpu-aarch64-linux.c Add cpu-aarch64-fuchsia.c 2018-02-13 20:12:47 +00:00
cpu-arm-linux_test.cc Fix GCC (8.2.1) build error. 2018-09-06 15:38:11 +00:00
cpu-arm-linux.c Fix corner case in cpuinfo parser. 2018-09-05 00:00:14 +00:00
cpu-arm-linux.h Fix corner case in cpuinfo parser. 2018-09-05 00:00:14 +00:00
cpu-arm.c
cpu-intel.c Change OPENSSL_cpuid_setup to reserve more extended feature space. 2018-04-19 20:48:58 +00:00
cpu-ppc64le.c
crypto.c Automatically disable assembly with MSAN. 2018-09-07 21:12:37 +00:00
ex_data.c
internal.h Rename OPENSSL_NO_THREADS, part 1. 2018-09-26 19:10:02 +00:00
mem.c Use sdallocx, if available, when deallocating. 2018-09-17 21:02:59 +00:00
refcount_c11.c
refcount_lock.c
refcount_test.cc Rename OPENSSL_NO_THREADS, part 1. 2018-09-26 19:10:02 +00:00
self_test.cc
thread_none.c Rename OPENSSL_NO_THREADS, part 1. 2018-09-26 19:10:02 +00:00
thread_pthread.c Delete |pthread_key_t| on dlclose. 2018-02-20 19:53:24 +00:00
thread_test.cc Rename OPENSSL_NO_THREADS, part 1. 2018-09-26 19:10:02 +00:00
thread_win.c Reland "Fix bssl client/server's error-handling." 2018-05-07 17:19:59 +00:00
thread.c