boringssl/include/openssl
David Benjamin 5267ef7b4a Reject unexpected application data in bidirectional shutdown.
Update-Note: This tweaks the SSL_shutdown behavior. OpenSSL's original
SSL_shutdown behavior was an incoherent mix of discarding the record and
rejecting it (it would return SSL_ERROR_SYSCALL but retrying the
operation would discard it). SSLeay appears to have intended to discard
it, so we previously "fixed" it actually discard.

However, this behavior is somewhat bizarre and means we skip over
unbounded data, which we typically try to avoid. If you are trying to
cleanly shutdown the TLS portion of your protocol, surely it is at a
point where additional data is a syntax error. I suspect I originally
did not realize that, because the discarded record did not properly
continue the loop, SSL_shutdown would appear as if it rejected the data,
and so it's unlikely anyone was relying on that behavior.

Discussion in https://github.com/openssl/openssl/pull/6340 suggests
(some of) upstream also prefers rejecting.

Change-Id: Icde419049306ed17eb06ce1a7e1ff587901166f3
Reviewed-on: https://boringssl-review.googlesource.com/28864
Commit-Queue: David Benjamin <davidben@google.com>
CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org>
Reviewed-by: Steven Valdez <svaldez@google.com>
2018-06-04 21:39:58 +00:00
..
aead.h Document the correct nonce length for AES-GCM. 2018-05-24 22:13:07 +00:00
aes.h
arm_arch.h
asn1_mac.h
asn1.h Use new encoding functions in ASN1_mbstring_ncopy. 2018-05-11 21:58:47 +00:00
asn1t.h
base64.h
base.h Bump BORINGSSL_API_VERSION. 2018-05-08 17:40:55 +00:00
bio.h Fix reference to nonexistent function. 2018-01-16 16:23:36 +00:00
blowfish.h
bn.h Require BN_mod_exp_mont* inputs be reduced. 2018-04-24 18:29:29 +00:00
buf.h
buffer.h
bytestring.h bytestring: document that |CBS_get_optional_asn1| can have a NULL output. 2018-03-19 20:22:25 +00:00
cast.h
chacha.h
cipher.h Add a Wycheproof driver for AES-CBC. 2018-05-02 19:41:48 +00:00
cmac.h Add some more compatibility functions. 2018-05-08 20:51:15 +00:00
conf.h
cpu.h Change OPENSSL_cpuid_setup to reserve more extended feature space. 2018-04-19 20:48:58 +00:00
crypto.h Return more placeholder version strings. 2018-05-15 22:57:30 +00:00
curve25519.h Fix typo. 2018-05-30 15:42:35 +00:00
des.h
dh.h
digest.h Match OpenSSL's EVP_MD_CTX_reset return value. 2018-05-29 17:07:16 +00:00
dsa.h
dtls1.h
e_os2.h Add a stub e_os2.h header. 2018-05-08 01:32:14 +00:00
ec_key.h Fold EC_KEY_copy into EC_KEY_dup. 2018-03-07 21:17:02 +00:00
ec.h More compatibility stuff. 2018-05-15 23:57:53 +00:00
ecdh.h
ecdsa.h
engine.h
err.h Add some more compatibility functions. 2018-05-08 20:51:15 +00:00
evp.h More compatibility stuff. 2018-05-15 23:57:53 +00:00
ex_data.h
hkdf.h
hmac.h
is_boringssl.h
lhash_macros.h
lhash.h
md4.h
md5.h
mem.h Remove redundant calls to |OPENSSL_cleanse| and |OPENSSL_realloc_clean|. 2017-09-18 19:16:51 +00:00
nid.h
obj_mac.h
obj.h Add some more compatibility functions. 2018-05-08 20:51:15 +00:00
objects.h
opensslconf.h
opensslv.h
ossl_typ.h
pem.h
pkcs7.h
pkcs8.h Add PKCS12_create. 2018-05-11 21:59:34 +00:00
pkcs12.h
poly1305.h
pool.h
rand.h
rc4.h
ripemd.h
rsa.h More compatibility stuff. 2018-05-15 23:57:53 +00:00
safestack.h
sha.h Add SHA256_TransformBlocks. 2018-04-25 17:51:50 +00:00
span.h Add runtime bounds checks to bssl::Span. 2018-04-16 16:26:33 +00:00
srtp.h
ssl3.h Preliminary support for compressed certificates. 2018-06-04 21:24:20 +00:00
ssl.h Reject unexpected application data in bidirectional shutdown. 2018-06-04 21:39:58 +00:00
stack.h Avoid modifying stack in sk_find. 2018-04-12 21:02:12 +00:00
thread.h
tls1.h Preliminary support for compressed certificates. 2018-06-04 21:24:20 +00:00
type_check.h
x509_vfy.h Add a bunch of X509_STORE getters and setters. 2018-05-11 21:59:58 +00:00
x509.h Add PKCS12_create. 2018-05-11 21:59:34 +00:00
x509v3.h Fix up AUTHORITY_INFO_ACCESS/ACCESS_DESCRIPTION's deleter. 2018-04-02 17:07:46 +00:00