boringssl/crypto
David Benjamin c7df7967fa Don't chain to next_bio for buffer BIO BIO_[w]pending.
Chaining doesn't make much sense. This means we have a discontinuity
when buffer BIOs are empty. For a general filter BIO, this isn't even
meaningful. E.g., the base64 BIO's next_bio doesn't use the same units

(There's one consumer which does call BIO_pending on a base64 BIO, hits
this case, and is only working on accident, I've left it alone for this
CL until we can fix that consumer.)

The DTLS code, notably, assumes BIO_wpending to only report what's in
the buffer BIO. Ideally we'd get rid of the buffer BIO (I'll work on
this next), but, in the meantime, get the sizing right. The immediate
motivation is ssl_test using a BIO pair for DTLS doesn't work.  We've
just been lucky none of the tests have been near the MTU.

The buffer BIO is actually unused outside of the SSL stack, so this
shouldn't break external consumers. But for the base64 BIO consumer
mentioned above, I see nothing else which relies on this BIO_[w]pending
chaining.

Change-Id: I6764df8ede0f89fe73c774a8f7c9ae4c054d4184
Reviewed-on: https://boringssl-review.googlesource.com/12964
Reviewed-by: Adam Langley <agl@google.com>
2016-12-21 23:08:22 +00:00
..
aes Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
asn1 Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
base64 Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
bio Don't chain to next_bio for buffer BIO BIO_[w]pending. 2016-12-21 23:08:22 +00:00
bn Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
buf Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
bytestring Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
chacha Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
cipher Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
cmac Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
conf Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
curve25519 Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
des Fix up macros. 2016-10-18 18:28:23 +00:00
dh Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
digest Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
dsa Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
ec Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
ecdh Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
ecdsa Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
engine Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
err Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
evp Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
hkdf Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
hmac Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
lhash Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
md4 Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
md5 Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
modes Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
obj Reimplement objects.pl in Go. 2016-12-21 22:14:13 +00:00
pem Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
perlasm perlasm/x86_64-xlate.pl: refine sign extension in ea package. 2016-12-14 17:36:29 +00:00
pkcs8 Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
poly1305 Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
pool Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
rand Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
rc4 Simplify RC4 code and remove assembly. 2016-08-30 15:32:31 +00:00
rsa Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
sha Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
stack Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
test Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
x509 Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
x509v3 Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
CMakeLists.txt Remove New Hope key agreement. 2016-12-10 01:06:31 +00:00
constant_time_test.c
cpu-aarch64-linux.c Rewrite ARM feature detection. 2016-03-26 04:54:44 +00:00
cpu-arm-linux.c Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
cpu-arm.c Rewrite ARM feature detection. 2016-03-26 04:54:44 +00:00
cpu-intel.c Wrap MSVC-only warning pragmas in a macro. 2016-06-09 21:29:36 +00:00
cpu-ppc64le.c Add PPC64LE assembly for AES-GCM. 2016-09-27 18:43:20 +00:00
crypto.c Add PPC64LE assembly for AES-GCM. 2016-09-27 18:43:20 +00:00
ex_data.c Use C99 for size_t loops. 2016-09-12 19:44:24 +00:00
internal.h Fix comment on OPENSSL_memcmp, etc. 2016-12-21 21:47:24 +00:00
mem.c Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
refcount_c11.c
refcount_lock.c Split unlock functions into read/write variants. 2016-05-31 21:09:29 +00:00
refcount_test.c
thread_none.c Split unlock functions into read/write variants. 2016-05-31 21:09:29 +00:00
thread_pthread.c Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
thread_test.c Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
thread_win.c Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
thread.c Remove a bunch of unnecessary includes. 2016-06-28 20:31:14 +00:00
time_support.c