Re-work the OpenSSL portability header to be a portability header
authorChristopher Dykes <cdykes@fb.com>
Mon, 10 Apr 2017 18:10:21 +0000 (11:10 -0700)
committerFacebook Github Bot <facebook-github-bot@users.noreply.github.com>
Mon, 10 Apr 2017 18:20:12 +0000 (11:20 -0700)
commit9783dc4e7cfa938f1c33666ec0a31c204dff60ed
tree4949b7307271c415354c616bf3ed2226818ca611
parent46b709bc7780303b5fefd4bbbaf67b9f268d4865
Re-work the OpenSSL portability header to be a portability header

Summary:
It was defining the same functions as OpenSSL, but it was putting them in the `folly::ssl` namespace and requiring a manual `use namespace` everywhere to actually be able to use it. Proper portability headers require no interaction to function correctly other than including them in the build.
This adjusts it so including it is all that is required to get an OpenSSL 1.1.0 compatible API.
This also re-organizes the code to significantly lower the amount of nesting in the `#if`'s, and puts it in order from oldest APIs to newest, rather than haphazard.

Reviewed By: yfeldblum

Differential Revision: D4856784

fbshipit-source-id: 7c00fdf4a3e51e37287d2b1ef294046f38a96a43
folly/portability/OpenSSL.cpp
folly/portability/OpenSSL.h