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

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

Issue 1781003003: Implement referred Token Bindings (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 9 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
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 323 matching lines...) Expand 10 before | Expand all | Expand 10 after
334 self.SlowServerHandler, 334 self.SlowServerHandler,
335 self.ChunkedServerHandler, 335 self.ChunkedServerHandler,
336 self.NoContentHandler, 336 self.NoContentHandler,
337 self.ServerRedirectHandler, 337 self.ServerRedirectHandler,
338 self.CrossSiteRedirectHandler, 338 self.CrossSiteRedirectHandler,
339 self.ClientRedirectHandler, 339 self.ClientRedirectHandler,
340 self.GetSSLSessionCacheHandler, 340 self.GetSSLSessionCacheHandler,
341 self.SSLManySmallRecords, 341 self.SSLManySmallRecords,
342 self.GetChannelID, 342 self.GetChannelID,
343 self.GetTokenBindingEKM, 343 self.GetTokenBindingEKM,
344 self.ForwardTokenBindingHeader,
344 self.GetClientCert, 345 self.GetClientCert,
345 self.ClientCipherListHandler, 346 self.ClientCipherListHandler,
346 self.CloseSocketHandler, 347 self.CloseSocketHandler,
347 self.DefaultResponseHandler] 348 self.DefaultResponseHandler]
348 post_handlers = [ 349 post_handlers = [
349 self.EchoTitleHandler, 350 self.EchoTitleHandler,
350 self.EchoHandler, 351 self.EchoHandler,
351 self.PostOnlyFileHandler, 352 self.PostOnlyFileHandler,
352 self.EchoMultipartPostHandler] + get_handlers 353 self.EchoMultipartPostHandler] + get_handlers
353 put_handlers = [ 354 put_handlers = [
(...skipping 1171 matching lines...) Expand 10 before | Expand all | Expand 10 after
1525 return False 1526 return False
1526 1527
1527 ekm = self.server.tlsConnection.exportKeyingMaterial( 1528 ekm = self.server.tlsConnection.exportKeyingMaterial(
1528 "EXPORTER-Token-Binding", "", False, 32) 1529 "EXPORTER-Token-Binding", "", False, 32)
1529 self.send_response(200) 1530 self.send_response(200)
1530 self.send_header('Content-Type', 'application/octet-stream') 1531 self.send_header('Content-Type', 'application/octet-stream')
1531 self.end_headers() 1532 self.end_headers()
1532 self.wfile.write(ekm) 1533 self.wfile.write(ekm)
1533 return True 1534 return True
1534 1535
1536 def ForwardTokenBindingHeader(self):
1537 """Send a redirect that sets the Include-Referer-Token-Binding-ID
1538 header."""
1539
1540 test_name = '/forward-tokbind'
1541 if not self._ShouldHandleRequest(test_name):
1542 return False
1543
1544 query_char = self.path.find('?')
1545 if query_char < 0 or len(self.path) <= query_char + 1:
1546 self.sendRedirectHelp(test_name)
1547 return True
1548 dest = urllib.unquote(self.path[query_char + 1:])
1549
1550 self.send_response(302)
1551 self.send_header('Location', dest)
1552 self.send_header('Include-Referer-Token-Binding-ID', 'true')
1553 self.send_header('Connection', 'close')
davidben 2016/03/15 22:49:56 Why this?
nharper 2016/03/16 17:49:22 Copypasta. Removed.
1554 self.end_headers()
1555 return True
1556
1535 def GetClientCert(self): 1557 def GetClientCert(self):
1536 """Send a reply whether a client certificate was provided.""" 1558 """Send a reply whether a client certificate was provided."""
1537 1559
1538 if not self._ShouldHandleRequest('/client-cert'): 1560 if not self._ShouldHandleRequest('/client-cert'):
1539 return False 1561 return False
1540 1562
1541 self.send_response(200) 1563 self.send_response(200)
1542 self.send_header('Content-Type', 'text/plain') 1564 self.send_header('Content-Type', 'text/plain')
1543 self.end_headers() 1565 self.end_headers()
1544 1566
(...skipping 632 matching lines...) Expand 10 before | Expand all | Expand 10 after
2177 'an anonymous user.') 2199 'an anonymous user.')
2178 self.option_parser.add_option('--disable-channel-id', action='store_true') 2200 self.option_parser.add_option('--disable-channel-id', action='store_true')
2179 self.option_parser.add_option('--disable-extended-master-secret', 2201 self.option_parser.add_option('--disable-extended-master-secret',
2180 action='store_true') 2202 action='store_true')
2181 self.option_parser.add_option('--token-binding-params', action='append', 2203 self.option_parser.add_option('--token-binding-params', action='append',
2182 default=[], type='int') 2204 default=[], type='int')
2183 2205
2184 2206
2185 if __name__ == '__main__': 2207 if __name__ == '__main__':
2186 sys.exit(ServerRunner().main()) 2208 sys.exit(ServerRunner().main())
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698