New issue
Advanced search Search tips

Issue 591739 link

Starred by 1 user

Issue metadata

Status: Verified
Owner:
Closed: Jul 2016
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug



Sign in to add a comment

[Host] Update GnubbyExtensionHandler Impls to use an IO thread

Project Member Reported by joedow@chromium.org, Mar 3 2016

Issue description

The previous implementations of the GnubbyAuthHandler class were created and owned by the ClientSession class.  All methods were executed on the same thread as the ClientSession.  

Now that GnubbyAuthHandler runs in a host extension, we should look at executing its IO on a separate thread/task runner.  

That would allow us to remove our ScopedAllowIO hack in the linux impl and allow us to perform our IPC communication on the new thread for Mac/Windows.

 

Comment 1 by joedow@chromium.org, Apr 15 2016

Components: Services>Chromoting
Project Member

Comment 2 by bugdroid1@chromium.org, Jul 26 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a6a4b6a1fd3a1dee72e8d03d460cd0c5f8d182d9

commit a6a4b6a1fd3a1dee72e8d03d460cd0c5f8d182d9
Author: joedow <joedow@chromium.org>
Date: Tue Jul 26 00:29:04 2016

Removing 'AllowScopedIO' exception from SecurityKeyAuthHandlerLinux

This change updates the SecurityKeyAuthHandlerLinux class to run its
socket operations on a task_runner which allows blocking IO.

The first part of the change is plumbing through the file_task_runner
from the Me2Me host (which owns the context with the task runners)
down to the auth handler class which requires it.

The second part of the change was to move the file delete operation
to the file thread and then post back to the main thread.

I've also updated the unit tests for the affected class since it now
needs to handle synchronization between two threads.

BUG= 591739 
R=sergeyu@chromium.org
TBR=dpranke@chromium.org

Review-Url: https://codereview.chromium.org/2168303003
Cr-Commit-Position: refs/heads/master@{#407649}

[modify] https://crrev.com/a6a4b6a1fd3a1dee72e8d03d460cd0c5f8d182d9/PRESUBMIT.py
[modify] https://crrev.com/a6a4b6a1fd3a1dee72e8d03d460cd0c5f8d182d9/remoting/host/chromoting_host.cc
[modify] https://crrev.com/a6a4b6a1fd3a1dee72e8d03d460cd0c5f8d182d9/remoting/host/remoting_me2me_host.cc
[modify] https://crrev.com/a6a4b6a1fd3a1dee72e8d03d460cd0c5f8d182d9/remoting/host/security_key/security_key_auth_handler.h
[modify] https://crrev.com/a6a4b6a1fd3a1dee72e8d03d460cd0c5f8d182d9/remoting/host/security_key/security_key_auth_handler_android.cc
[modify] https://crrev.com/a6a4b6a1fd3a1dee72e8d03d460cd0c5f8d182d9/remoting/host/security_key/security_key_auth_handler_linux.cc
[modify] https://crrev.com/a6a4b6a1fd3a1dee72e8d03d460cd0c5f8d182d9/remoting/host/security_key/security_key_auth_handler_linux_unittest.cc
[modify] https://crrev.com/a6a4b6a1fd3a1dee72e8d03d460cd0c5f8d182d9/remoting/host/security_key/security_key_auth_handler_mac.cc
[modify] https://crrev.com/a6a4b6a1fd3a1dee72e8d03d460cd0c5f8d182d9/remoting/host/security_key/security_key_auth_handler_win.cc
[modify] https://crrev.com/a6a4b6a1fd3a1dee72e8d03d460cd0c5f8d182d9/remoting/host/security_key/security_key_auth_handler_win_unittest.cc
[modify] https://crrev.com/a6a4b6a1fd3a1dee72e8d03d460cd0c5f8d182d9/remoting/host/security_key/security_key_extension.cc
[modify] https://crrev.com/a6a4b6a1fd3a1dee72e8d03d460cd0c5f8d182d9/remoting/host/security_key/security_key_extension.h
[modify] https://crrev.com/a6a4b6a1fd3a1dee72e8d03d460cd0c5f8d182d9/remoting/host/security_key/security_key_extension_session.cc
[modify] https://crrev.com/a6a4b6a1fd3a1dee72e8d03d460cd0c5f8d182d9/remoting/host/security_key/security_key_extension_session.h
[modify] https://crrev.com/a6a4b6a1fd3a1dee72e8d03d460cd0c5f8d182d9/remoting/host/security_key/security_key_extension_session_unittest.cc

Comment 3 by joedow@chromium.org, Jul 26 2016

Status: Fixed (was: Assigned)

Comment 4 by joedow@chromium.org, Jul 26 2016

Status: Verified (was: Fixed)

Sign in to add a comment