From 2b604286b52a78d6722e7dbd5f6bd73be46726ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Mudr=C3=A1k?= Date: Tue, 15 Aug 2017 13:42:08 +0200 Subject: [PATCH] MDL-57775 xmlrpc: Pass escaping to xmlrpc_encode_request() calls This patch adds the missing 'escaping' option to all remaining xmlrpc_encode_request() calls in the moodle core code. Without this, the xmlrpc_decode_request() call on the server side may lead to wrongly decoded non-ascii characters. --- mnet/lib.php | 5 ++++- webservice/xmlrpc/lib.php | 3 ++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/mnet/lib.php b/mnet/lib.php index 6e27a0ab954..c6c8209d021 100644 --- a/mnet/lib.php +++ b/mnet/lib.php @@ -56,7 +56,10 @@ function mnet_get_public_key($uri, $application=null) { $application = $DB->get_record('mnet_application', array('name'=>'moodle')); } - $rq = xmlrpc_encode_request('system/keyswap', array($CFG->wwwroot, $mnet->public_key, $application->name), array("encoding" => "utf-8")); + $rq = xmlrpc_encode_request('system/keyswap', array($CFG->wwwroot, $mnet->public_key, $application->name), array( + 'encoding' => 'utf-8', + 'escaping' => 'markup', + )); $ch = curl_init($uri . $application->xmlrpc_server_url); curl_setopt($ch, CURLOPT_TIMEOUT, 60); diff --git a/webservice/xmlrpc/lib.php b/webservice/xmlrpc/lib.php index 6d4820002ea..a4eb5bbfe6c 100644 --- a/webservice/xmlrpc/lib.php +++ b/webservice/xmlrpc/lib.php @@ -75,7 +75,8 @@ class webservice_xmlrpc_client { // Set output options. $outputoptions = array( - 'encoding' => 'utf-8' + 'encoding' => 'utf-8', + 'escaping' => 'markup', ); // Encode the request.