Red Hat Bugzilla – Bug 1279871
XML-RPC calls return HTTP 400 on latest Rawhide
Last modified: 2015-11-22 22:54:09 EST
Description of problem:
На 10.11.2015 в 01:11, Dan Callaghan написа:
> Nice work debugging, as always, Jan. :-)
> Excerpts from Jan Stancek's message of 2015-11-09 10:30 -05:00:
>> POST / HTTP/1.0
>> User-Agent: Twisted/XMLRPClib
>> Host: 2620:52:0:1040:5054:ff:fe38:5099
>> Content-type: text/xml; charset=utf-8
>> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
>> <title>400 Bad Request</title>
>> <h1>Bad Request</h1>
>> XML-RPC requests must be text/xml
> I'm going to guess that recent Twisted has started adding the charset
> parameter to Content-Type, and we have some defective MIME type parsing
> on the LC side which is failing to handle the presence of parameters.
This is effectively blocking test jobs on Rawhide.
It seems like this was a change made in Twisted 15.3.0 as part of porting the XMLRPC support to Python 3.
Although there is no particularly good reason for the change, considering that XML has its own mechanism for declaring the character encoding *and* it's assumed to be UTF-8 by default.
Fedora 23 is shipping Twisted 15.1.0 for now, whereas rawhide recently went to 15.4.0.
Since the charset= param is hardcoded in Twisted there is no easy way we can patch this beah, even as a workaround. So the only workaround for now would be to install python-twisted < 15.3.0.
Beaker 21.2 has been released.