merge trunk
diff --git a/OpenSSL/test/test_rand.py b/OpenSSL/test/test_rand.py
index db1544c..c6717e9 100644
--- a/OpenSSL/test/test_rand.py
+++ b/OpenSSL/test/test_rand.py
@@ -108,10 +108,14 @@
 
     def test_egd_missing(self):
         """
-        L{OpenSSL.rand.egd} returns C{0} if the EGD socket passed to it does not
-        exist.
+        L{OpenSSL.rand.egd} returns C{0} or C{-1} if the EGD socket passed
+        to it does not exist.
         """
-        self.assertEquals(rand.egd(self.mktemp()), 0)
+        result = rand.egd(self.mktemp())
+        expected = (-1, 0)
+        self.assertTrue(
+            result in expected,
+            "%r not in %r" % (result, expected))
 
 
     def test_cleanup_wrong_args(self):
diff --git a/OpenSSL/test/test_ssl.py b/OpenSSL/test/test_ssl.py
index 5e1ab27..27fdf54 100644
--- a/OpenSSL/test/test_ssl.py
+++ b/OpenSSL/test/test_ssl.py
@@ -4,7 +4,7 @@
 Unit tests for L{OpenSSL.SSL}.
 """
 
-from errno import ECONNREFUSED, EINPROGRESS
+from errno import ECONNREFUSED, EINPROGRESS, EWOULDBLOCK
 from sys import platform
 from socket import error, socket
 from os import makedirs
@@ -917,7 +917,8 @@
         port.listen(3)
 
         clientSSL = Connection(Context(TLSv1_METHOD), socket())
-        clientSSL.connect(port.getsockname())
+        clientSSL.connect(('127.0.0.1', port.getsockname()[1]))
+        # XXX An assertion?  Or something?
 
 
     def test_connect_ex(self):
@@ -931,8 +932,10 @@
 
         clientSSL = Connection(Context(TLSv1_METHOD), socket())
         clientSSL.setblocking(False)
-        self.assertEquals(
-            clientSSL.connect_ex(port.getsockname()), EINPROGRESS)
+        result = clientSSL.connect_ex(port.getsockname())
+        expected = (EINPROGRESS, EWOULDBLOCK)
+        self.assertTrue(
+                result in expected, "%r not in %r" % (result, expected))
 
 
     def test_accept_wrong_args(self):
@@ -958,7 +961,10 @@
         portSSL.listen(3)
 
         clientSSL = Connection(Context(TLSv1_METHOD), socket())
-        clientSSL.connect(portSSL.getsockname())
+
+        # Calling portSSL.getsockname() here to get the server IP address sounds
+        # great, but frequently fails on Windows.
+        clientSSL.connect(('127.0.0.1', portSSL.getsockname()[1]))
 
         serverSSL, address = portSSL.accept()
 
@@ -1096,7 +1102,10 @@
         it even if this requires multiple calls of an underlying write function.
         """
         server, client = self._loopback()
-        message = b('x') * 1024 * 128 + b('y')
+        # Should be enough, underlying SSL_write should only do 16k at a time.
+        # On Windows, after 32k of bytes the write will block (forever - because
+        # no one is yet reading).
+        message = b('x') * (1024 * 32 - 1) + b('y')
         server.sendall(message)
         accum = []
         received = 0
diff --git a/setup.py b/setup.py
index 215d012..c2ccba5 100755
--- a/setup.py
+++ b/setup.py
@@ -11,9 +11,6 @@
 Installation script for the OpenSSL module
 """
 
-import distutils.log
-distutils.log.set_verbosity(3)
-
 import sys, os
 from distutils.core import Extension, setup
 from distutils.errors import DistutilsFileError