| OLD | NEW |
| 1 #!/usr/bin/python2.5 | 1 #!/usr/bin/python2.5 |
| 2 # Copyright (c) 2011 The Chromium Authors. All rights reserved. | 2 # Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| 3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
| 4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
| 5 | 5 |
| 6 """A bare-bones test server for testing cloud policy support. | 6 """A bare-bones test server for testing cloud policy support. |
| 7 | 7 |
| 8 This implements a simple cloud policy test server that can be used to test | 8 This implements a simple cloud policy test server that can be used to test |
| 9 chrome's device management service client. The policy information is read from | 9 chrome's device management service client. The policy information is read from |
| 10 the file named device_management in the server's data directory. It contains | 10 the file named device_management in the server's data directory. It contains |
| (...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 88 def GetUniqueParam(self, name): | 88 def GetUniqueParam(self, name): |
| 89 """Extracts a unique query parameter from the request. | 89 """Extracts a unique query parameter from the request. |
| 90 | 90 |
| 91 Args: | 91 Args: |
| 92 name: Names the parameter to fetch. | 92 name: Names the parameter to fetch. |
| 93 Returns: | 93 Returns: |
| 94 The parameter value or None if the parameter doesn't exist or is not | 94 The parameter value or None if the parameter doesn't exist or is not |
| 95 unique. | 95 unique. |
| 96 """ | 96 """ |
| 97 if not self._params: | 97 if not self._params: |
| 98 self._params = cgi.parse_qs(self._path[self._path.find('?')+1:]) | 98 self._params = cgi.parse_qs(self._path[self._path.find('?') + 1:]) |
| 99 | 99 |
| 100 param_list = self._params.get(name, []) | 100 param_list = self._params.get(name, []) |
| 101 if len(param_list) == 1: | 101 if len(param_list) == 1: |
| 102 return param_list[0] | 102 return param_list[0] |
| 103 return None; | 103 return None; |
| 104 | 104 |
| 105 def HandleRequest(self): | 105 def HandleRequest(self): |
| 106 """Handles a request. | 106 """Handles a request. |
| 107 | 107 |
| 108 Parses the data supplied at construction time and returns a pair indicating | 108 Parses the data supplied at construction time and returns a pair indicating |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 166 if not device_id: | 166 if not device_id: |
| 167 return (400, 'Missing device identifier') | 167 return (400, 'Missing device identifier') |
| 168 | 168 |
| 169 # Register the device and create a token. | 169 # Register the device and create a token. |
| 170 dmtoken = self._server.RegisterDevice(device_id) | 170 dmtoken = self._server.RegisterDevice(device_id) |
| 171 | 171 |
| 172 # Send back the reply. | 172 # Send back the reply. |
| 173 response = dm.DeviceManagementResponse() | 173 response = dm.DeviceManagementResponse() |
| 174 response.error = dm.DeviceManagementResponse.SUCCESS | 174 response.error = dm.DeviceManagementResponse.SUCCESS |
| 175 response.register_response.device_management_token = dmtoken | 175 response.register_response.device_management_token = dmtoken |
| 176 response.register_response.device_name = self.GetDeviceName() | |
| 177 | 176 |
| 178 self.DumpMessage('Response', response) | 177 self.DumpMessage('Response', response) |
| 179 | 178 |
| 180 return (200, response.SerializeToString()) | 179 return (200, response.SerializeToString()) |
| 181 | 180 |
| 182 def ProcessUnregister(self, msg): | 181 def ProcessUnregister(self, msg): |
| 183 """Handles a register request. | 182 """Handles a register request. |
| 184 | 183 |
| 185 Checks for authorization, unregisters the device and constructs the | 184 Checks for authorization, unregisters the device and constructs the |
| 186 response. | 185 response. |
| (...skipping 304 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 491 | 490 |
| 492 Args: | 491 Args: |
| 493 device_id: The device identifier provided by the client. | 492 device_id: The device identifier provided by the client. |
| 494 | 493 |
| 495 Returns: | 494 Returns: |
| 496 The newly generated device token for the device. | 495 The newly generated device token for the device. |
| 497 """ | 496 """ |
| 498 dmtoken_chars = [] | 497 dmtoken_chars = [] |
| 499 while len(dmtoken_chars) < 32: | 498 while len(dmtoken_chars) < 32: |
| 500 dmtoken_chars.append(random.choice('0123456789abcdef')) | 499 dmtoken_chars.append(random.choice('0123456789abcdef')) |
| 501 dmtoken= ''.join(dmtoken_chars) | 500 dmtoken = ''.join(dmtoken_chars) |
| 502 self._registered_devices[dmtoken] = device_id | 501 self._registered_devices[dmtoken] = device_id |
| 503 return dmtoken | 502 return dmtoken |
| 504 | 503 |
| 505 def LookupDevice(self, dmtoken): | 504 def LookupDevice(self, dmtoken): |
| 506 """Looks up a device by DMToken. | 505 """Looks up a device by DMToken. |
| 507 | 506 |
| 508 Args: | 507 Args: |
| 509 dmtoken: The device management token provided by the client. | 508 dmtoken: The device management token provided by the client. |
| 510 | 509 |
| 511 Returns: | 510 Returns: |
| 512 The corresponding device identifier or None if not found. | 511 The corresponding device identifier or None if not found. |
| 513 """ | 512 """ |
| 514 return self._registered_devices.get(dmtoken, None) | 513 return self._registered_devices.get(dmtoken, None) |
| 515 | 514 |
| 516 def UnregisterDevice(self, dmtoken): | 515 def UnregisterDevice(self, dmtoken): |
| 517 """Unregisters a device identified by the given DM token. | 516 """Unregisters a device identified by the given DM token. |
| 518 | 517 |
| 519 Args: | 518 Args: |
| 520 dmtoken: The device management token provided by the client. | 519 dmtoken: The device management token provided by the client. |
| 521 """ | 520 """ |
| 522 if dmtoken in self._registered_devices: | 521 if dmtoken in self._registered_devices: |
| 523 del self._registered_devices[dmtoken] | 522 del self._registered_devices[dmtoken] |
| OLD | NEW |