]> git.ipfire.org Git - thirdparty/tornado.git/commitdiff
Add test to ensure stream start_tls calls use the server_hostname parameter
authorDaniel James Visentin <daniel.visentin@nicta.com.au>
Tue, 23 Dec 2014 01:09:48 +0000 (12:09 +1100)
committerDaniel James Visentin <daniel.visentin@nicta.com.au>
Tue, 23 Dec 2014 01:09:48 +0000 (12:09 +1100)
tornado/test/iostream_test.py

index f54eed6bb8113c4eb320174005513c2779b2c95a..280416844bfa9e23f06d790254e4d1b0c2f225ec 100644 (file)
@@ -841,10 +841,10 @@ class TestIOStreamStartTLS(AsyncTestCase):
         recv_line = yield self.client_stream.read_until(b"\r\n")
         self.assertEqual(line, recv_line)
 
-    def client_start_tls(self, ssl_options=None):
+    def client_start_tls(self, ssl_options=None, server_hostname=None):
         client_stream = self.client_stream
         self.client_stream = None
-        return client_stream.start_tls(False, ssl_options)
+        return client_stream.start_tls(False, ssl_options, server_hostname)
 
     def server_start_tls(self, ssl_options=None):
         server_stream = self.server_stream
@@ -881,6 +881,16 @@ class TestIOStreamStartTLS(AsyncTestCase):
             with self.assertRaises(ssl.SSLError):
                 yield client_future
 
+    @gen_test
+    def test_check_hostname(self):
+        self.server_start_tls(_server_ssl_options())
+        client_future = self.client_start_tls(
+            ssl.create_default_context(),
+            server_hostname=b'127.0.0.1')
+        with ExpectLog(gen_log, "SSL Error"):
+            with self.assertRaises(ssl.SSLError):
+                yield client_future
+
 
 @skipIfNonUnix
 class TestPipeIOStream(AsyncTestCase):