Refactor OpenSSLSessionCache out of OpenSSLAdapterFactory.

This changeset refactors the OpenSSLSessionCache out of the Factory. Instead of
directly injecting a pointer to the factory to each OpenSSLAdapter instead just
a pointer to the OpenSSLSessionCache is submitted which the Factory is the sole
owner of. This provides a cleaner dependency injection interface and allows the
OpenSSLSessionCache to be tested independently of the factory that uses it. It
also allows for the factories role to be more clearly defined allowing for
additional dependency injection in future updates.

This change also removes the habit of having OpenSSL typedefs around certain
functions and instead uses the standardised ossl_typ.h header which contains
these typedefs. This makes the headers more directly tied to just what they are
responsible for doing.

Bug: webrtc:9085
Change-Id: I7938178b70acc613856139d387a1b46928dca6ad
Reviewed-on: https://webrtc-review.googlesource.com/66941
Commit-Queue: Benjamin Wright <benwright@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22758}
This commit is contained in:
Benjamin Wright
2018-04-05 15:39:06 -07:00
committed by Commit Bot
parent fd350d74ee
commit 19aab2ee7c
8 changed files with 258 additions and 75 deletions

View File

@ -861,6 +861,8 @@ rtc_static_library("rtc_base_generic") {
"openssldigest.h",
"opensslidentity.cc",
"opensslidentity.h",
"opensslsessioncache.cc",
"opensslsessioncache.h",
"opensslstreamadapter.cc",
"opensslstreamadapter.h",
"physicalsocketserver.cc",
@ -1359,6 +1361,7 @@ if (rtc_include_tests) {
sources += [
"openssladapter_unittest.cc",
"opensslcommon_unittest.cc",
"opensslsessioncache_unittest.cc",
"ssladapter_unittest.cc",
"sslidentity_unittest.cc",
"sslstreamadapter_unittest.cc",