Package: python2.2 Version: 2.2.1-4.7 Severity: important Several of our applications use the XMLRPC for interapplication communication. After upgrading to python2.2 (2.2.1-4.7), our applications stopped working. XMLRPC calls receive this type of error:
[EMAIL PROTECTED]:[~/python2.2-bug] python2.2 XMLRPCClient.py Traceback (most recent call last): File "XMLRPCClient.py", line 9, in ? print client.TestAPI("boo") File "/usr/lib/python2.2/xmlrpclib.py", line 821, in __call__ return self.__send(self.__name, args) File "/usr/lib/python2.2/xmlrpclib.py", line 975, in __request verbose=self.__verbose File "/usr/lib/python2.2/xmlrpclib.py", line 853, in request return self.parse_response(h.getfile()) File "/usr/lib/python2.2/xmlrpclib.py", line 896, in parse_response return u.close() File "/usr/lib/python2.2/xmlrpclib.py", line 571, in close raise apply(Fault, (), self._stack[0]) xmlrpclib.Fault: <Fault 1: 'exceptions.Exception:method "TestAPI" is not supported'> Running these applications on 2.2.1-4.6, they work fine. I've looked at the published patch from python, and I'm not sure why their patch would cause this problem. So perhaps it is an issue in the debian patch, or perhaps, the python patch is broken too. Or.. perhaps I am a moron, and I'm just blind as to why this isn't working. It was certainly a surprise to us when all of our internal systems stopped working, so I suspect it might surprise some other folks too. I have even tried setting allow_dotted_names=True to bypass this problem (which... supposedly should turn off the security patch), but it's still broken. I have attached some sample cases to make this easy for you to reproduce: If you run this on a 2.2.1-4.6 python2.2 XMLRPCServer.py 1 & python2.2 XMLRPCClient.py it will work fine and dandy if you run this on a 2.2.1-4.7: python2.2 XMLRPCServer.py 1 & python2.2 XMLRPCClient.py you'll get: Traceback (most recent call last): File "XMLRPCClient.py", line 9, in ? print client.TestAPI("boo") File "/usr/lib/python2.2/xmlrpclib.py", line 821, in __call__ return self.__send(self.__name, args) File "/usr/lib/python2.2/xmlrpclib.py", line 975, in __request verbose=self.__verbose File "/usr/lib/python2.2/xmlrpclib.py", line 853, in request return self.parse_response(h.getfile()) File "/usr/lib/python2.2/xmlrpclib.py", line 896, in parse_response return u.close() File "/usr/lib/python2.2/xmlrpclib.py", line 571, in close raise apply(Fault, (), self._stack[0]) xmlrpclib.Fault: <Fault 1: 'exceptions.Exception:method "TestAPI" is not supported'> You can change the "1" to a "0" if you want to try the allow_dotted_names=True flag.. which doesn't appear to do anything to help. If you modify the SampleAPI class and add: def _dispatch(self, method, params): return apply(getattr(self,method), params) Everything will work fine... (which is what I did to bootstrap our systems back into operation).. but obviously this is not supposed to be necessary. -- System Information Debian Release: 3.0 Architecture: i386 Kernel: Linux cthulhu 2.4.25-athenium-686-smp #3 SMP Fri Mar 19 18:29:28 EST 2004 i686 Locale: LANG=C, LC_CTYPE=C Versions of packages python2.2 depends on: ii libc6 2.2.5-11.8 GNU C Library: Shared libraries an ii libdb3 3.2.9-16 Berkeley v3 Database Libraries [ru ii libncurses5 5.2.20020112a-7 Shared libraries for terminal hand ii libreadline4 4.2a-5 GNU readline and history libraries ii libssl0.9.6 0.9.6c-2.woody.7 SSL shared libraries ii zlib1g 1:1.1.4-1.0woody0 compression library - runtime -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]