mbedtls/library
Andres AG 8136e824b3 Fix verify out flags from x509_crt_verify_top()
This change fixes a regression introduced by an earlier commit that
modified x509_crt_verify_top() to ensure that valid certificates
that are after past or future valid in the chain are processed. However
the change introduced a change in behaviour that caused the
verification flags MBEDTLS_X509_BADCERT_EXPIRED and
MBEDTLS_BADCERT_FUTURE to always be set whenever there is a failure in
the verification regardless of the cause.

The fix maintains both behaviours:
  * Ensure that valid certificates after future and past are verified
  * Ensure that the correct verification flags are set.

To do so, a temporary pointer to the first future or past valid
certificate is maintained while traversing the chain. If a truly valid
certificate is found then that one is used, otherwise if no valid
certificate is found and the end of the chain is reached, the program
reverts back to using the future or past valid certificate.
2017-01-20 16:38:15 +00:00
..
.gitignore Split libs with make + general make cleanups 2015-06-25 10:59:56 +02:00
aes.c Change main license to Apache 2.0 2015-09-04 14:21:07 +02:00
aesni.c Change main license to Apache 2.0 2015-09-04 14:21:07 +02:00
arc4.c Change main license to Apache 2.0 2015-09-04 14:21:07 +02:00
asn1parse.c Fix 1 byte overread in mbedtls_asn1_get_int() 2016-10-12 17:45:29 +01:00
asn1write.c Fix potential double free in cert writing code 2015-12-10 11:24:35 +01:00
base64.c Fix references to non-standard SIZE_T_MAX 2015-10-05 15:23:11 +01:00
bignum.c Improved on the previous fix and added a test case to cover both types 2016-01-08 14:48:01 +01:00
blowfish.c Change main license to Apache 2.0 2015-09-04 14:21:07 +02:00
camellia.c Change main license to Apache 2.0 2015-09-04 14:21:07 +02:00
ccm.c Change main license to Apache 2.0 2015-09-04 14:21:07 +02:00
certs.c Change main license to Apache 2.0 2015-09-04 14:21:07 +02:00
cipher.c Change main license to Apache 2.0 2015-09-04 14:21:07 +02:00
cipher_wrap.c Change main license to Apache 2.0 2015-09-04 14:21:07 +02:00
CMakeLists.txt Update library version number to 2.1.6 2016-10-17 15:44:26 +01:00
ctr_drbg.c Change main license to Apache 2.0 2015-09-04 14:21:07 +02:00
debug.c Fix macroization of inline in C++ 2015-10-05 11:41:36 +01:00
des.c Change main license to Apache 2.0 2015-09-04 14:21:07 +02:00
dhm.c Change main license to Apache 2.0 2015-09-04 14:21:07 +02:00
ecdh.c Change main license to Apache 2.0 2015-09-04 14:21:07 +02:00
ecdsa.c Change main license to Apache 2.0 2015-09-04 14:21:07 +02:00
ecp.c Optimize more common cases in ecp_muladd() 2015-10-27 10:30:36 +01:00
ecp_curves.c Fix macroization of inline in C++ 2015-10-05 11:41:36 +01:00
entropy.c Change main license to Apache 2.0 2015-09-04 14:21:07 +02:00
entropy_poll.c Change main license to Apache 2.0 2015-09-04 14:21:07 +02:00
error.c DTLS: avoid dropping too many records 2015-12-03 19:22:55 +01:00
gcm.c Fix documentation for mbedtls_gcm_finish() 2016-10-12 19:54:07 +01:00
havege.c Change main license to Apache 2.0 2015-09-04 14:21:07 +02:00
hmac_drbg.c Change main license to Apache 2.0 2015-09-04 14:21:07 +02:00
Makefile Make ar invocation more portable 2016-01-08 14:52:14 +01:00
md.c Change main license to Apache 2.0 2015-09-04 14:21:07 +02:00
md2.c Change main license to Apache 2.0 2015-09-04 14:21:07 +02:00
md4.c Change main license to Apache 2.0 2015-09-04 14:21:07 +02:00
md5.c Change main license to Apache 2.0 2015-09-04 14:21:07 +02:00
md_wrap.c Change main license to Apache 2.0 2015-09-04 14:21:07 +02:00
memory_buffer_alloc.c Fixes memory leak in memory_buffer_alloc.c debug 2016-05-05 17:51:09 +01:00
net.c Fix compile error in net.c with musl libc 2015-10-05 12:17:49 +01:00
oid.c Fix typo in an OID name 2015-11-02 05:58:10 +09:00
padlock.c Change main license to Apache 2.0 2015-09-04 14:21:07 +02:00
pem.c Merge of IOTSSL-476 - Random malloc in pem_read() 2015-10-05 00:26:36 +01:00
pk.c Change main license to Apache 2.0 2015-09-04 14:21:07 +02:00
pk_wrap.c Change main license to Apache 2.0 2015-09-04 14:21:07 +02:00
pkcs5.c Change main license to Apache 2.0 2015-09-04 14:21:07 +02:00
pkcs11.c Change main license to Apache 2.0 2015-09-04 14:21:07 +02:00
pkcs12.c Fix stack buffer overflow in pkcs12 2015-09-28 19:47:50 +02:00
pkparse.c Change main license to Apache 2.0 2015-09-04 14:21:07 +02:00
pkwrite.c Fix other occurrences of same bounds check issue 2015-11-02 10:43:03 +09:00
platform.c Change main license to Apache 2.0 2015-09-04 14:21:07 +02:00
ripemd160.c Change main license to Apache 2.0 2015-09-04 14:21:07 +02:00
rsa.c Merge branch for fix for #502 - Unchecked calls 2016-10-14 01:03:11 +01:00
sha1.c Change main license to Apache 2.0 2015-09-04 14:21:07 +02:00
sha256.c Change main license to Apache 2.0 2015-09-04 14:21:07 +02:00
sha512.c Change main license to Apache 2.0 2015-09-04 14:21:07 +02:00
ssl_cache.c Change main license to Apache 2.0 2015-09-04 14:21:07 +02:00
ssl_ciphersuites.c Change main license to Apache 2.0 2015-09-04 14:21:07 +02:00
ssl_cli.c Fix overread when verifying SERVER_HELLO in DTLS 2016-10-13 15:43:46 +01:00
ssl_cookie.c Change main license to Apache 2.0 2015-09-04 14:21:07 +02:00
ssl_srv.c Fix guards in SSL for ECDH key exchanges 2016-09-05 12:26:04 +03:00
ssl_ticket.c Change main license to Apache 2.0 2015-09-04 14:21:07 +02:00
ssl_tls.c Remove MBEDTLS_SSL_AEAD_RANDOM_IV feature 2016-10-13 10:35:34 +01:00
threading.c Add safety check to sample mutex implementation 2016-10-11 10:40:42 +01:00
timing.c Change main license to Apache 2.0 2015-09-04 14:21:07 +02:00
version.c Change main license to Apache 2.0 2015-09-04 14:21:07 +02:00
version_features.c Remove MBEDTLS_SSL_AEAD_RANDOM_IV feature 2016-10-13 10:35:34 +01:00
x509.c Add check for validity of date in x509_get_time() 2016-10-13 16:24:12 +01:00
x509_create.c Fix other occurrences of same bounds check issue 2015-11-02 10:43:03 +09:00
x509_crl.c Change main license to Apache 2.0 2015-09-04 14:21:07 +02:00
x509_crt.c Fix verify out flags from x509_crt_verify_top() 2017-01-20 16:38:15 +00:00
x509_csr.c Change main license to Apache 2.0 2015-09-04 14:21:07 +02:00
x509write_crt.c Add missing bounds check in X509 DER write funcs 2016-10-11 16:52:06 +01:00
x509write_csr.c Add missing bounds check in X509 DER write funcs 2016-10-11 16:52:06 +01:00
xtea.c Change main license to Apache 2.0 2015-09-04 14:21:07 +02:00