| OLD | NEW |
| 1 #!/usr/bin/python2.5 | 1 #!/usr/bin/python2.5 |
| 2 # Copyright (c) 2010 The Chromium Authors. All rights reserved. | 2 # Copyright (c) 2010 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 from files in a directory. The files should contain policy definitions in JSON | 10 from files in a directory. The files should contain policy definitions in JSON |
| (...skipping 209 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 220 Extracts the token from the request and passed to the server in order to | 220 Extracts the token from the request and passed to the server in order to |
| 221 look up the client. Returns a pair of token and error response. If the token | 221 look up the client. Returns a pair of token and error response. If the token |
| 222 is None, the error response is a pair of status code and error message. | 222 is None, the error response is a pair of status code and error message. |
| 223 | 223 |
| 224 Returns: | 224 Returns: |
| 225 A pair of DM token and error response. If the token is None, the message | 225 A pair of DM token and error response. If the token is None, the message |
| 226 will contain the error response to send back. | 226 will contain the error response to send back. |
| 227 """ | 227 """ |
| 228 error = None | 228 error = None |
| 229 dmtoken = None | 229 dmtoken = None |
| 230 request_device_id = self.GetUniqueParam('deviceid') |
| 230 match = re.match('GoogleDMToken token=(\\w+)', | 231 match = re.match('GoogleDMToken token=(\\w+)', |
| 231 self._headers.getheader('Authorization', '')) | 232 self._headers.getheader('Authorization', '')) |
| 232 if match: | 233 if match: |
| 233 dmtoken = match.group(1) | 234 dmtoken = match.group(1) |
| 234 if not dmtoken: | 235 if not dmtoken: |
| 235 error = dm.DeviceManagementResponse.DEVICE_MANAGEMENT_TOKEN_INVALID | 236 error = dm.DeviceManagementResponse.DEVICE_MANAGEMENT_TOKEN_INVALID |
| 236 elif not self._server.LookupDevice(dmtoken): | 237 elif (not request_device_id or |
| 238 not self._server.LookupDevice(dmtoken) == request_device_id): |
| 237 error = dm.DeviceManagementResponse.DEVICE_NOT_FOUND | 239 error = dm.DeviceManagementResponse.DEVICE_NOT_FOUND |
| 238 else: | 240 else: |
| 239 return (dmtoken, None) | 241 return (dmtoken, None) |
| 240 | 242 |
| 241 response = dm.DeviceManagementResponse() | 243 response = dm.DeviceManagementResponse() |
| 242 response.error = error | 244 response.error = error |
| 243 | 245 |
| 244 self.DumpMessage('Response', response) | 246 self.DumpMessage('Response', response) |
| 245 | 247 |
| 246 return (None, (200, response.SerializeToString())) | 248 return (None, (200, response.SerializeToString())) |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 309 return self._registered_devices.get(dmtoken, None) | 311 return self._registered_devices.get(dmtoken, None) |
| 310 | 312 |
| 311 def UnregisterDevice(self, dmtoken): | 313 def UnregisterDevice(self, dmtoken): |
| 312 """Unregisters a device identified by the given DM token. | 314 """Unregisters a device identified by the given DM token. |
| 313 | 315 |
| 314 Args: | 316 Args: |
| 315 dmtoken: The device management token provided by the client. | 317 dmtoken: The device management token provided by the client. |
| 316 """ | 318 """ |
| 317 if dmtoken in self._registered_devices: | 319 if dmtoken in self._registered_devices: |
| 318 del self._registered_devices[dmtoken] | 320 del self._registered_devices[dmtoken] |
| OLD | NEW |