Description

XMLRPC is broken for server types like CGI or FastCGI because the POST data in the input buffer is "copied into /dev/null" because of the setup_args call in RequestBase.__init__.

Steps to reproduce

  1. Try to do an XMLRPC request to one of the servers above

Details

This wiki if it was not twisted.

Workaround

Do not use XMLRPC, use another server type.

Discussion

   1 19:50:12 < xorAxAx> ThomasWaldmann: why do you need the post data in request.__init__?
   2 19:50:17 < xorAxAx> "# MOVED: this was in run() method, but moved here for auth module being able to use it"
   3 19:50:29 < xorAxAx> which auth module needs the POST data?
   4 19:50:35 < xorAxAx> this breaks xmlrpc
   5 19:50:50 < xorAxAx> for most servers that handle post data via the requestbase code

Plan

was fixed some time ago by this code in RequestBase.init:

            if not self.query_string.startswith('action=xmlrpc'):
                self.args = self.form = self.setup_args()


CategoryMoinMoinBugFixed

MoinMoin: MoinMoinBugs/XmlRpcBroken (last edited 2007-10-29 19:09:20 by localhost)