Commit 08c45438 authored by wuhu@google.com's avatar wuhu@google.com

disables android java.net SSL certificate check needed for webpage

record & replay to work with AGSA

BUG=396157

Review URL: https://codereview.chromium.org/423213006

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@288114 0039d316-1c4b-4281-b951-d872f2087c98
parent 058dd155
...@@ -11,7 +11,6 @@ import time ...@@ -11,7 +11,6 @@ import time
from telemetry.core import exceptions from telemetry.core import exceptions
from telemetry.core import forwarders from telemetry.core import forwarders
from telemetry.core import platform
from telemetry.core import util from telemetry.core import util
from telemetry.core.backends import adb_commands from telemetry.core.backends import adb_commands
from telemetry.core.backends import browser_backend from telemetry.core.backends import browser_backend
...@@ -26,13 +25,14 @@ from pylib.device import intent # pylint: disable=F0401 ...@@ -26,13 +25,14 @@ from pylib.device import intent # pylint: disable=F0401
class AndroidBrowserBackendSettings(object): class AndroidBrowserBackendSettings(object):
def __init__(self, adb, activity, cmdline_file, package, pseudo_exec_name, def __init__(self, adb, activity, cmdline_file, package, pseudo_exec_name,
supports_tab_control): supports_tab_control, relax_ssl_check=False):
self.adb = adb self.adb = adb
self.activity = activity self.activity = activity
self.cmdline_file = cmdline_file self.cmdline_file = cmdline_file
self.package = package self.package = package
self.pseudo_exec_name = pseudo_exec_name self.pseudo_exec_name = pseudo_exec_name
self.supports_tab_control = supports_tab_control self.supports_tab_control = supports_tab_control
self.relax_ssl_check = relax_ssl_check
def GetDevtoolsRemotePort(self): def GetDevtoolsRemotePort(self):
raise NotImplementedError() raise NotImplementedError()
...@@ -185,6 +185,7 @@ class AndroidBrowserBackend(chrome_browser_backend.ChromeBrowserBackend): ...@@ -185,6 +185,7 @@ class AndroidBrowserBackend(chrome_browser_backend.ChromeBrowserBackend):
self._backend_settings = backend_settings self._backend_settings = backend_settings
self._saved_cmdline = '' self._saved_cmdline = ''
self._target_arch = target_arch self._target_arch = target_arch
self._saved_sslflag = ''
# TODO(tonyg): This is flaky because it doesn't reserve the port that it # TODO(tonyg): This is flaky because it doesn't reserve the port that it
# allocates. Need to fix this. # allocates. Need to fix this.
...@@ -202,9 +203,8 @@ class AndroidBrowserBackend(chrome_browser_backend.ChromeBrowserBackend): ...@@ -202,9 +203,8 @@ class AndroidBrowserBackend(chrome_browser_backend.ChromeBrowserBackend):
self._forwarder_factory = android_forwarder.AndroidForwarderFactory( self._forwarder_factory = android_forwarder.AndroidForwarderFactory(
self._adb, use_rndis_forwarder) self._adb, use_rndis_forwarder)
if (self.browser_options.netsim or if self.browser_options.netsim or use_rndis_forwarder:
platform.GetHostPlatform().GetOSName() == 'mac'): assert use_rndis_forwarder, 'Netsim requires RNDIS forwarding.'
assert use_rndis_forwarder, 'Netsim and/or Mac require RNDIS forwarding.'
self.wpr_port_pairs = forwarders.PortPairs( self.wpr_port_pairs = forwarders.PortPairs(
http=forwarders.PortPair(0, 80), http=forwarders.PortPair(0, 80),
https=forwarders.PortPair(0, 443), https=forwarders.PortPair(0, 443),
...@@ -265,6 +265,14 @@ class AndroidBrowserBackend(chrome_browser_backend.ChromeBrowserBackend): ...@@ -265,6 +265,14 @@ class AndroidBrowserBackend(chrome_browser_backend.ChromeBrowserBackend):
def Start(self): def Start(self):
self._SetUpCommandLine() self._SetUpCommandLine()
# Disables android.net SSL certificate check. This is necessary for
# applications using the android.net stack to work with proxy HTTPS server
# created by telemetry
if self._backend_settings.relax_ssl_check:
self._saved_sslflag = self._adb.device().GetProp('socket.relaxsslcheck')
self._adb.device().SetProp('socket.relaxsslcheck', 'yes')
self._adb.device().RunShellCommand('logcat -c') self._adb.device().RunShellCommand('logcat -c')
if self.browser_options.startup_url: if self.browser_options.startup_url:
url = self.browser_options.startup_url url = self.browser_options.startup_url
...@@ -361,6 +369,10 @@ class AndroidBrowserBackend(chrome_browser_backend.ChromeBrowserBackend): ...@@ -361,6 +369,10 @@ class AndroidBrowserBackend(chrome_browser_backend.ChromeBrowserBackend):
super(AndroidBrowserBackend, self).Close() super(AndroidBrowserBackend, self).Close()
self._adb.device().ForceStop(self._backend_settings.package) self._adb.device().ForceStop(self._backend_settings.package)
# Restore android.net SSL check
if self._backend_settings.relax_ssl_check:
self._adb.device().SetProp('socket.relaxsslcheck', self._saved_sslflag)
if self._output_profile_path: if self._output_profile_path:
logging.info("Pulling profile directory from device: '%s'->'%s'.", logging.info("Pulling profile directory from device: '%s'->'%s'.",
self._backend_settings.profile_dir, self._backend_settings.profile_dir,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment