Commit Graph

61 Commits

Author SHA1 Message Date
Antoine Pitrou 942d554c5b Don't fail in test_ssl when svn.python.org is unavailable 2010-10-31 13:26:53 +00:00
Antoine Pitrou f7f390a251 Issue #9729: Fix the signature of SSLSocket.recvfrom() and
SSLSocket.sendto() to match the corresponding socket methods.  Also,
fix various SSLSocket methods to raise socket.error rather than an
unhelpful TypeError when called on an unconnected socket.  Original patch
by Andrew Bennetts.

NOTE: obviously, these methods are untested and unused in the real world...
2010-09-14 14:37:18 +00:00
Antoine Pitrou de30f7042f Some tests didn't get executed (because of the merge in r83728) 2010-09-14 12:54:08 +00:00
Antoine Pitrou 4e406d8ff4 Merged revisions 84650 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r84650 | antoine.pitrou | 2010-09-09 15:31:46 +0200 (jeu., 09 sept. 2010) | 4 lines

  Use transient_internet() where appropriate in test_ssl
  (svn.python.org is sometimes unavailable)
........
2010-09-09 13:35:44 +00:00
Antoine Pitrou c818ed4d61 Merged revisions 84597-84599 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r84597 | antoine.pitrou | 2010-09-07 22:42:19 +0200 (mar., 07 sept. 2010) | 5 lines

  Issue #8574: better implementation of test.support.transient_internet().
  Original patch by Victor.
........
  r84598 | antoine.pitrou | 2010-09-07 23:05:49 +0200 (mar., 07 sept. 2010) | 6 lines

  Issue #9792: In case of connection failure, socket.create_connection()
  would swallow the exception and raise a new one, making it impossible
  to fetch the original errno, or to filter timeout errors.  Now the
  original error is re-raised.
........
  r84599 | antoine.pitrou | 2010-09-07 23:09:09 +0200 (mar., 07 sept. 2010) | 4 lines

  Improve transient_internet() again to detect more network errors,
  and use it in test_robotparser. Fixes #8574.
........
2010-09-07 21:40:25 +00:00
Antoine Pitrou b233b7d7b5 Merged revisions 84021-84023 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r84021 | antoine.pitrou | 2010-08-14 18:24:38 +0200 (sam., 14 août 2010) | 4 lines

  Add a reasonable timeout to network SSL tests, so as to avoid buildbot timeouts
  when the remote server doesn't answer.
........
  r84022 | antoine.pitrou | 2010-08-14 18:32:10 +0200 (sam., 14 août 2010) | 4 lines

  This is a better resolution than r84021 (because it will also affect
  ssl.get_server_certificate()).
........
  r84023 | antoine.pitrou | 2010-08-14 18:33:38 +0200 (sam., 14 août 2010) | 3 lines

  There doesn't seem to be a reason for this test to be disabled.
........
2010-08-14 17:28:36 +00:00
Antoine Pitrou 969fbe3d91 Don't crash when the _ssl module isn't built 2010-08-05 01:30:23 +00:00
Antoine Pitrou d75efd9c56 Merged revisions 83727 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r83727 | antoine.pitrou | 2010-08-04 19:14:06 +0200 (mer., 04 août 2010) | 3 lines

  Try to fix issue #9415: skip some tests on broken Ubuntu OpenSSL
........
2010-08-04 17:38:33 +00:00
Antoine Pitrou 1bbb68d37c `self` doesn't exist here 2010-05-06 14:11:23 +00:00
Antoine Pitrou 8651810df9 Remove duplicate test 2010-05-01 20:26:58 +00:00
Antoine Pitrou 3945c867d6 Fix style issues in test_ssl 2010-04-28 21:11:01 +00:00
Antoine Pitrou 4c7bcf1194 Issue #8086: In :func:`ssl.DER_cert_to_PEM_cert()`, fix missing newline
before the certificate footer.  Patch by Kyle VanderBeek.
2010-04-27 22:03:37 +00:00
Antoine Pitrou 9bf5425f5f socket.error can really happen here, and fix a possible NameError 2010-04-27 13:13:26 +00:00
Antoine Pitrou db187847fb Qualify or remove or bare excepts. Simplify exception handling in places.
Remove uses of test_support.TestFailed.
2010-04-27 10:32:58 +00:00
Antoine Pitrou 435ba0cfb8 replace custom code with standard library functionality (HTTPServer.shutdown())
+ enable test that was never run (!)
+ make tests faster by lowering polling timeout
2010-04-27 09:51:18 +00:00
Antoine Pitrou 150acda57f Remove uses of find_unused_port() in test_ssl, and small cleanups 2010-04-27 08:40:51 +00:00
Antoine Pitrou fc69af1562 Issue #5103: SSL handshake would ignore the socket timeout and block
indefinitely if the other end didn't respond.
2010-04-24 20:04:58 +00:00
Antoine Pitrou 55841ac1a5 Make test_makefile_close a networked test (can't read() from a non-connected
socket under OS X), and skip it under Windows (where sockets can't be read()
from using their fds).
2010-04-24 10:43:57 +00:00
Antoine Pitrou b558f17b18 Issue #5238: Calling makefile() on an SSL object would prevent the
underlying socket from being closed until all objects get truely destroyed.
2010-04-23 23:25:45 +00:00
Antoine Pitrou dfb299bb95 Issue #7943: Fix circular reference created when instantiating an SSL
socket.  Initial patch by Péter Szabó.
2010-04-23 22:54:59 +00:00
Antoine Pitrou 9aed604fb2 Skip test on old versions of OpenSSL 2010-04-22 18:00:41 +00:00
Antoine Pitrou 60b1ee375c Temporarily display OpenSSL version in verbose run -- trying to diagnose failure on Neal's buildbot. 2010-04-22 17:44:41 +00:00
Antoine Pitrou c715a9ed08 Issue #8484: Load all ciphers and digest algorithms when initializing
the _ssl extension, such that verification of some SSL certificates
doesn't fail because of an "unknown algorithm".
2010-04-21 19:28:03 +00:00
Antoine Pitrou 0a6373c1a9 Issue #8322: Add a *ciphers* argument to SSL sockets, so as to change the
available cipher list.  Helps fix test_ssl with OpenSSL 1.0.0.
2010-04-17 17:10:38 +00:00
Antoine Pitrou f9de534c21 Issue #8321: Give access to OpenSSL version numbers from the `ssl` module,
using the new attributes `ssl.OPENSSL_VERSION`, `ssl.OPENSSL_VERSION_INFO`
and `ssl.OPENSSL_VERSION_NUMBER`.
2010-04-05 21:35:07 +00:00
Florent Xicluna 0762788081 #7092 - Silence more py3k deprecation warnings, using test_support.check_py3k_warnings() helper. 2010-03-21 01:14:24 +00:00
Georg Brandl a4f46e1292 Remove unused imports in test modules. 2010-02-07 17:03:15 +00:00
Georg Brandl c7ca56d213 We heard you like test failures so we put unbound locals in your test so that you can fail while you fail. 2010-02-06 23:23:45 +00:00
Senthil Kumaran ce8e33a095 Reverting the Revision: 77368. I committed Flox's big patch for tests by
mistake. ( It may come in for sure tough)
2010-01-08 19:04:16 +00:00
Senthil Kumaran 3ddc435af6 Fixing - Issue7026 - RuntimeError: dictionary changed size during iteration. Patch by flox 2010-01-08 18:41:40 +00:00
Antoine Pitrou 5ba84910ae Issue #7133: SSL objects now support the new buffer API.
This fixes the test_ssl failure.
2009-10-19 17:59:07 +00:00
Benjamin Peterson 888a39b54c remove test_support.TestSkipped and just use unittest.SkipTest 2009-03-26 20:48:25 +00:00
Bill Janssen eb257ac97d fix for release blocker 3910, 2.6 regression in socket.ssl method 2008-09-29 18:56:38 +00:00
Bill Janssen 61c001a939 incorporate fixes from issue 3162; SSL doc patch 2008-09-08 16:37:24 +00:00
Benjamin Peterson 26f521668a fix old API names in test_ssl 2008-08-18 18:39:57 +00:00
Bill Janssen 39295c2650 remove duplicate close() from ssl.py; expose unwrap and add test for it 2008-08-12 16:31:21 +00:00
Bill Janssen 0c1dbf8792 catch socket.error errors in badCertTest 2008-07-17 18:01:57 +00:00
Bill Janssen de34d91eb0 make sure we close the active channels when eof is received on them 2008-06-28 23:00:39 +00:00
Bill Janssen 934b16d0c2 various SSL fixes; issues 1251, 3162, 3212 2008-06-28 22:19:33 +00:00
Trent Nelson e41b0061dd - Issue #2550: The approach used by client/server code for obtaining ports
to listen on in network-oriented tests has been refined in an effort to
  facilitate running multiple instances of the entire regression test suite
  in parallel without issue.  test_support.bind_port() has been fixed such
  that it will always return a unique port -- which wasn't always the case
  with the previous implementation, especially if socket options had been
  set that affected address reuse (i.e. SO_REUSEADDR, SO_REUSEPORT).  The
  new implementation of bind_port() will actually raise an exception if it
  is passed an AF_INET/SOCK_STREAM socket with either the SO_REUSEADDR or
  SO_REUSEPORT socket option set.  Furthermore, if available, bind_port()
  will set the SO_EXCLUSIVEADDRUSE option on the socket it's been passed.
  This currently only applies to Windows.  This option prevents any other
  sockets from binding to the host/port we've bound to, thus removing the
  possibility of the 'non-deterministic' behaviour, as Microsoft puts it,
  that occurs when a second SOCK_STREAM socket binds and accepts to a
  host/port that's already been bound by another socket.  The optional
  preferred port parameter to bind_port() has been removed.  Under no
  circumstances should tests be hard coding ports!

  test_support.find_unused_port() has also been introduced, which will pass
  a temporary socket object to bind_port() in order to obtain an unused port.
  The temporary socket object is then closed and deleted, and the port is
  returned.  This method should only be used for obtaining an unused port
  in order to pass to an external program (i.e. the -accept [port] argument
  to openssl's s_server mode) or as a parameter to a server-oriented class
  that doesn't give you direct access to the underlying socket used.

  Finally, test_support.HOST has been introduced, which should be used for
  the host argument of any relevant socket calls (i.e. bind and connect).

  The following tests were updated to following the new conventions:
    test_socket, test_smtplib, test_asyncore, test_ssl, test_httplib,
    test_poplib, test_ftplib, test_telnetlib, test_socketserver,
    test_asynchat and test_socket_ssl.

  It is now possible for multiple instances of the regression test suite to
  run in parallel without issue.
2008-04-08 23:47:30 +00:00
Neal Norwitz d0a91afa70 Apply same patch from 3k branch to try and prevent this test from hanging
on various platforms, most recently the Alpha Tru64.
2008-04-02 05:54:27 +00:00
Benjamin Peterson 5b63acd31e #2503 make singletons compared with "is" not == or !=
Thanks to Wummel for the patch
2008-03-29 15:24:25 +00:00
Neal Norwitz 0098c9d609 Introduce a lock to fix a race condition which caused an exception in the test.
Some buildbots were consistently failing (e.g., amd64).
Also remove a couple of semi-colons.
2008-03-09 19:03:42 +00:00
Christian Heimes 6c29be54a5 Disabled test_xmlrpc:test_404. It's causing lots of false alarms.
I also disabled a test in test_ssl which requires network access to svn.python.org. This fixes a bug Skip has reported a while ago.
2008-01-19 16:39:27 +00:00
Bill Janssen bf10c47389 use binary mode when reading files for testAsyncore to make Windows happy 2007-09-16 23:16:46 +00:00
Bill Janssen 296a59d3be Add support for asyncore server-side SSL support. This requires
adding the 'makefile' method to ssl.SSLSocket, and importing the
requisite fakefile class from socket.py, and making the appropriate
changes to it to make it use the SSL connection.

Added sample HTTPS server to test_ssl.py, and test that uses it.

Change SSL tests to use https://svn.python.org/, instead of
www.sf.net and pop.gmail.com.

Added utility function to ssl module, get_server_certificate,
to wrap up the several things to be done to pull a certificate
from a remote server.
2007-09-16 22:06:00 +00:00
Bill Janssen e3f1d7d059 Make sure test_ssl doesn't reference the ssl module in a
context where it can't be imported.
2007-09-11 01:09:19 +00:00
Bill Janssen 119c7a623a A better way of finding an open port to test with. 2007-09-10 23:41:24 +00:00
Bill Janssen 98d19dafd9 More work on SSL support.
* Much expanded test suite:

  All protocols tested against all other protocols.
  All protocols tested with all certificate options.
  Tests for bad key and bad cert.
  Test of STARTTLS functionality.
  Test of RAND_* functions.

* Fixes for threading/malloc bug.

* Issue 1065 fixed:

  sslsocket class renamed to SSLSocket.
  sslerror class renamed to SSLError.
  Function "wrap_socket" now used to wrap an existing socket.

* Issue 1583946 finally fixed:

  Support for subjectAltName added.
  Subject name now returned as proper DN list of RDNs.

* SSLError exported from socket as "sslerror".

* RAND_* functions properly exported from ssl.py.

* Documentation improved:

  Example of how to create a self-signed certificate.
  Better indexing.
2007-09-10 21:51:02 +00:00
Bill Janssen ffe576dc78 SSL certificate distinguished names should be represented by tuples 2007-09-05 00:46:27 +00:00