boringssl/crypto/bio
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
..
bio_mem.c Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
bio_test.cc Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
bio.c Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
buffer.c Don't chain to next_bio for buffer BIO BIO_[w]pending. 2016-12-21 23:08:22 +00:00
CMakeLists.txt
connect.c Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
fd.c Wrap MSVC-only warning pragmas in a macro. 2016-06-09 21:29:36 +00:00
file.c
hexdump.c Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
internal.h Wrap MSVC-only warning pragmas in a macro. 2016-06-09 21:29:36 +00:00
pair.c Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
printf.c
socket_helper.c Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
socket.c Place comment(lib, *) pragmas under OPENSSL_MSVC_PRAGMA. 2016-10-10 19:25:55 +00:00