Index: remoting/tools/me2me_virtual_host.py |
diff --git a/remoting/tools/me2me_virtual_host.py b/remoting/tools/me2me_virtual_host.py |
index 21eebb683d9ce9fc9f11be1565810f5044129342..95ee7b7c7b18eaededb85ecdbb2a5cdfc051225d 100755 |
--- a/remoting/tools/me2me_virtual_host.py |
+++ b/remoting/tools/me2me_virtual_host.py |
@@ -44,9 +44,6 @@ XSESSION_COMMAND = None |
REMOTING_COMMAND = "remoting_me2me_host" |
-# Command-line switch for passing the config path to remoting_me2me_host. |
-HOST_CONFIG_SWITCH_NAME = "host-config" |
- |
# Needs to be an absolute path, since the current working directory is changed |
# when this process self-daemonizes. |
SCRIPT_PATH = os.path.dirname(sys.argv[0]) |
@@ -148,21 +145,24 @@ class Host: |
server = 'www.googleapis.com' |
url = 'https://' + server + '/chromoting/v1/@me/hosts' |
- def __init__(self, config_file): |
+ def __init__(self, config_file, auth): |
+ """ |
+ Args: |
+ config_file: Host configuration file path |
+ auth: Authentication object with credentials for authenticating with the |
+ Directory service. |
+ """ |
self.config_file = config_file |
+ self.auth = auth |
self.host_id = str(uuid.uuid1()) |
self.host_name = socket.gethostname() |
self.host_secret_hash = None |
self.private_key = None |
- def register(self, auth): |
+ def register(self): |
"""Generates a private key for the stored |host_id|, and registers it with |
the Directory service. |
- Args: |
- auth: Authentication object with credentials for authenticating with the |
- Directory service. |
- |
Raises: |
urllib2.HTTPError: An error occurred talking to the Directory server |
(for example, if the |auth| credentials were rejected). |
@@ -184,7 +184,7 @@ class Host: |
} |
params = json.dumps(json_data) |
headers = { |
- "Authorization": "GoogleLogin auth=" + auth.chromoting_auth_token, |
+ "Authorization": "GoogleLogin auth=" + self.auth.chromoting_auth_token, |
"Content-Type": "application/json", |
} |
@@ -383,7 +383,8 @@ class Desktop: |
def launch_host(self, host): |
# Start remoting host |
args = [locate_executable(REMOTING_COMMAND), |
- "--%s=%s" % (HOST_CONFIG_SWITCH_NAME, host.config_file)] |
+ "--host_config=%s" % (host.config_file), |
+ "--auth_config=%s" % (host.auth.config_file)] |
self.host_proc = subprocess.Popen(args, env=self.child_env) |
if not self.host_proc.pid: |
raise Exception("Could not start remoting host") |
@@ -692,10 +693,11 @@ def main(): |
settings_file.write(options.explicit_config) |
settings_file.close() |
+ # TODO(sergeyu): Move auth parameters to the host config. |
auth = Authentication(os.path.join(CONFIG_DIR, "auth.json")) |
need_auth_tokens = not auth.load_config() |
- host = Host(os.path.join(CONFIG_DIR, "host#%s.json" % host_hash)) |
+ host = Host(os.path.join(CONFIG_DIR, "host#%s.json" % host_hash), auth) |
register_host = not host.load_config() |
# Outside the loop so user doesn't get asked twice. |
@@ -726,7 +728,7 @@ def main(): |
try: |
if register_host: |
- host.register(auth) |
+ host.register() |
host.save_config() |
except urllib2.HTTPError, err: |
if err.getcode() == 401: |