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

Side by Side Diff: chrome/browser/policy/test/policy_testserver.py

Issue 1140333002: Added log messages for cases of failure of open files in policy_testserver.py. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Log to crash Created 5 years, 6 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 unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 # Copyright (c) 2012 The Chromium 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 """A bare-bones test server for testing cloud policy support. 5 """A bare-bones test server for testing cloud policy support.
6 6
7 This implements a simple cloud policy test server that can be used to test 7 This implements a simple cloud policy test server that can be used to test
8 chrome's device management service client. The policy information is read from 8 chrome's device management service client. The policy information is read from
9 the file named device_management in the server's data directory. It contains 9 the file named device_management in the server's data directory. It contains
10 enforced and recommended policies for the device and user scope, and a list 10 enforced and recommended policies for the device and user scope, and a list
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
53 } 53 }
54 54
55 """ 55 """
56 56
57 import base64 57 import base64
58 import BaseHTTPServer 58 import BaseHTTPServer
59 import cgi 59 import cgi
60 import glob 60 import glob
61 import google.protobuf.text_format 61 import google.protobuf.text_format
62 import hashlib 62 import hashlib
63 import json
63 import logging 64 import logging
64 import os 65 import os
65 import random 66 import random
66 import re 67 import re
67 import sys 68 import sys
68 import time 69 import time
69 import tlslite 70 import tlslite
70 import tlslite.api 71 import tlslite.api
71 import tlslite.utils 72 import tlslite.utils
72 import tlslite.utils.cryptomath 73 import tlslite.utils.cryptomath
73 import urlparse 74 import urlparse
74 75
75 # The name and availability of the json module varies in python versions.
76 try:
77 import simplejson as json
78 except ImportError:
79 try:
80 import json
81 except ImportError:
82 logging.error('Could not import json')
83 json = None
84
85 import asn1der 76 import asn1der
86 import testserver_base 77 import testserver_base
87 78
88 import device_management_backend_pb2 as dm 79 import device_management_backend_pb2 as dm
89 import cloud_policy_pb2 as cp 80 import cloud_policy_pb2 as cp
90 81
91 # Policy for extensions is not supported on Android nor iOS. 82 # Policy for extensions is not supported on Android nor iOS.
92 try: 83 try:
93 import chrome_extension_policy_pb2 as ep 84 import chrome_extension_policy_pb2 as ep
94 except ImportError: 85 except ImportError:
95 logging.error('Could not import chrome_extension_policy_pb2')
96 ep = None 86 ep = None
97 87
98 # Device policy is only available on Chrome OS builds. 88 # Device policy is only available on Chrome OS builds.
99 try: 89 try:
100 import chrome_device_policy_pb2 as dp 90 import chrome_device_policy_pb2 as dp
101 except ImportError: 91 except ImportError:
102 logging.error('Could not import chrome_device_policy_pb2')
103 dp = None 92 dp = None
104 93
105 # ASN.1 object identifier for PKCS#1/RSA. 94 # ASN.1 object identifier for PKCS#1/RSA.
106 PKCS1_RSA_OID = '\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01' 95 PKCS1_RSA_OID = '\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01'
107 96
108 # List of bad machine identifiers that trigger the |valid_serial_number_missing| 97 # List of bad machine identifiers that trigger the |valid_serial_number_missing|
109 # flag to be set set in the policy fetch response. 98 # flag to be set set in the policy fetch response.
110 BAD_MACHINE_IDS = [ '123490EN400015' ] 99 BAD_MACHINE_IDS = [ '123490EN400015' ]
111 100
112 # List of machines that trigger the server to send kiosk enrollment response 101 # List of machines that trigger the server to send kiosk enrollment response
(...skipping 630 matching lines...) Expand 10 before | Expand all | Expand 10 after
743 if msg.policy_type in ('google/android/user', 732 if msg.policy_type in ('google/android/user',
744 'google/chromeos/publicaccount', 733 'google/chromeos/publicaccount',
745 'google/chromeos/user', 734 'google/chromeos/user',
746 'google/chrome/user', 735 'google/chrome/user',
747 'google/ios/user'): 736 'google/ios/user'):
748 settings = cp.CloudPolicySettings() 737 settings = cp.CloudPolicySettings()
749 payload = self.server.ReadPolicyFromDataDir(policy_key, settings) 738 payload = self.server.ReadPolicyFromDataDir(policy_key, settings)
750 if payload is None: 739 if payload is None:
751 self.GatherUserPolicySettings(settings, policy.get(policy_key, {})) 740 self.GatherUserPolicySettings(settings, policy.get(policy_key, {}))
752 payload = settings.SerializeToString() 741 payload = settings.SerializeToString()
753 elif dp is not None and msg.policy_type == 'google/chromeos/device': 742 elif msg.policy_type == 'google/chromeos/device':
754 settings = dp.ChromeDeviceSettingsProto() 743 settings = dp.ChromeDeviceSettingsProto()
755 payload = self.server.ReadPolicyFromDataDir(policy_key, settings) 744 payload = self.server.ReadPolicyFromDataDir(policy_key, settings)
756 if payload is None: 745 if payload is None:
757 self.GatherDevicePolicySettings(settings, policy.get(policy_key, {})) 746 self.GatherDevicePolicySettings(settings, policy.get(policy_key, {}))
758 payload = settings.SerializeToString() 747 payload = settings.SerializeToString()
759 elif ep is not None and msg.policy_type == 'google/chrome/extension': 748 elif msg.policy_type == 'google/chrome/extension':
760 settings = ep.ExternalPolicyData() 749 settings = ep.ExternalPolicyData()
761 payload = self.server.ReadPolicyFromDataDir(policy_key, settings) 750 payload = self.server.ReadPolicyFromDataDir(policy_key, settings)
762 if payload is None: 751 if payload is None:
763 payload = self.CreatePolicyForExternalPolicyData(policy_key) 752 payload = self.CreatePolicyForExternalPolicyData(policy_key)
764 else: 753 else:
765 response.error_code = 400 754 response.error_code = 400
766 response.error_message = 'Invalid policy type' 755 response.error_message = 'Invalid policy type'
767 return 756 return
768 else: 757 else:
769 response.error_code = 400 758 response.error_code = 400
(...skipping 517 matching lines...) Expand 10 before | Expand all | Expand 10 after
1287 if (self.options.log_to_console): 1276 if (self.options.log_to_console):
1288 logger.addHandler(logging.StreamHandler()) 1277 logger.addHandler(logging.StreamHandler())
1289 if (self.options.log_file): 1278 if (self.options.log_file):
1290 logger.addHandler(logging.FileHandler(self.options.log_file)) 1279 logger.addHandler(logging.FileHandler(self.options.log_file))
1291 1280
1292 testserver_base.TestServerRunner.run_server(self) 1281 testserver_base.TestServerRunner.run_server(self)
1293 1282
1294 1283
1295 if __name__ == '__main__': 1284 if __name__ == '__main__':
1296 sys.exit(PolicyServerRunner().main()) 1285 sys.exit(PolicyServerRunner().main())
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698