| OLD | NEW |
| 1 # Copyright (c) 2011 The Chromium OS Authors. All rights reserved. | 1 # Copyright (c) 2011 The Chromium OS 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 import dbus, logging, os, re, shutil, socket, sys | 5 import dbus, logging, os, re, shutil, socket, sys |
| 6 import common | 6 import common |
| 7 import auth_server, constants, cryptohome, dns_server | 7 import auth_server, constants, cryptohome, dns_server |
| 8 import cros_logging, cros_ui, login, ownership | 8 import cros_logging, cros_ui, login, ownership |
| 9 from autotest_lib.client.bin import test, utils | 9 from autotest_lib.client.bin import test, utils |
| 10 from autotest_lib.client.common_lib import error | 10 from autotest_lib.client.common_lib import error |
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 82 logging.debug("Considering " + interface) | 82 logging.debug("Considering " + interface) |
| 83 for path in properties['IPConfigs']: | 83 for path in properties['IPConfigs']: |
| 84 ipconfig = self._flim.GetObjectInterface('IPConfig', path) | 84 ipconfig = self._flim.GetObjectInterface('IPConfig', path) |
| 85 | 85 |
| 86 servers = ipconfig.GetProperties().get('NameServers', None) | 86 servers = ipconfig.GetProperties().get('NameServers', None) |
| 87 if servers != None: | 87 if servers != None: |
| 88 self._dns[path] = ','.join(servers) | 88 self._dns[path] = ','.join(servers) |
| 89 logging.debug("Stored %s for %s" % (self._dns[path], | 89 logging.debug("Stored %s for %s" % (self._dns[path], |
| 90 interface)) | 90 interface)) |
| 91 ipconfig.SetProperty('NameServers', '127.0.0.1') | 91 ipconfig.SetProperty('NameServers', '127.0.0.1') |
| 92 logging.debug("Using local DNS for " + interface) | 92 logging.debug("Using local DNS for " + interface) |
| 93 | 93 |
| 94 utils.poll_for_condition( | 94 utils.poll_for_condition( |
| 95 lambda: self.__attempt_resolve('www.google.com', '127.0.0.1'), | 95 lambda: self.__attempt_resolve('www.google.com', '127.0.0.1'), |
| 96 login.TimeoutError('Timed out waiting for DNS changes.'), | 96 login.TimeoutError('Timed out waiting for DNS changes.'), |
| 97 10) | 97 10) |
| 98 | 98 |
| 99 | 99 |
| 100 def revert_dns(self): | 100 def revert_dns(self): |
| 101 """Clear the custom DNS setting for all devices and force them to use | 101 """Clear the custom DNS setting for all devices and force them to use |
| 102 DHCP to pull the network's real settings again. | 102 DHCP to pull the network's real settings again. |
| 103 """ | 103 """ |
| 104 for device in self._flim.GetObjectList('Device'): | 104 for device in self._flim.GetObjectList('Device'): |
| 105 properties = device.GetProperties() | 105 properties = device.GetProperties() |
| 106 interface = properties['Interface'] | 106 interface = properties['Interface'] |
| 107 logging.debug("Considering " + interface) | 107 logging.debug("Considering " + interface) |
| 108 for path in properties['IPConfigs']: | 108 for path in properties['IPConfigs']: |
| 109 if path in self._dns: | 109 if path in self._dns: |
| 110 ipconfig = self._flim.GetObjectInterface('IPConfig', path) | 110 ipconfig = self._flim.GetObjectInterface('IPConfig', path) |
| 111 ipconfig.SetProperty('NameServers', self._dns[path]) | 111 ipconfig.SetProperty('NameServers', self._dns[path]) |
| 112 logging.debug("Reverted DNS for " + interface) | 112 logging.debug("Reverted DNS for " + interface) |
| 113 else: | 113 else: |
| 114 logging.debug("No stored DNS for " + interface) | 114 logging.debug("No stored DNS for " + interface) |
| 115 | 115 |
| 116 utils.poll_for_condition( | 116 utils.poll_for_condition( |
| 117 lambda: self.__attempt_resolve('www.google.com', | 117 lambda: self.__attempt_resolve('www.google.com', |
| 118 '127.0.0.1', | 118 '127.0.0.1', |
| 119 expected=False), | 119 expected=False), |
| 120 login.TimeoutError('Timed out waiting to revert DNS.'), | 120 login.TimeoutError('Timed out waiting to revert DNS.'), |
| 121 10) | 121 10) |
| 122 | 122 |
| (...skipping 239 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 362 filename)) | 362 filename)) |
| 363 | 363 |
| 364 except (IOError, OSError) as err: | 364 except (IOError, OSError) as err: |
| 365 logging.error(err) | 365 logging.error(err) |
| 366 | 366 |
| 367 if login.logged_in(): | 367 if login.logged_in(): |
| 368 try: | 368 try: |
| 369 shutil.copy( | 369 shutil.copy( |
| 370 os.path.join(constants.CRYPTOHOME_MOUNT_PT, | 370 os.path.join(constants.CRYPTOHOME_MOUNT_PT, |
| 371 'log', 'chrome'), | 371 'log', 'chrome'), |
| 372 self.resultsdir+'/chrome_postlogin_log') | 372 os.path.join(self.resultsdir, 'chrome_postlogin_log')) |
| 373 # Retrieve any cores left by crashes during testing. |
| 374 shutil.copytree( |
| 375 os.path.join(constants.CRYPTOHOME_MOUNT_PT, 'crash'), |
| 376 os.path.join(self.resultsdir, 'crashes')) |
| 373 except (IOError, OSError) as err: | 377 except (IOError, OSError) as err: |
| 374 logging.error(err) | 378 logging.error(err) |
| 375 self.logout() | 379 self.logout() |
| 376 | 380 |
| 377 if os.path.isfile(constants.CRYPTOHOMED_LOG): | 381 if os.path.isfile(constants.CRYPTOHOMED_LOG): |
| 378 try: | 382 try: |
| 379 base = os.path.basename(constants.CRYPTOHOMED_LOG) | 383 base = os.path.basename(constants.CRYPTOHOMED_LOG) |
| 380 shutil.copy(constants.CRYPTOHOMED_LOG, | 384 shutil.copy(constants.CRYPTOHOMED_LOG, |
| 381 os.path.join(self.resultsdir, base)) | 385 os.path.join(self.resultsdir, base)) |
| 382 except (IOError, OSError) as err: | 386 except (IOError, OSError) as err: |
| 383 logging.error(err) | 387 logging.error(err) |
| 384 | 388 |
| 385 if self.fake_owner: | 389 if self.fake_owner: |
| 386 logging.info('Erasing fake owner state.') | 390 logging.info('Erasing fake owner state.') |
| 387 ownership.clear_ownership() | 391 ownership.clear_ownership() |
| 388 | 392 |
| 389 self.stop_authserver() | 393 self.stop_authserver() |
| 390 self.__log_crashed_processes(self.crash_blacklist) | 394 self.__log_crashed_processes(self.crash_blacklist) |
| 391 | 395 |
| 392 | 396 |
| 393 def get_auth_endpoint_misses(self): | 397 def get_auth_endpoint_misses(self): |
| 394 if hasattr(self, '_authServer'): | 398 if hasattr(self, '_authServer'): |
| 395 return self._authServer.get_endpoint_misses() | 399 return self._authServer.get_endpoint_misses() |
| 396 else: | 400 else: |
| 397 return {} | 401 return {} |
| OLD | NEW |