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

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: Add #ifdef for OS_ANDROID in TokenBindingURLRequestTest Created 4 years, 8 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 | « net/ssl/token_binding_openssl.cc ('k') | net/url_request/redirect_info.h » ('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 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.end_headers()
1554 return True
1555
1535 def GetClientCert(self): 1556 def GetClientCert(self):
1536 """Send a reply whether a client certificate was provided.""" 1557 """Send a reply whether a client certificate was provided."""
1537 1558
1538 if not self._ShouldHandleRequest('/client-cert'): 1559 if not self._ShouldHandleRequest('/client-cert'):
1539 return False 1560 return False
1540 1561
1541 self.send_response(200) 1562 self.send_response(200)
1542 self.send_header('Content-Type', 'text/plain') 1563 self.send_header('Content-Type', 'text/plain')
1543 self.end_headers() 1564 self.end_headers()
1544 1565
(...skipping 632 matching lines...) Expand 10 before | Expand all | Expand 10 after
2177 'an anonymous user.') 2198 'an anonymous user.')
2178 self.option_parser.add_option('--disable-channel-id', action='store_true') 2199 self.option_parser.add_option('--disable-channel-id', action='store_true')
2179 self.option_parser.add_option('--disable-extended-master-secret', 2200 self.option_parser.add_option('--disable-extended-master-secret',
2180 action='store_true') 2201 action='store_true')
2181 self.option_parser.add_option('--token-binding-params', action='append', 2202 self.option_parser.add_option('--token-binding-params', action='append',
2182 default=[], type='int') 2203 default=[], type='int')
2183 2204
2184 2205
2185 if __name__ == '__main__': 2206 if __name__ == '__main__':
2186 sys.exit(ServerRunner().main()) 2207 sys.exit(ServerRunner().main())
OLDNEW
« no previous file with comments | « net/ssl/token_binding_openssl.cc ('k') | net/url_request/redirect_info.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698