diff options
author | jamiewalch@chromium.org <jamiewalch@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-06-04 06:26:01 +0000 |
---|---|---|
committer | jamiewalch@chromium.org <jamiewalch@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-06-04 06:26:01 +0000 |
commit | 8835692aa95097e2df4a2ec2b2db4768578b06a0 (patch) | |
tree | 3eb40c08525740259ff976b617befdacad442541 /remoting/host/client_session.h | |
parent | de1bb9caab81d7a80dac9ebe59a5ea2aa56048dd (diff) | |
download | chromium_src-8835692aa95097e2df4a2ec2b2db4768578b06a0.zip chromium_src-8835692aa95097e2df4a2ec2b2db4768578b06a0.tar.gz chromium_src-8835692aa95097e2df4a2ec2b2db4768578b06a0.tar.bz2 |
This CL adds the "request pairing" implementation between the web-app and the host. Specifically:
* Adds a pairing registry to the Chromoting host.
* Checks the state of the "remember me" checkbox and sends a pairing request if needed.
* Adds the plumbing to get that request to host, and to get the response back to the web-app.
* Saves the pairing response to local storage, and uses it next time we connect.
* Uses Base64 throughout for the secret, since unencoded random strings can't be serialized via PPAPI.
Note that pairing is still disabled because we're still missing per-platform Delegate implementations, a UI for revoking pairings, and policy support for disabling the feature.
BUG=156182
Review URL: https://chromiumcodereview.appspot.com/16137004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@203865 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'remoting/host/client_session.h')
-rw-r--r-- | remoting/host/client_session.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/remoting/host/client_session.h b/remoting/host/client_session.h index add2a0a..0c29029 100644 --- a/remoting/host/client_session.h +++ b/remoting/host/client_session.h @@ -24,6 +24,7 @@ #include "remoting/protocol/input_event_tracker.h" #include "remoting/protocol/input_filter.h" #include "remoting/protocol/input_stub.h" +#include "remoting/protocol/pairing_registry.h" #include "third_party/skia/include/core/SkPoint.h" #include "third_party/skia/include/core/SkSize.h" @@ -95,7 +96,8 @@ class ClientSession scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner, scoped_ptr<protocol::ConnectionToClient> connection, DesktopEnvironmentFactory* desktop_environment_factory, - const base::TimeDelta& max_duration); + const base::TimeDelta& max_duration, + scoped_refptr<protocol::PairingRegistry> pairing_registry); virtual ~ClientSession(); // protocol::HostStub interface. @@ -107,6 +109,8 @@ class ClientSession const protocol::AudioControl& audio_control) OVERRIDE; virtual void SetCapabilities( const protocol::Capabilities& capabilities) OVERRIDE; + virtual void RequestPairing( + const remoting::protocol::PairingRequest& pairing_request) OVERRIDE; // protocol::ConnectionToClient::EventHandler interface. virtual void OnConnectionAuthenticated( @@ -224,6 +228,9 @@ class ClientSession // Used to apply client-requested changes in screen resolution. scoped_ptr<ScreenControls> screen_controls_; + // The pairing registry for PIN-less authentication. + scoped_refptr<protocol::PairingRegistry> pairing_registry_; + DISALLOW_COPY_AND_ASSIGN(ClientSession); }; |