| Index: remoting/host/remoting_me2me_host.cc
|
| diff --git a/remoting/host/remoting_me2me_host.cc b/remoting/host/remoting_me2me_host.cc
|
| index 5e1790075a975f5b2193856d20ea79b364501905..6c2b1cbc7239262235b72765b0d3b29c83248c96 100644
|
| --- a/remoting/host/remoting_me2me_host.cc
|
| +++ b/remoting/host/remoting_me2me_host.cc
|
| @@ -110,10 +110,10 @@ class HostProcess {
|
| private:
|
| // Read Host config from disk, returning true if successful.
|
| bool LoadConfig(base::MessageLoopProxy* io_message_loop) {
|
| - scoped_refptr<remoting::JsonHostConfig> host_config =
|
| - new remoting::JsonHostConfig(host_config_path_, io_message_loop);
|
| - scoped_refptr<remoting::JsonHostConfig> auth_config =
|
| - new remoting::JsonHostConfig(auth_config_path_, io_message_loop);
|
| + scoped_refptr<JsonHostConfig> host_config =
|
| + new JsonHostConfig(host_config_path_, io_message_loop);
|
| + scoped_refptr<JsonHostConfig> auth_config =
|
| + new JsonHostConfig(auth_config_path_, io_message_loop);
|
|
|
| std::string failed_path;
|
| if (!host_config->Read()) {
|
| @@ -135,6 +135,17 @@ class HostProcess {
|
| return false;
|
| }
|
|
|
| + std::string host_secret_hash_string;
|
| + if (!host_config->GetString(kHostSecretHashConfigPath,
|
| + &host_secret_hash_string)) {
|
| + host_secret_hash_string = "plain:";
|
| + }
|
| +
|
| + if (!host_secret_hash_.Parse(host_secret_hash_string)) {
|
| + LOG(ERROR) << "Invalid host_secret_hash.";
|
| + return false;
|
| + }
|
| +
|
| // Use an XMPP connection to the Talk network for session signalling.
|
| if (!auth_config->GetString(kXmppLoginConfigPath, &xmpp_login_) ||
|
| !auth_config->GetString(kXmppAuthTokenConfigPath, &xmpp_auth_token_)) {
|
| @@ -142,13 +153,13 @@ class HostProcess {
|
| return false;
|
| }
|
|
|
| - if (!auth_config->GetString(remoting::kXmppAuthServiceConfigPath,
|
| - &xmpp_auth_service_)) {
|
| + if (!auth_config->GetString(kXmppAuthServiceConfigPath,
|
| + &xmpp_auth_service_)) {
|
| // For the me2me host, we assume we use the ClientLogin token for
|
| // chromiumsync because we do not have an HTTP stack with which we can
|
| // easily request an OAuth2 access token even if we had a RefreshToken for
|
| // the account.
|
| - xmpp_auth_service_ = remoting::kChromotingTokenDefaultServiceName;
|
| + xmpp_auth_service_ = kChromotingTokenDefaultServiceName;
|
| }
|
|
|
| return true;
|
| @@ -183,19 +194,16 @@ class HostProcess {
|
| host_->Start();
|
|
|
| // Create authenticator factory.
|
| - //
|
| - // TODO(sergeyu): Currently empty PIN is used. This is a temporary
|
| - // hack pending us adding a way to set a PIN. crbug.com/105214 .
|
| scoped_ptr<protocol::AuthenticatorFactory> factory(
|
| new protocol::Me2MeHostAuthenticatorFactory(
|
| xmpp_login_, key_pair_.GenerateCertificate(),
|
| - *key_pair_.private_key(), ""));
|
| + *key_pair_.private_key(), host_secret_hash_));
|
| host_->SetAuthenticatorFactory(factory.Pass());
|
| }
|
|
|
| MessageLoop message_loop_;
|
| base::Thread file_io_thread_;
|
| - remoting::ChromotingHostContext context_;
|
| + ChromotingHostContext context_;
|
| scoped_ptr<net::NetworkChangeNotifier> network_change_notifier_;
|
|
|
| FilePath auth_config_path_;
|
| @@ -203,6 +211,7 @@ class HostProcess {
|
|
|
| std::string host_id_;
|
| HostKeyPair key_pair_;
|
| + protocol::SharedSecretHash host_secret_hash_;
|
| std::string xmpp_login_;
|
| std::string xmpp_auth_token_;
|
| std::string xmpp_auth_service_;
|
| @@ -210,7 +219,7 @@ class HostProcess {
|
| scoped_ptr<SignalStrategy> signal_strategy_;
|
| scoped_ptr<SignalingConnector> signaling_connector_;
|
| scoped_ptr<DesktopEnvironment> desktop_environment_;
|
| - scoped_ptr<remoting::HeartbeatSender> heartbeat_sender_;
|
| + scoped_ptr<HeartbeatSender> heartbeat_sender_;
|
| scoped_ptr<LogToServer> log_to_server_;
|
| scoped_ptr<HostEventLogger> host_event_logger_;
|
| scoped_refptr<ChromotingHost> host_;
|
|
|