@@ -2410,20 +2410,24 @@ def test_protocol_sslv23(self):
24102410 sys .stdout .write (
24112411 " SSL2 client to SSL23 server test unexpectedly failed:\n %s\n "
24122412 % str (x ))
2413- try_protocol_combo (ssl .PROTOCOL_SSLv23 , ssl .PROTOCOL_SSLv3 , 'SSLv3' )
2413+ if hasattr (ssl , 'PROTOCOL_SSLv3' ):
2414+ try_protocol_combo (ssl .PROTOCOL_SSLv23 , ssl .PROTOCOL_SSLv3 , 'SSLv3' )
24142415 try_protocol_combo (ssl .PROTOCOL_SSLv23 , ssl .PROTOCOL_SSLv23 , True )
24152416 try_protocol_combo (ssl .PROTOCOL_SSLv23 , ssl .PROTOCOL_TLSv1 , 'TLSv1' )
24162417
2417- try_protocol_combo (ssl .PROTOCOL_SSLv23 , ssl .PROTOCOL_SSLv3 , 'SSLv3' , ssl .CERT_OPTIONAL )
2418+ if hasattr (ssl , 'PROTOCOL_SSLv3' ):
2419+ try_protocol_combo (ssl .PROTOCOL_SSLv23 , ssl .PROTOCOL_SSLv3 , 'SSLv3' , ssl .CERT_OPTIONAL )
24182420 try_protocol_combo (ssl .PROTOCOL_SSLv23 , ssl .PROTOCOL_SSLv23 , True , ssl .CERT_OPTIONAL )
24192421 try_protocol_combo (ssl .PROTOCOL_SSLv23 , ssl .PROTOCOL_TLSv1 , 'TLSv1' , ssl .CERT_OPTIONAL )
24202422
2421- try_protocol_combo (ssl .PROTOCOL_SSLv23 , ssl .PROTOCOL_SSLv3 , 'SSLv3' , ssl .CERT_REQUIRED )
2423+ if hasattr (ssl , 'PROTOCOL_SSLv3' ):
2424+ try_protocol_combo (ssl .PROTOCOL_SSLv23 , ssl .PROTOCOL_SSLv3 , 'SSLv3' , ssl .CERT_REQUIRED )
24222425 try_protocol_combo (ssl .PROTOCOL_SSLv23 , ssl .PROTOCOL_SSLv23 , True , ssl .CERT_REQUIRED )
24232426 try_protocol_combo (ssl .PROTOCOL_SSLv23 , ssl .PROTOCOL_TLSv1 , 'TLSv1' , ssl .CERT_REQUIRED )
24242427
24252428 # Server with specific SSL options
2426- try_protocol_combo (ssl .PROTOCOL_SSLv23 , ssl .PROTOCOL_SSLv3 , False ,
2429+ if hasattr (ssl , 'PROTOCOL_SSLv3' ):
2430+ try_protocol_combo (ssl .PROTOCOL_SSLv23 , ssl .PROTOCOL_SSLv3 , False ,
24272431 server_options = ssl .OP_NO_SSLv3 )
24282432 # Will choose TLSv1
24292433 try_protocol_combo (ssl .PROTOCOL_SSLv23 , ssl .PROTOCOL_SSLv23 , True ,
@@ -2433,6 +2437,8 @@ def test_protocol_sslv23(self):
24332437
24342438
24352439 @skip_if_broken_ubuntu_ssl
2440+ @unittest .skipUnless (hasattr (ssl , 'PROTOCOL_SSLv3' ),
2441+ "OpenSSL is compiled without SSLv3 support" )
24362442 def test_protocol_sslv3 (self ):
24372443 """Connecting to an SSLv3 server with various client options"""
24382444 if support .verbose :
@@ -2460,7 +2466,8 @@ def test_protocol_tlsv1(self):
24602466 try_protocol_combo (ssl .PROTOCOL_TLSv1 , ssl .PROTOCOL_TLSv1 , 'TLSv1' , ssl .CERT_REQUIRED )
24612467 if hasattr (ssl , 'PROTOCOL_SSLv2' ):
24622468 try_protocol_combo (ssl .PROTOCOL_TLSv1 , ssl .PROTOCOL_SSLv2 , False )
2463- try_protocol_combo (ssl .PROTOCOL_TLSv1 , ssl .PROTOCOL_SSLv3 , False )
2469+ if hasattr (ssl , 'PROTOCOL_SSLv3' ):
2470+ try_protocol_combo (ssl .PROTOCOL_TLSv1 , ssl .PROTOCOL_SSLv3 , False )
24642471 try_protocol_combo (ssl .PROTOCOL_TLSv1 , ssl .PROTOCOL_SSLv23 , False ,
24652472 client_options = ssl .OP_NO_TLSv1 )
24662473
@@ -2475,7 +2482,8 @@ def test_protocol_tlsv1_1(self):
24752482 try_protocol_combo (ssl .PROTOCOL_TLSv1_1 , ssl .PROTOCOL_TLSv1_1 , 'TLSv1.1' )
24762483 if hasattr (ssl , 'PROTOCOL_SSLv2' ):
24772484 try_protocol_combo (ssl .PROTOCOL_TLSv1_1 , ssl .PROTOCOL_SSLv2 , False )
2478- try_protocol_combo (ssl .PROTOCOL_TLSv1_1 , ssl .PROTOCOL_SSLv3 , False )
2485+ if hasattr (ssl , 'PROTOCOL_SSLv3' ):
2486+ try_protocol_combo (ssl .PROTOCOL_TLSv1_1 , ssl .PROTOCOL_SSLv3 , False )
24792487 try_protocol_combo (ssl .PROTOCOL_TLSv1_1 , ssl .PROTOCOL_SSLv23 , False ,
24802488 client_options = ssl .OP_NO_TLSv1_1 )
24812489
@@ -2497,7 +2505,8 @@ def test_protocol_tlsv1_2(self):
24972505 client_options = ssl .OP_NO_SSLv3 | ssl .OP_NO_SSLv2 ,)
24982506 if hasattr (ssl , 'PROTOCOL_SSLv2' ):
24992507 try_protocol_combo (ssl .PROTOCOL_TLSv1_2 , ssl .PROTOCOL_SSLv2 , False )
2500- try_protocol_combo (ssl .PROTOCOL_TLSv1_2 , ssl .PROTOCOL_SSLv3 , False )
2508+ if hasattr (ssl , 'PROTOCOL_SSLv3' ):
2509+ try_protocol_combo (ssl .PROTOCOL_TLSv1_2 , ssl .PROTOCOL_SSLv3 , False )
25012510 try_protocol_combo (ssl .PROTOCOL_TLSv1_2 , ssl .PROTOCOL_SSLv23 , False ,
25022511 client_options = ssl .OP_NO_TLSv1_2 )
25032512
0 commit comments