Blob Blame History Raw
--- xen-4.0.1/tools/python/xen/util/xmlrpcclient.py.orig	2010-02-02 20:43:01.000000000 +0000
+++ xen-4.0.1/tools/python/xen/util/xmlrpcclient.py	2010-08-18 21:36:05.000000000 +0100
@@ -22,6 +22,7 @@
 import string
 import xmlrpclib
 from types import StringTypes
+from sys import hexversion
 
 
 try:
@@ -54,7 +55,12 @@
         return xmlrpclib.Transport.request(self, host, '/RPC2',
                                            request_body, verbose)
     def make_connection(self, host):
-        return HTTPUnix(self.__handler)
+        if hexversion < 0x02070000:
+            # python 2.6 or earlier
+            return HTTPUnix(self.__handler)
+        else:
+            # xmlrpclib.Transport changed in python 2.7
+            return HTTPUnixConnection(self.__handler)
 
 
 # We need our own transport for HTTPS, because xmlrpclib.SafeTransport is
--- xen-4.0.1/tools/python/xen/util/xmlrpclib2.py.orig	2010-02-02 20:43:01.000000000 +0000
+++ xen-4.0.1/tools/python/xen/util/xmlrpclib2.py	2010-08-18 21:35:40.000000000 +0100
@@ -58,6 +58,9 @@
 # some bugs in Keep-Alive handling and also enabled it by default
 class XMLRPCRequestHandler(SimpleXMLRPCRequestHandler):
     protocol_version = "HTTP/1.1"
+    # xend crashes in python 2.7 unless disable_nagle_algorithm = False
+    # it isn't used in earlier versions so it is harmless to set it generally
+    disable_nagle_algorithm = False
 
     def __init__(self, hosts_allowed, request, client_address, server):
         self.hosts_allowed = hosts_allowed