Index: net/tools/testserver/testserver.py |
diff --git a/net/tools/testserver/testserver.py b/net/tools/testserver/testserver.py |
index 9babbb24eb43bc51c234a510a0cfdad93bdda8c0..d020ca3a86fa47578a3005f85f59534a16fe9602 100755 |
--- a/net/tools/testserver/testserver.py |
+++ b/net/tools/testserver/testserver.py |
@@ -335,6 +335,7 @@ class TestPageHandler(testserver_base.BasePageHandler): |
self.GetSSLSessionCacheHandler, |
self.SSLManySmallRecords, |
self.GetChannelID, |
+ self.ClientCipherListHandler, |
self.CloseSocketHandler, |
self.RangeResetHandler, |
self.DefaultResponseHandler] |
@@ -1492,6 +1493,23 @@ class TestPageHandler(testserver_base.BasePageHandler): |
self.wfile.write(hashlib.sha256(channel_id).digest().encode('base64')) |
return True |
+ def ClientCipherListHandler(self): |
+ """Send a reply containing the cipher suite list that the client |
+ provided. Each cipher suite value is serialized in decimal, followed by a |
+ newline.""" |
+ |
+ if not self._ShouldHandleRequest('/client-cipher-list'): |
+ return False |
+ |
+ self.send_response(200) |
+ self.send_header('Content-Type', 'text/plain') |
+ self.end_headers() |
+ |
+ for cipher_suite in self.server.tlsConnection.clientHello.cipher_suites: |
+ self.wfile.write(str(cipher_suite)) |
+ self.wfile.write('\n') |
+ return True |
+ |
def CloseSocketHandler(self): |
"""Closes the socket without sending anything.""" |