]> granicus.if.org Git - python/commitdiff
merge 3.4 (#22935)
authorBenjamin Peterson <benjamin@python.org>
Sat, 6 Dec 2014 03:11:33 +0000 (22:11 -0500)
committerBenjamin Peterson <benjamin@python.org>
Sat, 6 Dec 2014 03:11:33 +0000 (22:11 -0500)
1  2 
Lib/test/test_ftplib.py
Lib/test/test_ssl.py
Misc/NEWS
Modules/_ssl.c

Simple merge
index 2a18cc49311e8dab31f5ba62b8e182cf8125c6cd,2dea0c5cff6f24bc5278a5f123f0b0372946f4cb..67eea980c477d2584f8b85be058bda7f7319c33b
@@@ -2410,20 -2168,24 +2410,24 @@@ else
                          sys.stdout.write(
                              " SSL2 client to SSL23 server test unexpectedly failed:\n %s\n"
                              % str(x))
-             try_protocol_combo(ssl.PROTOCOL_SSLv23, ssl.PROTOCOL_SSLv3, 'SSLv3')
+             if hasattr(ssl, 'PROTOCOL_SSLv3'):
 -                try_protocol_combo(ssl.PROTOCOL_SSLv23, ssl.PROTOCOL_SSLv3, True)
++                try_protocol_combo(ssl.PROTOCOL_SSLv23, ssl.PROTOCOL_SSLv3, 'SSLv3')
              try_protocol_combo(ssl.PROTOCOL_SSLv23, ssl.PROTOCOL_SSLv23, True)
 -            try_protocol_combo(ssl.PROTOCOL_SSLv23, ssl.PROTOCOL_TLSv1, True)
 +            try_protocol_combo(ssl.PROTOCOL_SSLv23, ssl.PROTOCOL_TLSv1, 'TLSv1')
  
-             try_protocol_combo(ssl.PROTOCOL_SSLv23, ssl.PROTOCOL_SSLv3, 'SSLv3', ssl.CERT_OPTIONAL)
+             if hasattr(ssl, 'PROTOCOL_SSLv3'):
 -                try_protocol_combo(ssl.PROTOCOL_SSLv23, ssl.PROTOCOL_SSLv3, True, ssl.CERT_OPTIONAL)
++                try_protocol_combo(ssl.PROTOCOL_SSLv23, ssl.PROTOCOL_SSLv3, 'SSLv3', ssl.CERT_OPTIONAL)
              try_protocol_combo(ssl.PROTOCOL_SSLv23, ssl.PROTOCOL_SSLv23, True, ssl.CERT_OPTIONAL)
 -            try_protocol_combo(ssl.PROTOCOL_SSLv23, ssl.PROTOCOL_TLSv1, True, ssl.CERT_OPTIONAL)
 +            try_protocol_combo(ssl.PROTOCOL_SSLv23, ssl.PROTOCOL_TLSv1, 'TLSv1', ssl.CERT_OPTIONAL)
  
-             try_protocol_combo(ssl.PROTOCOL_SSLv23, ssl.PROTOCOL_SSLv3, 'SSLv3', ssl.CERT_REQUIRED)
+             if hasattr(ssl, 'PROTOCOL_SSLv3'):
 -                try_protocol_combo(ssl.PROTOCOL_SSLv23, ssl.PROTOCOL_SSLv3, True, ssl.CERT_REQUIRED)
++                try_protocol_combo(ssl.PROTOCOL_SSLv23, ssl.PROTOCOL_SSLv3, 'SSLv3', ssl.CERT_REQUIRED)
              try_protocol_combo(ssl.PROTOCOL_SSLv23, ssl.PROTOCOL_SSLv23, True, ssl.CERT_REQUIRED)
 -            try_protocol_combo(ssl.PROTOCOL_SSLv23, ssl.PROTOCOL_TLSv1, True, ssl.CERT_REQUIRED)
 +            try_protocol_combo(ssl.PROTOCOL_SSLv23, ssl.PROTOCOL_TLSv1, 'TLSv1', ssl.CERT_REQUIRED)
  
              # Server with specific SSL options
-             try_protocol_combo(ssl.PROTOCOL_SSLv23, ssl.PROTOCOL_SSLv3, False,
+             if hasattr(ssl, 'PROTOCOL_SSLv3'):
+                 try_protocol_combo(ssl.PROTOCOL_SSLv23, ssl.PROTOCOL_SSLv3, False,
                                 server_options=ssl.OP_NO_SSLv3)
              # Will choose TLSv1
              try_protocol_combo(ssl.PROTOCOL_SSLv23, ssl.PROTOCOL_SSLv23, True,
              """Connecting to a TLSv1 server with various client options"""
              if support.verbose:
                  sys.stdout.write("\n")
 -            try_protocol_combo(ssl.PROTOCOL_TLSv1, ssl.PROTOCOL_TLSv1, True)
 -            try_protocol_combo(ssl.PROTOCOL_TLSv1, ssl.PROTOCOL_TLSv1, True, ssl.CERT_OPTIONAL)
 -            try_protocol_combo(ssl.PROTOCOL_TLSv1, ssl.PROTOCOL_TLSv1, True, ssl.CERT_REQUIRED)
 +            try_protocol_combo(ssl.PROTOCOL_TLSv1, ssl.PROTOCOL_TLSv1, 'TLSv1')
 +            try_protocol_combo(ssl.PROTOCOL_TLSv1, ssl.PROTOCOL_TLSv1, 'TLSv1', ssl.CERT_OPTIONAL)
 +            try_protocol_combo(ssl.PROTOCOL_TLSv1, ssl.PROTOCOL_TLSv1, 'TLSv1', ssl.CERT_REQUIRED)
              if hasattr(ssl, 'PROTOCOL_SSLv2'):
                  try_protocol_combo(ssl.PROTOCOL_TLSv1, ssl.PROTOCOL_SSLv2, False)
-             try_protocol_combo(ssl.PROTOCOL_TLSv1, ssl.PROTOCOL_SSLv3, False)
+             if hasattr(ssl, 'PROTOCOL_SSLv3'):
+                 try_protocol_combo(ssl.PROTOCOL_TLSv1, ssl.PROTOCOL_SSLv3, False)
              try_protocol_combo(ssl.PROTOCOL_TLSv1, ssl.PROTOCOL_SSLv23, False,
                                 client_options=ssl.OP_NO_TLSv1)
  
                 Testing against older TLS versions."""
              if support.verbose:
                  sys.stdout.write("\n")
 -            try_protocol_combo(ssl.PROTOCOL_TLSv1_1, ssl.PROTOCOL_TLSv1_1, True)
 +            try_protocol_combo(ssl.PROTOCOL_TLSv1_1, ssl.PROTOCOL_TLSv1_1, 'TLSv1.1')
              if hasattr(ssl, 'PROTOCOL_SSLv2'):
                  try_protocol_combo(ssl.PROTOCOL_TLSv1_1, ssl.PROTOCOL_SSLv2, False)
-             try_protocol_combo(ssl.PROTOCOL_TLSv1_1, ssl.PROTOCOL_SSLv3, False)
+             if hasattr(ssl, 'PROTOCOL_SSLv3'):
+                 try_protocol_combo(ssl.PROTOCOL_TLSv1_1, ssl.PROTOCOL_SSLv3, False)
              try_protocol_combo(ssl.PROTOCOL_TLSv1_1, ssl.PROTOCOL_SSLv23, False,
                                 client_options=ssl.OP_NO_TLSv1_1)
  
diff --cc Misc/NEWS
index 74da40280e82588da69a69d30bccb70e31656f9a,d5bb07446b139ac6b9a4493d762b1b2ab35aa6e8..a9ffe84b35cafa9e298d01ed6e2a574f4960769f
+++ b/Misc/NEWS
  Build
  -----
  
 -- The Windows build now includes OpenSSL 1.0.1g
++- Issue #22935: Allow the ssl module to be compiled if openssl doesn't support
++  SSL 3.
++
 +- Issue #22592: Drop support of the Borland C compiler to build Python. The
 +  distutils module still supports it to build extensions.
 +
 +- Issue #22591: Drop support of MS-DOS, especially of the DJGPP compiler
 +  (MS-DOS port of GCC).
 +
 +- Issue #16537: Check whether self.extensions is empty in setup.py. Patch by
 +  Jonathan Hosmer.
 +
 +- Issue #22359: Remove incorrect uses of recursive make.  Patch by Jonas
 +  Wagner.
 +
 +- Issue #21958: Define HAVE_ROUND when building with Visual Studio 2013 and
 +  above.  Patch by Zachary Turner.
 +
 +- Issue #18093: the programs that embed the CPython runtime are now in a
 +  separate "Programs" directory, rather than being kept in the Modules
 +  directory.
 +
 +- Issue #15759: "make suspicious", "make linkcheck" and "make doctest" in Doc/
 +  now display special message when and only when there are failures.
 +
 +- Issue #21141: The Windows build process no longer attempts to find Perl,
 +  instead relying on OpenSSL source being configured and ready to build.  The
 +  ``PCbuild\build_ssl.py`` script has been re-written and re-named to
 +  ``PCbuild\prepare_ssl.py``, and takes care of configuring OpenSSL source
 +  for both 32 and 64 bit platforms.  OpenSSL sources obtained from
 +  svn.python.org will always be pre-configured and ready to build.
 +
 +- Issue #21037: Add a build option to enable AddressSanitizer support.
 +
 +- Issue #19962: The Windows build process now creates "python.bat" in the
 +  root of the source tree, which passes all arguments through to the most
 +  recently built interpreter.
  
  - Issue #21285: Refactor and fix curses configure check to always search
    in a ncursesw directory.
diff --cc Modules/_ssl.c
Simple merge