summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoel Rivera <rivera@joel.mx>2013-04-09 23:30:07 -0500
committerJoel Rivera <rivera@joel.mx>2013-04-09 23:30:07 -0500
commit64bec1503b9e5bd6998cb513ae304f55d0e8fd3a (patch)
treeeb726f6d6ea9bd987bb54e66b9236f6babc95874
parentf4a801e953d46f8c56f4fc6183771fb790d6c923 (diff)
downloadcherrypy-64bec1503b9e5bd6998cb513ae304f55d0e8fd3a.tar.gz
The Windows build for Python2.5 has IPV6_V6ONLY undefined,
with this in place, Vista machines happily run the server on both socket types. Applying patch of Peter Shinners from the issue #1130. Closing issue #1130
-rw-r--r--cherrypy/wsgiserver/wsgiserver2.py7
-rw-r--r--cherrypy/wsgiserver/wsgiserver3.py7
2 files changed, 10 insertions, 4 deletions
diff --git a/cherrypy/wsgiserver/wsgiserver2.py b/cherrypy/wsgiserver/wsgiserver2.py
index a08aec1b..f95d61e3 100644
--- a/cherrypy/wsgiserver/wsgiserver2.py
+++ b/cherrypy/wsgiserver/wsgiserver2.py
@@ -86,8 +86,11 @@ import re
import rfc822
import socket
import sys
-if 'win' in sys.platform and not hasattr(socket, 'IPPROTO_IPV6'):
- socket.IPPROTO_IPV6 = 41
+if 'win' in sys.platform and hasattr(socket, "AF_INET6"):
+ if not hasattr(socket, 'IPPROTO_IPV6'):
+ socket.IPPROTO_IPV6 = 41
+ if not hasattr(socket, 'IPV6_V6ONLY'):
+ socket.IPV6_V6ONLY = 27
try:
import cStringIO as StringIO
except ImportError:
diff --git a/cherrypy/wsgiserver/wsgiserver3.py b/cherrypy/wsgiserver/wsgiserver3.py
index d0d2c62b..775e676d 100644
--- a/cherrypy/wsgiserver/wsgiserver3.py
+++ b/cherrypy/wsgiserver/wsgiserver3.py
@@ -86,8 +86,11 @@ import re
import email.utils
import socket
import sys
-if 'win' in sys.platform and not hasattr(socket, 'IPPROTO_IPV6'):
- socket.IPPROTO_IPV6 = 41
+if 'win' in sys.platform and hasattr(socket, "AF_INET6"):
+ if not hasattr(socket, 'IPPROTO_IPV6'):
+ socket.IPPROTO_IPV6 = 41
+ if not hasattr(socket, 'IPV6_V6ONLY'):
+ socket.IPV6_V6ONLY = 27
if sys.version_info < (3,1):
import io
else: