Blob Blame History Raw
Pouze v M2Crypto-0.21.1: randpool.dat
diff -ur M2Crypto/tests/test_bio_ssl.py M2Crypto-0.21.1/tests/test_bio_ssl.py
--- M2Crypto/tests/test_bio_ssl.py	2011-01-15 20:10:05.000000000 +0100
+++ M2Crypto-0.21.1/tests/test_bio_ssl.py	2014-01-06 23:31:47.709383892 +0100
@@ -11,7 +11,7 @@
 from M2Crypto import Rand
 from M2Crypto import threading as m2threading
 
-from test_ssl import srv_host, srv_port
+from test_ssl import srv_host, allocate_srv_port
 
 class HandshakeClient(threading.Thread):
     
@@ -113,6 +113,7 @@
         conn.set_bio(readbio, writebio)
         conn.set_accept_state()
         handshake_complete = False
+        srv_port = allocate_srv_port()
         sock = socket.socket()
         sock.bind((srv_host, srv_port))
         sock.listen(5)
diff -ur M2Crypto/tests/test_ssl.py M2Crypto-0.21.1/tests/test_ssl.py
--- M2Crypto/tests/test_ssl.py	2014-01-06 22:49:57.961307007 +0100
+++ M2Crypto-0.21.1/tests/test_ssl.py	2014-01-06 23:30:13.856457390 +0100
@@ -26,7 +26,16 @@
 from fips import fips_mode
 
 srv_host = 'localhost'
-srv_port = 64000
+
+def allocate_srv_port():
+    s = socket.socket()
+    try:
+        s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
+        s.bind((srv_host, 0))
+        (host, port) = s.getsockname()
+    finally:
+        s.close()
+    return port
 
 def verify_cb_new_function(ok, store):
     try:
@@ -113,17 +122,13 @@
 
     def setUp(self):
         self.srv_host = srv_host
-        self.srv_port = srv_port
-        self.srv_addr = (srv_host, srv_port)
-        self.srv_url = 'https://%s:%s/' % (srv_host, srv_port)
+        self.srv_port = allocate_srv_port()
+        self.srv_addr = (srv_host, self.srv_port)
+        self.srv_url = 'https://%s:%s/' % (srv_host, self.srv_port)
         self.args = ['s_server', '-quiet', '-www',
                      #'-cert', 'server.pem', Implicitly using this
                      '-accept', str(self.srv_port)]
 
-    def tearDown(self):
-        global srv_port
-        srv_port = srv_port - 1
-
 
 class PassSSLClientTestCase(BaseSSLClientTestCase):
         
@@ -136,7 +141,7 @@
         pid = self.start_server(self.args)
         try:
             from M2Crypto import httpslib
-            c = httpslib.HTTPSConnection(srv_host, srv_port)
+            c = httpslib.HTTPSConnection(srv_host, self.srv_port)
             c.request('GET', '/')
             data = c.getresponse().read()
             c.close()
@@ -153,7 +158,7 @@
             ctx.load_cert('tests/x509.pem')
             ctx.set_verify(SSL.verify_peer | SSL.verify_fail_if_no_peer_cert, 1)
             ctx.set_session_cache_mode(m2.SSL_SESS_CACHE_CLIENT)
-            c = httpslib.HTTPSConnection(srv_host, srv_port, ssl_context=ctx)
+            c = httpslib.HTTPSConnection(srv_host, self.srv_port, ssl_context=ctx)
             c.request('GET', '/')
             ses = c.get_session()
             t = ses.as_text()
@@ -166,7 +171,7 @@
             ctx2.load_cert('tests/x509.pem')
             ctx2.set_verify(SSL.verify_peer | SSL.verify_fail_if_no_peer_cert, 1)
             ctx2.set_session_cache_mode(m2.SSL_SESS_CACHE_CLIENT)
-            c2 = httpslib.HTTPSConnection(srv_host, srv_port, ssl_context=ctx2)
+            c2 = httpslib.HTTPSConnection(srv_host, self.srv_port, ssl_context=ctx2)
             c2.set_session(ses)
             c2.request('GET', '/')
             ses2 = c2.get_session()
@@ -186,7 +191,7 @@
             ctx = SSL.Context()
             ctx.set_verify(SSL.verify_peer | SSL.verify_fail_if_no_peer_cert, 9)
             ctx.load_verify_locations('tests/ca.pem')
-            c = httpslib.HTTPSConnection(srv_host, srv_port, ssl_context=ctx)
+            c = httpslib.HTTPSConnection(srv_host, self.srv_port, ssl_context=ctx)
             c.request('GET', '/')
             data = c.getresponse().read()
             c.close()
@@ -201,7 +206,7 @@
             ctx = SSL.Context()
             ctx.set_verify(SSL.verify_peer | SSL.verify_fail_if_no_peer_cert, 9)
             ctx.load_verify_locations('tests/server.pem')
-            c = httpslib.HTTPSConnection(srv_host, srv_port, ssl_context=ctx)
+            c = httpslib.HTTPSConnection(srv_host, self.srv_port, ssl_context=ctx)
             self.assertRaises(SSL.SSLError, c.request, 'GET', '/')
             c.close()
         finally:
@@ -211,7 +216,7 @@
         pid = self.start_server(self.args)
         try:
             from M2Crypto import httpslib
-            c = httpslib.HTTPS(srv_host, srv_port)
+            c = httpslib.HTTPS(srv_host, self.srv_port)
             c.putrequest('GET', '/')
             c.putheader('Accept', 'text/html')
             c.putheader('Accept', 'text/plain')
@@ -232,7 +237,7 @@
             ctx = SSL.Context()
             ctx.set_verify(SSL.verify_peer | SSL.verify_fail_if_no_peer_cert, 9)
             ctx.load_verify_locations('tests/ca.pem')
-            c = httpslib.HTTPS(srv_host, srv_port, ssl_context=ctx)
+            c = httpslib.HTTPS(srv_host, self.srv_port, ssl_context=ctx)
             c.putrequest('GET', '/')
             c.putheader('Accept', 'text/html')
             c.putheader('Accept', 'text/plain')
@@ -253,7 +258,7 @@
             ctx = SSL.Context()
             ctx.set_verify(SSL.verify_peer | SSL.verify_fail_if_no_peer_cert, 9)
             ctx.load_verify_locations('tests/server.pem')
-            c = httpslib.HTTPS(srv_host, srv_port, ssl_context=ctx)
+            c = httpslib.HTTPS(srv_host, self.srv_port, ssl_context=ctx)
             c.putrequest('GET', '/')
             c.putheader('Accept', 'text/html')
             c.putheader('Accept', 'text/plain')
@@ -871,7 +876,7 @@
             from M2Crypto import m2urllib
             url = m2urllib.FancyURLopener()
             url.addheader('Connection', 'close')
-            u = url.open('https://%s:%s/' % (srv_host, srv_port))
+            u = url.open('https://%s:%s/' % (srv_host, self.srv_port))
             data = u.read()
             u.close()
         finally:
@@ -896,7 +901,7 @@
                 from M2Crypto import m2urllib2
                 opener = m2urllib2.build_opener()
                 opener.addheaders = [('Connection', 'close')]
-                u = opener.open('https://%s:%s/' % (srv_host, srv_port))
+                u = opener.open('https://%s:%s/' % (srv_host, self.srv_port))
                 data = u.read()
                 u.close()
             finally:
@@ -913,7 +918,7 @@
                 from M2Crypto import m2urllib2
                 opener = m2urllib2.build_opener(ctx)
                 opener.addheaders = [('Connection', 'close')]           
-                u = opener.open('https://%s:%s/' % (srv_host, srv_port))
+                u = opener.open('https://%s:%s/' % (srv_host, self.srv_port))
                 data = u.read()
                 u.close()
             finally:
@@ -930,7 +935,7 @@
                 from M2Crypto import m2urllib2
                 opener = m2urllib2.build_opener(ctx)
                 opener.addheaders = [('Connection', 'close')]
-                self.assertRaises(SSL.SSLError, opener.open, 'https://%s:%s/' % (srv_host, srv_port))
+                self.assertRaises(SSL.SSLError, opener.open, 'https://%s:%s/' % (srv_host, self.srv_port))
             finally:
                 self.stop_server(pid)
 
@@ -942,7 +947,7 @@
                 from M2Crypto import m2urllib2
                 opener = m2urllib2.build_opener(ctx, m2urllib2.HTTPBasicAuthHandler())
                 m2urllib2.install_opener(opener)
-                req = m2urllib2.Request('https://%s:%s/' % (srv_host, srv_port))
+                req = m2urllib2.Request('https://%s:%s/' % (srv_host, self.srv_port))
                 u = m2urllib2.urlopen(req)
                 data = u.read()
                 u.close()
@@ -963,7 +968,7 @@
                 import gc
                 from M2Crypto import m2urllib2
                 o = m2urllib2.build_opener()
-                r = o.open('https://%s:%s/' % (srv_host, srv_port))
+                r = o.open('https://%s:%s/' % (srv_host, self.srv_port))
                 s = [r.fp._sock.fp]
                 r.close()
                 self.assertEqual(len(gc.get_referrers(s[0])), 1)
@@ -990,7 +995,7 @@
         pid = self.start_server(self.args)
         try:
             from M2Crypto import httpslib
-            c = httpslib.HTTPS(srv_host, srv_port)
+            c = httpslib.HTTPS(srv_host, self.srv_port)
             c.putrequest('GET', '/')
             c.putheader('Accept', 'text/html')
             c.putheader('Accept', 'text/plain')
@@ -1029,7 +1034,7 @@
             pid = self.start_server(self.args)
             try:
                 from M2Crypto import httpslib
-                c = httpslib.HTTPS(srv_host, srv_port)
+                c = httpslib.HTTPS(srv_host, self.srv_port)
                 c.putrequest('GET', '/' + FIFO_NAME)
                 c.putheader('Accept', 'text/html')
                 c.putheader('Accept', 'text/plain')
@@ -1086,7 +1091,7 @@
             
             contextFactory = ContextFactory()
             factory = EchoClientFactory()
-            wrapper.connectSSL(srv_host, srv_port, factory, contextFactory)
+            wrapper.connectSSL(srv_host, self.srv_port, factory, contextFactory)
             reactor.run() # This will block until reactor.stop() is called
         finally:
             self.stop_server(pid)