From 6a1df62c382f30c4bd9b81f684ae6c0ab129c92b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A1bor=20Hojtsy?= <gabor@hojtsy.hu> Date: Wed, 2 Jun 2010 12:22:02 +0000 Subject: [PATCH] #265973 by clemens.tolboom, Damien Tournoud, Uccio, dixon_, mr.baileys: make Drupal capable of handling bigger XML-RPC messages by removing some unnecessary processing --- includes/xmlrpc.inc | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/includes/xmlrpc.inc b/includes/xmlrpc.inc index d316d959b708..445fa262bcde 100644 --- a/includes/xmlrpc.inc +++ b/includes/xmlrpc.inc @@ -157,11 +157,6 @@ function xmlrpc_message($message) { * TRUE if parsing succeeded; FALSE otherwise */ function xmlrpc_message_parse(&$xmlrpc_message) { - // First remove the XML declaration - $xmlrpc_message->message = preg_replace('/<\?xml(.*)?\?'.'>/', '', $xmlrpc_message->message); - if (trim($xmlrpc_message->message) == '') { - return FALSE; - } $xmlrpc_message->_parser = xml_parser_create(); // Set XML parser to take the case of tags into account. xml_parser_set_option($xmlrpc_message->_parser, XML_OPTION_CASE_FOLDING, FALSE); @@ -175,7 +170,10 @@ function xmlrpc_message_parse(&$xmlrpc_message) { xml_parser_free($xmlrpc_message->_parser); // Grab the error messages, if any $xmlrpc_message = xmlrpc_message_get(); - if ($xmlrpc_message->messagetype == 'fault') { + if (!isset($xmlrpc_message->messagetype)) { + return FALSE; + } + elseif ($xmlrpc_message->messagetype == 'fault') { $xmlrpc_message->fault_code = $xmlrpc_message->params[0]['faultCode']; $xmlrpc_message->fault_string = $xmlrpc_message->params[0]['faultString']; } -- GitLab