Download

* Turn passing payload through mb_convert_encoding() off by default. Use new XML_RPC_Message::setConvertPayloadEncoding() and XML_RPC_Server::setConvertPayloadEncoding() to turn it on. Bug 8632.
* Have XML_RPC_Value::scalarval() return FALSE if value is not a scalar. Bug 8251.

Download

* Provide complete multi-byte string support for systems with the mbstring extension enabled. Bug 7837.
* If PHP's mbstring extension is enabled, use mb_convert_encoding() to ensure the payload matches the intended encoding. This is a better resolution of Bug 7376.
* Turn off the default of automatically base64 encoding strings that can generate fatal errors in PHP's SAX parser. The automatic base64 encoding can be turned on via the new XML_RPC_Client::setAutoBase64() method. The auto-encoding is a workaround for systems that don't have PHP's mbstring extension available. (The automatic base64 encoding was added in the prior release, 1.4.8, and caused problems for users who don't control the receiving end of the requests.) Bug 7837.

Download

* Eliminate memory leak by resetting $XML_RPC_xh each time parseResponse() is called. Bug 4780.
* Using socket_set_timeout() because stream_set_timeout() was introduced in 4.3.0, but we need to support 4.2.0. Bug 4805.

Download

* When verifying requests against function signatures, if the number of parameters don't match, provide an appropriate message. NOTE: this resolves a path disclosure vulnerability. (Refines the changes made in the last commit.) Bug 4231.
* XML_RPC_Message::getParam() now returns an XML_RPC_Response object upon error. Changed from Release 1.3.0RC2.
* Add the XML_RPC_Value::isValue() method. For testing if an item is an XML_RPC_Value object.
* If XML_RPC_Client::send() is given an incorrect $msg parameter, raise an error with the new XML_RPC_ERROR_PROGRAMMING code and return 0.
* Improve cross-platform operation by using PEAR::loadExtension() instead of dl().
* Use <br /> instead of <br> in XML_RPC_Value::dump().

Download

* If XML_RPC_Message::getParam() is given an incorrect parameter, raise an error with the new XML_RPC_ERROR_INCORRECT_PARAMS code and return FALSE.
* Handle improper requests to XML_RPC_Server::verifySignature(). Bug 4231.
* Try to allow HTTP 100 responses if followed by a 200 response. Bug 4116.
* Help Delphi users by making RPCMETHODNAME an alias for METHODNAME. Request 4205.

Download

* Improve timeout handling for situations where connection to server is made but no response is not received in time. Accomplished via stream_set_timeout(). Request 3963.
* Add Fault Code 6: "The requested method didn't return an XML_RPC_Response object." Request 4032.
* Add the createServerPayload() and createServerHeaders() methods and the $server_payload and $server_headers properties. Request 3121.
* As in earlier versions, if the $serviceNow parameter to XML_RPC_Server() is 0, no data will be returned, but now the new $server_payload and $server_headers properties will be set.
* Convert the parser handle to an integer before using it as an index for $XML_RPC_xh[$parser]. Reduces E_STRICT notices. Bug 3782.
* Add createHeaders() method and $headers property to XML_RPC_Client to make testing easier.

Download

- When a connection attempt fails, have the method return 0. (danielc)
- Move the protocol/port checking/switching and the property settings from sendPayloadHTTP10() to the XML_RPC_Client constructor. (danielc)
- Add tests for setting the client properties. (danielc)
- Remove $GLOBALS['XML_RPC_twoslash'] since it's not used. (danielc)
- Bundle the tests with the package. (danielc)

Download

- Added support for sequential arrays to XML_RPC_encode() (mroch)
- Cleaned up new XML_RPC_encode() changes a bit (mroch, pierre)
- Remove "require_once 'PEAR.php'", include only when needed to raise an error
- Replace echo and error_log() with raiseError() (mroch)
- Make all classes extend XML_RPC_Base, which will handle common functions (mroch)
- be tolerant of junk after methodResponse (Luca Mariano, mroch)
- Silent notice even in the error log (pierre)
- fix include of shared xml extension on win32 (pierre)