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

Side by Side Diff: remoting/host/it2me/it2me_host.cc

Issue 1643793002: Add policy to restrict client domain for Me2Me. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix remoting_perftests compile. Created 4 years, 10 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
« no previous file with comments | « remoting/host/it2me/it2me_host.h ('k') | remoting/host/policy_watcher.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/it2me/it2me_host.h" 5 #include "remoting/host/it2me/it2me_host.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <utility> 9 #include <utility>
10 10
(...skipping 314 matching lines...) Expand 10 before | Expand all | Expand 10 after
325 325
326 bool nat_policy; 326 bool nat_policy;
327 if (policies->GetBoolean(policy::key::kRemoteAccessHostFirewallTraversal, 327 if (policies->GetBoolean(policy::key::kRemoteAccessHostFirewallTraversal,
328 &nat_policy)) { 328 &nat_policy)) {
329 UpdateNatPolicy(nat_policy); 329 UpdateNatPolicy(nat_policy);
330 } 330 }
331 std::string host_domain; 331 std::string host_domain;
332 if (policies->GetString(policy::key::kRemoteAccessHostDomain, &host_domain)) { 332 if (policies->GetString(policy::key::kRemoteAccessHostDomain, &host_domain)) {
333 UpdateHostDomainPolicy(host_domain); 333 UpdateHostDomainPolicy(host_domain);
334 } 334 }
335 std::string client_domain;
336 if (policies->GetString(policy::key::kRemoteAccessHostClientDomain,
337 &client_domain)) {
338 UpdateClientDomainPolicy(client_domain);
339 }
335 340
336 policy_received_ = true; 341 policy_received_ = true;
337 342
338 if (!pending_connect_.is_null()) { 343 if (!pending_connect_.is_null()) {
339 base::ResetAndReturn(&pending_connect_).Run(); 344 base::ResetAndReturn(&pending_connect_).Run();
340 } 345 }
341 } 346 }
342 347
343 void It2MeHost::OnPolicyError() { 348 void It2MeHost::OnPolicyError() {
344 // TODO(lukasza): Report the policy error to the user. crbug.com/433009 349 // TODO(lukasza): Report the policy error to the user. crbug.com/433009
(...skipping 25 matching lines...) Expand all
370 VLOG(2) << "UpdateHostDomainPolicy: " << host_domain; 375 VLOG(2) << "UpdateHostDomainPolicy: " << host_domain;
371 376
372 // When setting a host domain policy, force disconnect any existing session. 377 // When setting a host domain policy, force disconnect any existing session.
373 if (!host_domain.empty() && IsConnected()) { 378 if (!host_domain.empty() && IsConnected()) {
374 Shutdown(); 379 Shutdown();
375 } 380 }
376 381
377 required_host_domain_ = host_domain; 382 required_host_domain_ = host_domain;
378 } 383 }
379 384
385 void It2MeHost::UpdateClientDomainPolicy(const std::string& client_domain) {
386 DCHECK(host_context_->network_task_runner()->BelongsToCurrentThread());
387
388 VLOG(2) << "UpdateClientDomainPolicy: " << client_domain;
389
390 // When setting a client domain policy, disconnect any existing session.
391 if (!client_domain.empty() && IsConnected()) {
392 Shutdown();
393 }
394
395 required_client_domain_ = client_domain;
396 }
397
380 It2MeHost::~It2MeHost() { 398 It2MeHost::~It2MeHost() {
381 // Check that resources that need to be torn down on the UI thread are gone. 399 // Check that resources that need to be torn down on the UI thread are gone.
382 DCHECK(!desktop_environment_factory_.get()); 400 DCHECK(!desktop_environment_factory_.get());
383 DCHECK(!policy_watcher_.get()); 401 DCHECK(!policy_watcher_.get());
384 } 402 }
385 403
386 void It2MeHost::SetState(It2MeHostState state, 404 void It2MeHost::SetState(It2MeHostState state,
387 const std::string& error_message) { 405 const std::string& error_message) {
388 DCHECK(host_context_->network_task_runner()->BelongsToCurrentThread()); 406 DCHECK(host_context_->network_task_runner()->BelongsToCurrentThread());
389 407
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
452 if (local_certificate.empty()) { 470 if (local_certificate.empty()) {
453 std::string error_message = "Failed to generate host certificate."; 471 std::string error_message = "Failed to generate host certificate.";
454 LOG(ERROR) << error_message; 472 LOG(ERROR) << error_message;
455 SetState(kError, error_message); 473 SetState(kError, error_message);
456 Shutdown(); 474 Shutdown();
457 return; 475 return;
458 } 476 }
459 477
460 scoped_ptr<protocol::AuthenticatorFactory> factory( 478 scoped_ptr<protocol::AuthenticatorFactory> factory(
461 new protocol::It2MeHostAuthenticatorFactory( 479 new protocol::It2MeHostAuthenticatorFactory(
462 local_certificate, host_key_pair_, access_code)); 480 local_certificate, host_key_pair_, access_code,
481 required_client_domain_));
463 host_->SetAuthenticatorFactory(std::move(factory)); 482 host_->SetAuthenticatorFactory(std::move(factory));
464 483
465 // Pass the Access Code to the script object before changing state. 484 // Pass the Access Code to the script object before changing state.
466 task_runner_->PostTask( 485 task_runner_->PostTask(
467 FROM_HERE, base::Bind(&It2MeHost::Observer::OnStoreAccessCode, 486 FROM_HERE, base::Bind(&It2MeHost::Observer::OnStoreAccessCode,
468 observer_, access_code, lifetime)); 487 observer_, access_code, lifetime));
469 488
470 SetState(kReceivedAccessCode, ""); 489 SetState(kReceivedAccessCode, "");
471 } 490 }
472 491
(...skipping 19 matching lines...) Expand all
492 scoped_ptr<It2MeConfirmationDialogFactory> confirmation_dialog_factory( 511 scoped_ptr<It2MeConfirmationDialogFactory> confirmation_dialog_factory(
493 new It2MeConfirmationDialogFactory()); 512 new It2MeConfirmationDialogFactory());
494 scoped_ptr<PolicyWatcher> policy_watcher = 513 scoped_ptr<PolicyWatcher> policy_watcher =
495 PolicyWatcher::Create(policy_service_, context->file_task_runner()); 514 PolicyWatcher::Create(policy_service_, context->file_task_runner());
496 return new It2MeHost(std::move(context), std::move(policy_watcher), 515 return new It2MeHost(std::move(context), std::move(policy_watcher),
497 std::move(confirmation_dialog_factory), observer, 516 std::move(confirmation_dialog_factory), observer,
498 xmpp_server_config, directory_bot_jid); 517 xmpp_server_config, directory_bot_jid);
499 } 518 }
500 519
501 } // namespace remoting 520 } // namespace remoting
OLDNEW
« no previous file with comments | « remoting/host/it2me/it2me_host.h ('k') | remoting/host/policy_watcher.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698