[SOLVED] XML_RPC Plugin does not accept html

Creating and modifying plugins.
OnIce
Regular
Posts: 9
Joined: Mon Oct 13, 2008 11:19 pm

Post by OnIce »

Hey,

No - I am not using mod_security.

Give me a hint on how I could perform more testing / debuging on the system in order to find out if it is s9y or the XMLRPC-Server.

So far I wasn't able to produce any more debuging output as neither PHP nor APACHE are giving me error messages when processing input to s9y via xmlrpc...

Is there any recoding of the input done within xmlrpc?

Thanks for helping!
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Post by garvinhicking »

Hi!

Sadly I have also only always accessed the XML Server component, never looked at it's code directly.

I believe that your local "xml" php extension is somehow misbehaving, this is the library used to parse the request. This is done inside the PEAR/XML/RPC/Server.php file, at around line 500 (ParseRequest) function:

Code: Select all

        $this->encoding = XML_RPC_Message::getEncoding($data);
        $parser_resource = xml_parser_create($this->encoding);
        $parser = (int) $parser_resource;
Basically, the $HTTP_RAW_POST_DATA should before this call still contain the > and < variants (can you verify this?). Then this data is passed to xml_parser_create.

This xml lib is the only place where I believe bad encoding could happen. But it works fine in my PHP install. Are you able to get your hand on another PHP installation? Your gentoo one seems to have a bit custom XML compilations options, maybe one of them is responsible for misbehaving.

Regards,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
OnIce
Regular
Posts: 9
Joined: Mon Oct 13, 2008 11:19 pm

Post by OnIce »

Hey,

seems to be a bug in libxml2:
http://bugs.php.net/bug.php?id=45996

I'll investigate it a little more and maybe downgrade for the moment... let's see what happens ;-)

Update:
It is indeed the above mentioned bug/feature (whatever). Everything after (including) libxml2-2.7.1 is not working.

Downgrading to libxml2-2.6.32 solved the problem for me. At least temporarily until it is (hopefully) solved in future versions of libxml2/php.

Thanks everybody for helping! Garvin: your last comment brought the initial idea of investigating the parser more closely ;-)
Post Reply