Cleanup of how we use BIO/BIO_METHODs
authorAnirudh Ramachandran <avr@fb.com>
Wed, 6 Jul 2016 16:57:59 +0000 (09:57 -0700)
committerFacebook Github Bot 6 <facebook-github-bot-6-bot@fb.com>
Wed, 6 Jul 2016 17:08:25 +0000 (10:08 -0700)
commit57cdfdf743fd8498680094964e16a81e28858ffe
tree38109dcf31fb43b31773dd0d649d12d74ed41f7b
parentad2f872bf354b62dbde66937da096565ef9ed663
Cleanup of how we use BIO/BIO_METHODs

Summary:
AsyncSSLSocket's eorAwareBioWrite does some invasive stuff like
reaching into a BIO and replacing its method (and the 'write' funcptr). This
approach won't work with OpenSSL 1.1.0 or BoringSSL due to API changes and
structs being made opaque. This diff adds a layer of wrappers for some BIO
operations. Note that this is still only tested on 1.0.2

Reviewed By: siyengar

Differential Revision: D3338861

fbshipit-source-id: 2ac9318b0df1709873511bfde0fa85d87c5dd29a
folly/io/async/AsyncSSLSocket.cpp
folly/io/async/ssl/OpenSSLUtils.cpp
folly/io/async/ssl/OpenSSLUtils.h