Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(297)

Side by Side Diff: remoting/host/chromoting_host.cc

Issue 138753005: Add gnubby authentication to remoting host (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "remoting/host/chromoting_host.h" 5 #include "remoting/host/chromoting_host.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/callback.h" 10 #include "base/callback.h"
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
75 video_encode_task_runner_(video_encode_task_runner), 75 video_encode_task_runner_(video_encode_task_runner),
76 network_task_runner_(network_task_runner), 76 network_task_runner_(network_task_runner),
77 ui_task_runner_(ui_task_runner), 77 ui_task_runner_(ui_task_runner),
78 signal_strategy_(signal_strategy), 78 signal_strategy_(signal_strategy),
79 started_(false), 79 started_(false),
80 protocol_config_(protocol::CandidateSessionConfig::CreateDefault()), 80 protocol_config_(protocol::CandidateSessionConfig::CreateDefault()),
81 login_backoff_(&kDefaultBackoffPolicy), 81 login_backoff_(&kDefaultBackoffPolicy),
82 authenticating_client_(false), 82 authenticating_client_(false),
83 reject_authenticating_client_(false), 83 reject_authenticating_client_(false),
84 enable_curtaining_(false), 84 enable_curtaining_(false),
85 enable_gnubby_auth_(false),
85 weak_factory_(this) { 86 weak_factory_(this) {
86 DCHECK(network_task_runner_->BelongsToCurrentThread()); 87 DCHECK(network_task_runner_->BelongsToCurrentThread());
87 DCHECK(signal_strategy); 88 DCHECK(signal_strategy);
88 89
89 // VP9 encode is not yet supported. 90 // VP9 encode is not yet supported.
90 protocol::CandidateSessionConfig::DisableVideoCodec( 91 protocol::CandidateSessionConfig::DisableVideoCodec(
91 protocol_config_.get(), protocol::ChannelConfig::CODEC_VP9); 92 protocol_config_.get(), protocol::ChannelConfig::CODEC_VP9);
92 93
93 if (!desktop_environment_factory_->SupportsAudioCapture()) { 94 if (!desktop_environment_factory_->SupportsAudioCapture()) {
94 protocol::CandidateSessionConfig::DisableAudioChannel( 95 protocol::CandidateSessionConfig::DisableAudioChannel(
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
162 // curtained sessions. 163 // curtained sessions.
163 if (enable_curtaining_) 164 if (enable_curtaining_)
164 DisconnectAllClients(); 165 DisconnectAllClients();
165 } 166 }
166 167
167 void ChromotingHost::SetMaximumSessionDuration( 168 void ChromotingHost::SetMaximumSessionDuration(
168 const base::TimeDelta& max_session_duration) { 169 const base::TimeDelta& max_session_duration) {
169 max_session_duration_ = max_session_duration; 170 max_session_duration_ = max_session_duration;
170 } 171 }
171 172
173 void ChromotingHost::SetEnableGnubbyAuth(bool enable) {
174 enable_gnubby_auth_ = enable;
175 }
176
172 //////////////////////////////////////////////////////////////////////////// 177 ////////////////////////////////////////////////////////////////////////////
173 // protocol::ClientSession::EventHandler implementation. 178 // protocol::ClientSession::EventHandler implementation.
174 bool ChromotingHost::OnSessionAuthenticated(ClientSession* client) { 179 bool ChromotingHost::OnSessionAuthenticated(ClientSession* client) {
175 DCHECK(CalledOnValidThread()); 180 DCHECK(CalledOnValidThread());
176 181
177 login_backoff_.Reset(); 182 login_backoff_.Reset();
178 183
179 // Disconnect all other clients. |it| should be advanced before Disconnect() 184 // Disconnect all other clients. |it| should be advanced before Disconnect()
180 // is called to avoid it becoming invalid when the client is removed from 185 // is called to avoid it becoming invalid when the client is removed from
181 // the list. 186 // the list.
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
296 this, 301 this,
297 audio_task_runner_, 302 audio_task_runner_,
298 input_task_runner_, 303 input_task_runner_,
299 video_capture_task_runner_, 304 video_capture_task_runner_,
300 video_encode_task_runner_, 305 video_encode_task_runner_,
301 network_task_runner_, 306 network_task_runner_,
302 ui_task_runner_, 307 ui_task_runner_,
303 connection.Pass(), 308 connection.Pass(),
304 desktop_environment_factory_, 309 desktop_environment_factory_,
305 max_session_duration_, 310 max_session_duration_,
306 pairing_registry_); 311 pairing_registry_,
312 enable_gnubby_auth_);
307 clients_.push_back(client); 313 clients_.push_back(client);
308 } 314 }
309 315
310 void ChromotingHost::set_protocol_config( 316 void ChromotingHost::set_protocol_config(
311 scoped_ptr<protocol::CandidateSessionConfig> config) { 317 scoped_ptr<protocol::CandidateSessionConfig> config) {
312 DCHECK(CalledOnValidThread()); 318 DCHECK(CalledOnValidThread());
313 DCHECK(config.get()); 319 DCHECK(config.get());
314 DCHECK(!started_); 320 DCHECK(!started_);
315 protocol_config_ = config.Pass(); 321 protocol_config_ = config.Pass();
316 } 322 }
317 323
318 void ChromotingHost::DisconnectAllClients() { 324 void ChromotingHost::DisconnectAllClients() {
319 DCHECK(CalledOnValidThread()); 325 DCHECK(CalledOnValidThread());
320 326
321 while (!clients_.empty()) { 327 while (!clients_.empty()) {
322 size_t size = clients_.size(); 328 size_t size = clients_.size();
323 clients_.front()->DisconnectSession(); 329 clients_.front()->DisconnectSession();
324 CHECK_EQ(clients_.size(), size - 1); 330 CHECK_EQ(clients_.size(), size - 1);
325 } 331 }
326 } 332 }
327 333
328 } // namespace remoting 334 } // namespace remoting
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698