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

Unified Diff: remoting/host/remoting_me2me_host.cc

Issue 10825121: Remove the need to have separate config for authentication. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 5 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 side-by-side diff with in-line comments
Download patch
Index: remoting/host/remoting_me2me_host.cc
diff --git a/remoting/host/remoting_me2me_host.cc b/remoting/host/remoting_me2me_host.cc
index 15b79076ce4aa2726bc64a2b37d42d5bddf91a45..e4aacabd86419eac6cc7f5ca08a295cc3c9e0d70 100644
--- a/remoting/host/remoting_me2me_host.cc
+++ b/remoting/host/remoting_me2me_host.cc
@@ -28,23 +28,23 @@
#include "remoting/base/breakpad.h"
#include "remoting/base/constants.h"
#include "remoting/host/branding.h"
-#include "remoting/host/constants.h"
-#include "remoting/host/video_frame_capturer.h"
#include "remoting/host/chromoting_host.h"
#include "remoting/host/chromoting_host_context.h"
+#include "remoting/host/composite_host_config.h"
+#include "remoting/host/constants.h"
#include "remoting/host/desktop_environment.h"
#include "remoting/host/event_executor.h"
#include "remoting/host/heartbeat_sender.h"
#include "remoting/host/host_config.h"
#include "remoting/host/host_event_logger.h"
#include "remoting/host/host_user_interface.h"
-#include "remoting/host/json_host_config.h"
#include "remoting/host/log_to_server.h"
#include "remoting/host/network_settings.h"
#include "remoting/host/policy_hack/policy_watcher.h"
#include "remoting/host/session_manager_factory.h"
#include "remoting/host/signaling_connector.h"
#include "remoting/host/usage_stats_consent.h"
+#include "remoting/host/video_frame_capturer.h"
#include "remoting/jingle_glue/xmpp_signal_strategy.h"
#include "remoting/protocol/me2me_host_authenticator_factory.h"
@@ -70,8 +70,6 @@ const char kApplicationName[] = "chromoting";
const char kAuthConfigSwitchName[] = "auth-config";
const char kHostConfigSwitchName[] = "host-config";
-const FilePath::CharType kDefaultAuthConfigFile[] =
- FILE_PATH_LITERAL("auth.json");
const FilePath::CharType kDefaultHostConfigFile[] =
FILE_PATH_LITERAL("host.json");
@@ -113,23 +111,24 @@ class HostProcess
&HostProcess::ConfigUpdatedDelayed));
}
- void InitWithCommandLine(const CommandLine* cmd_line) {
+ bool InitWithCommandLine(const CommandLine* cmd_line) {
FilePath default_config_dir = remoting::GetConfigDir();
if (cmd_line->HasSwitch(kAuthConfigSwitchName)) {
- auth_config_path_ = cmd_line->GetSwitchValuePath(kAuthConfigSwitchName);
- } else {
- auth_config_path_ = default_config_dir.Append(kDefaultAuthConfigFile);
+ FilePath path = cmd_line->GetSwitchValuePath(kAuthConfigSwitchName);
+ if (!config_.AddConfigPath(path)) {
+ return false;
+ }
}
+ host_config_path_ = default_config_dir.Append(kDefaultHostConfigFile);
if (cmd_line->HasSwitch(kHostConfigSwitchName)) {
host_config_path_ = cmd_line->GetSwitchValuePath(kHostConfigSwitchName);
- } else {
- host_config_path_ = default_config_dir.Append(kDefaultHostConfigFile);
+ }
+ if (!config_.AddConfigPath(host_config_path_)) {
+ return false;
}
-#if defined(OS_LINUX)
- VideoFrameCapturer::EnableXDamage(true);
-#endif
+ return true;
}
void ConfigUpdated() {
@@ -249,34 +248,20 @@ class HostProcess
base::Bind(&HostProcess::OnPolicyUpdate, base::Unretained(this)));
}
- // Read Host config from disk, returning true if successful.
+ // Read host config, returning true if successful.
bool LoadConfig() {
- JsonHostConfig host_config(host_config_path_);
- JsonHostConfig auth_config(auth_config_path_);
-
- FilePath failed_path;
- if (!host_config.Read()) {
- failed_path = host_config_path_;
- } else if (!auth_config.Read()) {
- failed_path = auth_config_path_;
- }
- if (!failed_path.empty()) {
- LOG(ERROR) << "Failed to read configuration file " << failed_path.value();
- return false;
- }
-
- if (!host_config.GetString(kHostIdConfigPath, &host_id_)) {
+ if (!config_.GetString(kHostIdConfigPath, &host_id_)) {
LOG(ERROR) << "host_id is not defined in the config.";
return false;
}
- if (!key_pair_.Load(host_config)) {
+ if (!key_pair_.Load(config_)) {
return false;
}
std::string host_secret_hash_string;
- if (!host_config.GetString(kHostSecretHashConfigPath,
- &host_secret_hash_string)) {
+ if (!config_.GetString(kHostSecretHashConfigPath,
+ &host_secret_hash_string)) {
host_secret_hash_string = "plain:";
}
@@ -286,10 +271,10 @@ class HostProcess
}
// 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_) ||
- auth_config.GetString(kOAuthRefreshTokenConfigPath,
- &oauth_refresh_token_))) {
+ if (!config_.GetString(kXmppLoginConfigPath, &xmpp_login_) ||
+ !(config_.GetString(kXmppAuthTokenConfigPath, &xmpp_auth_token_) ||
+ config_.GetString(kOAuthRefreshTokenConfigPath,
+ &oauth_refresh_token_))) {
LOG(ERROR) << "XMPP credentials are not defined in the config.";
return false;
}
@@ -298,14 +283,14 @@ class HostProcess
// depending on whether this is an official build or not.
// If the client-Id type to use is not specified we default based on
// the build type.
- auth_config.GetBoolean(kOAuthUseOfficialClientIdConfigPath,
- &oauth_use_official_client_id_);
+ config_.GetBoolean(kOAuthUseOfficialClientIdConfigPath,
+ &oauth_use_official_client_id_);
if (!oauth_refresh_token_.empty()) {
xmpp_auth_token_ = ""; // This will be set to the access token later.
xmpp_auth_service_ = "oauth2";
- } else if (!auth_config.GetString(kXmppAuthServiceConfigPath,
- &xmpp_auth_service_)) {
+ } else if (!config_.GetString(kXmppAuthServiceConfigPath,
+ &xmpp_auth_service_)) {
// For the me2me host, we default to ClientLogin token for chromiumsync
// because earlier versions of the host had no HTTP stack with which to
// request an OAuth2 access token.
@@ -501,8 +486,8 @@ class HostProcess
scoped_ptr<ChromotingHostContext> context_;
scoped_ptr<net::NetworkChangeNotifier> network_change_notifier_;
- FilePath auth_config_path_;
FilePath host_config_path_;
+ CompositeHostConfig config_;
std::string host_id_;
HostKeyPair key_pair_;
@@ -579,8 +564,14 @@ int main(int argc, char** argv) {
// single-threaded.
net::EnableSSLServerSockets();
+#if defined(OS_LINUX)
+ remoting::VideoFrameCapturer::EnableXDamage(true);
+#endif
+
remoting::HostProcess me2me_host;
- me2me_host.InitWithCommandLine(cmd_line);
+ if (!me2me_host.InitWithCommandLine(cmd_line)) {
+ return remoting::kInvalidHostConfigurationExitCode;
+ }
return me2me_host.Run();
}
« no previous file with comments | « remoting/host/installer/mac/PrivilegedHelperTools/org.chromium.chromoting.me2me.sh ('k') | remoting/remoting.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698