Add OpenSSL portability layer
Summary:
Enable folly to build with OpenSSL alternatives (e.g., BoringSSL).
Some SSL-related tests are disabled:
- Async session cache ones (BoringSSL has an async cache impl but with a different API)
- TFO tests
- Some changes to error tests which expect specific error strings. This is
flaky as a test because it will break everytime even within a version, so we
should fix that first.
This should be a noop for OpenSSL 1.0.2.
BoringSSL commit used is
35c8afd3143289c99aa3820e01950c564d7aced8 (10/26/2016)
Closes: https://github.com/facebook/folly/issues/198
Reviewed By: siyengar
Differential Revision:
D3280382
fbshipit-source-id:
4141d992e0d8dd797ac4af479cfe90844a23278f