--- 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