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

Side by Side Diff: net/tools/testserver/testserver.py

Issue 495663002: OpenSSL: Disable ECDSA cipher suites on Windows XP. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: No std::hex Created 6 years, 3 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 | Annotate | Revision Log
« no previous file with comments | « net/socket/ssl_client_socket_openssl.cc ('k') | net/url_request/url_request_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright 2013 The Chromium Authors. All rights reserved. 2 # Copyright 2013 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 """This is a simple HTTP/FTP/TCP/UDP/BASIC_AUTH_PROXY/WEBSOCKET server used for 6 """This is a simple HTTP/FTP/TCP/UDP/BASIC_AUTH_PROXY/WEBSOCKET server used for
7 testing Chrome. 7 testing Chrome.
8 8
9 It supports several test URLs, as specified by the handlers in TestPageHandler. 9 It supports several test URLs, as specified by the handlers in TestPageHandler.
10 By default, it listens on an ephemeral port and sends the port number back to 10 By default, it listens on an ephemeral port and sends the port number back to
(...skipping 317 matching lines...) Expand 10 before | Expand all | Expand 10 after
328 self.AuthDigestHandler, 328 self.AuthDigestHandler,
329 self.SlowServerHandler, 329 self.SlowServerHandler,
330 self.ChunkedServerHandler, 330 self.ChunkedServerHandler,
331 self.ContentTypeHandler, 331 self.ContentTypeHandler,
332 self.NoContentHandler, 332 self.NoContentHandler,
333 self.ServerRedirectHandler, 333 self.ServerRedirectHandler,
334 self.ClientRedirectHandler, 334 self.ClientRedirectHandler,
335 self.GetSSLSessionCacheHandler, 335 self.GetSSLSessionCacheHandler,
336 self.SSLManySmallRecords, 336 self.SSLManySmallRecords,
337 self.GetChannelID, 337 self.GetChannelID,
338 self.ClientCipherListHandler,
338 self.CloseSocketHandler, 339 self.CloseSocketHandler,
339 self.RangeResetHandler, 340 self.RangeResetHandler,
340 self.DefaultResponseHandler] 341 self.DefaultResponseHandler]
341 post_handlers = [ 342 post_handlers = [
342 self.EchoTitleHandler, 343 self.EchoTitleHandler,
343 self.EchoHandler, 344 self.EchoHandler,
344 self.PostOnlyFileHandler, 345 self.PostOnlyFileHandler,
345 self.EchoMultipartPostHandler] + get_handlers 346 self.EchoMultipartPostHandler] + get_handlers
346 put_handlers = [ 347 put_handlers = [
347 self.EchoTitleHandler, 348 self.EchoTitleHandler,
(...skipping 1137 matching lines...) Expand 10 before | Expand all | Expand 10 after
1485 if not self._ShouldHandleRequest('/channel-id'): 1486 if not self._ShouldHandleRequest('/channel-id'):
1486 return False 1487 return False
1487 1488
1488 self.send_response(200) 1489 self.send_response(200)
1489 self.send_header('Content-Type', 'text/plain') 1490 self.send_header('Content-Type', 'text/plain')
1490 self.end_headers() 1491 self.end_headers()
1491 channel_id = bytes(self.server.tlsConnection.channel_id) 1492 channel_id = bytes(self.server.tlsConnection.channel_id)
1492 self.wfile.write(hashlib.sha256(channel_id).digest().encode('base64')) 1493 self.wfile.write(hashlib.sha256(channel_id).digest().encode('base64'))
1493 return True 1494 return True
1494 1495
1496 def ClientCipherListHandler(self):
1497 """Send a reply containing the cipher suite list that the client
1498 provided. Each cipher suite value is serialized in decimal, followed by a
1499 newline."""
1500
1501 if not self._ShouldHandleRequest('/client-cipher-list'):
1502 return False
1503
1504 self.send_response(200)
1505 self.send_header('Content-Type', 'text/plain')
1506 self.end_headers()
1507
1508 for cipher_suite in self.server.tlsConnection.clientHello.cipher_suites:
1509 self.wfile.write(str(cipher_suite))
1510 self.wfile.write('\n')
1511 return True
1512
1495 def CloseSocketHandler(self): 1513 def CloseSocketHandler(self):
1496 """Closes the socket without sending anything.""" 1514 """Closes the socket without sending anything."""
1497 1515
1498 if not self._ShouldHandleRequest('/close-socket'): 1516 if not self._ShouldHandleRequest('/close-socket'):
1499 return False 1517 return False
1500 1518
1501 self.wfile.close() 1519 self.wfile.close()
1502 return True 1520 return True
1503 1521
1504 def RangeResetHandler(self): 1522 def RangeResetHandler(self):
(...skipping 713 matching lines...) Expand 10 before | Expand all | Expand 10 after
2218 self.option_parser.add_option('--file-root-url', default='/files/', 2236 self.option_parser.add_option('--file-root-url', default='/files/',
2219 help='Specify a root URL for files served.') 2237 help='Specify a root URL for files served.')
2220 # TODO(ricea): Generalize this to support basic auth for HTTP too. 2238 # TODO(ricea): Generalize this to support basic auth for HTTP too.
2221 self.option_parser.add_option('--ws-basic-auth', action='store_true', 2239 self.option_parser.add_option('--ws-basic-auth', action='store_true',
2222 dest='ws_basic_auth', 2240 dest='ws_basic_auth',
2223 help='Enable basic-auth for WebSocket') 2241 help='Enable basic-auth for WebSocket')
2224 2242
2225 2243
2226 if __name__ == '__main__': 2244 if __name__ == '__main__':
2227 sys.exit(ServerRunner().main()) 2245 sys.exit(ServerRunner().main())
OLDNEW
« no previous file with comments | « net/socket/ssl_client_socket_openssl.cc ('k') | net/url_request/url_request_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698