Index: remoting/client/plugin/chromoting_instance.cc |
diff --git a/remoting/client/plugin/chromoting_instance.cc b/remoting/client/plugin/chromoting_instance.cc |
index 1365821daa1c53484e6a2fa5e0a7f1bd384e7cbe..e0ca0d5b045568f7917c59bf237c27d80253d890 100644 |
--- a/remoting/client/plugin/chromoting_instance.cc |
+++ b/remoting/client/plugin/chromoting_instance.cc |
@@ -579,26 +579,24 @@ void ChromotingInstance::SetCursorShape( |
} |
void ChromotingInstance::HandleConnect(const base::DictionaryValue& data) { |
+ protocol::ClientAuthenticationConfig client_auth_config; |
+ |
std::string local_jid; |
std::string host_jid; |
std::string host_public_key; |
- std::string authentication_tag; |
if (!data.GetString("hostJid", &host_jid) || |
!data.GetString("hostPublicKey", &host_public_key) || |
!data.GetString("localJid", &local_jid) || |
- !data.GetString("authenticationTag", &authentication_tag)) { |
+ !data.GetString("hostId", &client_auth_config.host_id)) { |
LOG(ERROR) << "Invalid connect() data."; |
return; |
} |
- std::string client_pairing_id; |
- data.GetString("clientPairingId", &client_pairing_id); |
- std::string client_paired_secret; |
- data.GetString("clientPairedSecret", &client_paired_secret); |
+ data.GetString("clientPairingId", &client_auth_config.pairing_client_id); |
+ data.GetString("clientPairedSecret", &client_auth_config.pairing_secret); |
- protocol::FetchSecretCallback fetch_secret_callback; |
if (use_async_pin_dialog_) { |
- fetch_secret_callback = base::Bind( |
+ client_auth_config.fetch_secret_callback = base::Bind( |
&ChromotingInstance::FetchSecretFromDialog, weak_factory_.GetWeakPtr()); |
} else { |
std::string shared_secret; |
@@ -606,10 +604,14 @@ void ChromotingInstance::HandleConnect(const base::DictionaryValue& data) { |
LOG(ERROR) << "sharedSecret not specified in connect()."; |
return; |
} |
- fetch_secret_callback = |
+ client_auth_config.fetch_secret_callback = |
base::Bind(&ChromotingInstance::FetchSecretFromString, shared_secret); |
} |
+ client_auth_config.fetch_third_party_token_callback = |
+ base::Bind(&ChromotingInstance::FetchThirdPartyToken, |
+ weak_factory_.GetWeakPtr(), host_public_key); |
+ |
// Read the list of capabilities, if any. |
std::string capabilities; |
if (data.HasKey("capabilities")) { |
@@ -695,16 +697,6 @@ void ChromotingInstance::HandleConnect(const base::DictionaryValue& data) { |
protocol::NetworkSettings::NAT_TRAVERSAL_FULL), |
protocol::TransportRole::CLIENT)); |
- // Create Authenticator. |
- protocol::FetchThirdPartyTokenCallback fetch_third_party_token_callback = |
- base::Bind(&ChromotingInstance::FetchThirdPartyToken, |
- weak_factory_.GetWeakPtr(), host_public_key); |
- |
- scoped_ptr<protocol::Authenticator> authenticator( |
- new protocol::NegotiatingClientAuthenticator( |
- client_pairing_id, client_paired_secret, authentication_tag, |
- fetch_secret_callback, fetch_third_party_token_callback)); |
- |
scoped_ptr<protocol::CandidateSessionConfig> config = |
protocol::CandidateSessionConfig::CreateDefault(); |
if (std::find(experiments_list.begin(), experiments_list.end(), "vp9") != |
@@ -714,8 +706,8 @@ void ChromotingInstance::HandleConnect(const base::DictionaryValue& data) { |
client_->set_protocol_config(std::move(config)); |
// Kick off the connection. |
- client_->Start(signal_strategy_.get(), std::move(authenticator), |
- transport_context, host_jid, capabilities); |
+ client_->Start(signal_strategy_.get(), client_auth_config, transport_context, |
+ host_jid, capabilities); |
// Connect the input pipeline to the protocol stub. |
mouse_input_filter_.set_input_stub(client_->input_stub()); |