Fix for browser crash on loading HTTPS sites
authorChandan Padhi <c.padhi@samsung.com>
Fri, 21 Oct 2016 13:26:44 +0000 (18:56 +0530)
committerYoungsoo Choi <kenshin.choi@samsung.com>
Tue, 10 Jul 2018 07:55:23 +0000 (07:55 +0000)
CTVerifier and CTPolicyEnforcer were not set for URLRequestContext.
This resulted in failure of CHECKs in SSLClientSocketImpl ctor.

Bug: http://suprem.sec.samsung.net/jira/browse/TWF-2310

Reviewed by: g.czajkowski, sns.park

Change-Id: I21498162e2c34a0cc1c5aeb0c1771b0185bb189d
Signed-off-by: Chandan Padhi <c.padhi@samsung.com>
tizen_src/ewk/efl_integration/url_request_context_getter_efl.cc

index f74aecc..4b4dae1 100644 (file)
@@ -17,6 +17,8 @@
 #include "components/network_session_configurator/switches.h"
 #include "net/base/cache_type.h"
 #include "net/cert/cert_verifier.h"
+#include "net/cert/ct_policy_enforcer.h"
+#include "net/cert/multi_log_ct_verifier.h"
 #include "net/dns/host_resolver.h"
 #include "net/dns/mapped_host_resolver.h"
 #include "net/extras/sqlite/sqlite_persistent_cookie_store.h"
@@ -119,6 +121,10 @@ net::URLRequestContext* URLRequestContextGetterEfl::GetURLRequestContext() {
     storage_->set_cert_verifier(net::CertVerifier::CreateDefault());
     storage_->set_transport_security_state(
         base::WrapUnique(new net::TransportSecurityState));
+    storage_->set_cert_transparency_verifier(
+        base::WrapUnique(new net::MultiLogCTVerifier));
+    storage_->set_ct_policy_enforcer(
+        base::WrapUnique(new net::CTPolicyEnforcer));
 
     // TODO(jam): use v8 if possible, look at chrome code.
     storage_->set_proxy_service(
@@ -156,6 +162,10 @@ net::URLRequestContext* URLRequestContextGetterEfl::GetURLRequestContext() {
         url_request_context_->cert_verifier();
     network_session_params.transport_security_state =
         url_request_context_->transport_security_state();
+    network_session_params.cert_transparency_verifier =
+        url_request_context_->cert_transparency_verifier();
+    network_session_params.ct_policy_enforcer =
+        url_request_context_->ct_policy_enforcer();
     network_session_params.channel_id_service =
         url_request_context_->channel_id_service();
     network_session_params.proxy_service =