1<?xml version="1.0" encoding="UTF-8" ?>
2<!DOCTYPE package SYSTEM "http://pear.php.net/dtd/package-1.0">
3<package version="1.0" packagerversion="1.9.4">
4 <name>XML_RPC</name>
5 <summary>PHP implementation of the XML-RPC protocol</summary>
6 <description>A PEAR-ified version of Useful Inc&apos;s XML-RPC for PHP.
7
8It has support for HTTP/HTTPS transport, proxies and authentication.
9 </description>
10 <maintainers>
11  <maintainer>
12   <user>ssb</user>
13   <name>Stig Bakken</name>
14   <email>stig@php.net</email>
15   <role>lead</role>
16  </maintainer>
17  <maintainer>
18   <user>danielc</user>
19   <name>Daniel Convissor</name>
20   <email>danielc@php.net</email>
21   <role>lead</role>
22  </maintainer>
23  </maintainers>
24 <release>
25  <version>1.5.5</version>
26  <date>2011-08-27</date>
27  <license>PHP License</license>
28  <state>stable</state>
29  <notes>* Adjust is_a() usage due to change in PHP 5.3.7.
30* Fix error populating headers. Bug 18653.
31  </notes>
32  <deps>
33   <dep type="php" rel="ge" version="4.2.0"/>
34   <dep type="ext" rel="has">xml</dep>
35  </deps>
36  <filelist>
37   <file role="php" baseinstalldir="/" name="XML/RPC.php">
38    <replace from="@package_version@" to="version" type="package-info"/>
39   </file>
40   <file role="php" baseinstalldir="/" name="XML/RPC/Server.php">
41    <replace from="@package_version@" to="version" type="package-info"/>
42   </file>
43   <file role="php" baseinstalldir="/" name="XML/RPC/Dump.php">
44    <replace from="@package_version@" to="version" type="package-info"/>
45   </file>
46   <file role="test" name="tests/actual-request.php">
47    <replace from="@package_version@" to="version" type="package-info"/>
48   </file>
49   <file role="test" name="tests/allgot.inc"/>
50   <file role="test" name="tests/empty-value-struct.php">
51    <replace from="@package_version@" to="version" type="package-info"/>
52   </file>
53   <file role="test" name="tests/empty-value.php">
54    <replace from="@package_version@" to="version" type="package-info"/>
55   </file>
56   <file role="test" name="tests/encode.php">
57    <replace from="@package_version@" to="version" type="package-info"/>
58   </file>
59   <file role="test" name="tests/extra-lines.php">
60    <replace from="@package_version@" to="version" type="package-info"/>
61   </file>
62   <file role="test" name="tests/protoport.php">
63    <replace from="@package_version@" to="version" type="package-info"/>
64   </file>
65   <file role="test" name="tests/test_Dump.php">
66    <replace from="@package_version@" to="version" type="package-info"/>
67   </file>
68   <file role="test" name="tests/types.php">
69    <replace from="@package_version@" to="version" type="package-info"/>
70   </file>
71  </filelist>
72 </release>
73 <changelog>
74   <release>
75    <version>1.5.4</version>
76    <date>2010-07-03</date>
77    <state>stable</state>
78    <notes>* Change ereg functions to preg due to deprecation (Request 17546 and then some.)
79* Fix bugs in XML_RPC_Dump error detection process.
80* Escape XML special characters in key names of struct elements. Bug 17368.
81    </notes>
82   </release>
83   <release>
84    <version>1.5.3</version>
85    <date>2010-01-14</date>
86    <state>stable</state>
87    <notes>* Make licenses consistent.  Bug 12575.
88* Fix serializedata() for non-sequentially indexed arrays.  Bug 16780.
89* Show request information in debug mode.  Request 8240.
90* Creating the payload before opening a socket connection.  Request 11981.
91    </notes>
92   </release>
93   <release>
94    <version>1.5.2</version>
95    <date>2009-08-18</date>
96    <state>stable</state>
97    <notes>* Change license in empty-value-struct.php from PHP 3.0 to 3.01.
98    </notes>
99   </release>
100   <release>
101    <version>1.5.1</version>
102    <date>2006-10-28</date>
103    <state>stable</state>
104    <notes>* 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.
105* Have XML_RPC_Value::scalarval() return FALSE if value is not a scalar.  Bug 8251.
106    </notes>
107   </release>
108   <release>
109    <version>1.5.0</version>
110    <date>2006-07-11</date>
111    <state>stable</state>
112    <notes>No changes from 1.5.0RC2.
113
114The primary change from 1.4.8 is improved multi-byte support.  See the change log for complete information.
115    </notes>
116   </release>
117   <release>
118    <version>1.5.0RC2</version>
119    <date>2006-06-21</date>
120    <state>beta</state>
121    <notes>* If PHP&apos;s mbstring extension is enabled, use mb_convert_encoding() to ensure the server payload matches the intended encoding.
122    </notes>
123   </release>
124   <release>
125    <version>1.5.0RC1</version>
126    <date>2006-06-16</date>
127    <state>beta</state>
128    <notes>* Provide complete multi-byte string support for systems with the mbstring extension enabled. Bug 7837.
129* If PHP&apos;s mbstring extension is enabled, use mb_convert_encoding() to ensure the client payload matches the intended encoding. This is a better resolution of Bug 7376.
130* Turn off the default of automatically base64 encoding strings that can generate fatal errors in PHP&apos;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&apos;t have PHP&apos;s mbstring extension available. (The automatic base64 encoding was added in the prior release, 1.4.8, and caused problems for users who don&apos;t control the receiving end of the requests.) Bug 7837.
131    </notes>
132   </release>
133   <release>
134    <version>1.4.8</version>
135    <date>2006-04-16</date>
136    <state>stable</state>
137    <notes>* Characters other than alpha-numeric, punctuation, SP, TAB, LF and CR break the XML parser, encode value via Base 64.  Bug 7376.
138    </notes>
139   </release>
140   <release>
141    <version>1.4.7</version>
142    <date>2006-04-10</date>
143    <state>stable</state>
144    <notes>* Add include_once for PEAR if need to load xml extension.  Bug 7358.
145* Add dependency for xml extension in package file.  Bug 7358.
146    </notes>
147   </release>
148   <release>
149    <version>1.4.6</version>
150    <date>2006-04-07</date>
151    <state>stable</state>
152    <notes>* Add XML_RPC_Message::$remove_extra_lines property. Defaults to true. If set to false, extra lines are left in place. Bug 7088.
153* Add XML_RPC_Message::$response_payload property. Makes logging responses easy.
154    </notes>
155   </release>
156   <release>
157    <version>1.4.5</version>
158    <date>2006-01-14</date>
159    <state>stable</state>
160    <notes>* Have server send headers individualy as opposed to sending them all at once. Necessary due to changes PHP 4.4.2.
161    </notes>
162   </release>
163   <release>
164    <version>1.4.4</version>
165    <date>2005-10-15</date>
166    <state>stable</state>
167    <notes>* Properly deal with empty values in struct&apos;s.
168    </notes>
169   </release>
170   <release>
171    <version>1.4.3</version>
172    <date>2005-09-24</date>
173    <state>stable</state>
174    <notes>* Make XML_RPC_encode() properly handle dateTime.iso8601.  Request 5117.
175    </notes>
176   </release>
177   <release>
178    <version>1.4.2</version>
179    <date>2005-09-18</date>
180    <state>stable</state>
181    <notes>* Allow empty &lt;value&gt;&apos;s without &lt;types&gt;&apos;s.  Bug 5315.
182    </notes>
183   </release>
184   <release>
185    <version>1.4.1</version>
186    <date>2005-09-07</date>
187    <state>stable</state>
188    <notes>* Don&apos;t add debug info unless debug is on.  Bug 5136.
189* Use is_a() instead of class_name() so people can use their own XML_RPC_Message objects.  Request 5002.
190    </notes>
191   </release>
192   <release>
193    <version>1.4.0</version>
194    <date>2005-08-14</date>
195    <state>stable</state>
196    <notes>* MAJOR SECURITY FIX: eliminate use of eval().
197* Using socket_get_status() because stream_get_meta_data() was introduced in 4.3.0, but we need to support 4.2.0.  Bug 4805.
198    </notes>
199   </release>
200   <release>
201    <version>1.3.3</version>
202    <date>2005-07-15</date>
203    <state>stable</state>
204    <notes>* Eliminate memory leak by resetting $XML_RPC_xh each time parseResponse() is called.  Bug 4780.
205* Using socket_set_timeout() because stream_set_timeout() was introduced in 4.3.0, but we need to support 4.2.0.  Bug 4805.
206    </notes>
207   </release>
208   <release>
209    <version>1.3.2</version>
210    <date>2005-07-07</date>
211    <state>stable</state>
212    <notes>* Eliminate path disclosure vulnerabilities by suppressing error messages when eval()&apos;ing.
213* Eliminate path disclosure vulnerability by catching bogus parameters submitted to XML_RPC_Value::serializeval().
214* In XML_RPC_Server::service(), only call createServerPayload() and createServerHeaders() if necessary.  Fixes compatibility issue introduced in Release 1.3.0RC1 for users who set the $serviceNow parameter of XML_RPC_Server() to 0.  Bug 4757.
215* Change &quot;var $errstring&quot; to &quot;var $errstr&quot;.  Bug 4582.  Was put into CVS version 1.75 of RPC.php but didn&apos;t make it into RELEASE_1_3_1.
216    </notes>
217   </release>
218   <release>
219    <version>1.3.1</version>
220    <date>2005-06-29</date>
221    <state>stable</state>
222    <notes>* Security fix. Update highly recommended!
223    </notes>
224   </release>
225   <release>
226    <version>1.3.0</version>
227    <date>2005-06-13</date>
228    <state>stable</state>
229    <notes>* Stable release.  See earlier releases for changes since 1.2.2.
230    </notes>
231   </release>
232   <release>
233    <version>1.3.0RC3</version>
234    <date>2005-05-10</date>
235    <state>beta</state>
236    <notes>* When verifying requests against function signatures, if the number of parameters don&apos;t match, provide an appropriate message.  NOTE: this resolves a path disclosure vulnerability.  (Refines the changes made in the last commit.)  Bug 4231.
237* XML_RPC_Message::getParam() now returns an XML_RPC_Response object upon error.  Changed from Release 1.3.0RC2.
238* Add the XML_RPC_Value::isValue() method. For testing if an item is an XML_RPC_Value object.
239* 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.
240* Improve cross-platform operation by using PEAR::loadExtension() instead of dl().
241* Use &lt;br /&gt; instead of &lt;br&gt; in XML_RPC_Value::dump().
242    </notes>
243   </release>
244   <release>
245    <version>1.3.0RC2</version>
246    <date>2005-05-05</date>
247    <state>beta</state>
248    <notes>* 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.
249* Handle improper requests to XML_RPC_Server::verifySignature().  Bug 4231.
250* Try to allow HTTP 100 responses if followed by a 200 response.  Bug 4116.
251* Help Delphi users by making RPCMETHODNAME an alias for METHODNAME.  Request 4205.
252    </notes>
253   </release>
254   <release>
255    <version>1.3.0RC1</version>
256    <date>2005-04-07</date>
257    <state>beta</state>
258    <notes>* 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.
259* Add Fault Code 6: &quot;The requested method didn&apos;t return an XML_RPC_Response object.&quot;  Request 4032.
260* Add the createServerPayload() and createServerHeaders() methods and the $server_payload and $server_headers properties.  Request 3121.
261* 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.
262* Convert the parser handle to an integer before using it as an index for $XML_RPC_xh[$parser].  Reduces E_STRICT notices.  Bug 3782.
263* Add createHeaders() method and $headers property to XML_RPC_Client to make testing easier.
264    </notes>
265   </release>
266   <release>
267    <version>1.2.2</version>
268    <date>2005-03-07</date>
269    <state>stable</state>
270    <notes>* When using a proxy, add the protocol to the Request-URI, making it an &quot;absoluteURI&quot; as per the HTTP 1.0 spec.  Bug 3679.
271    </notes>
272   </release>
273   <release>
274    <version>1.2.1</version>
275    <date>2005-03-01</date>
276    <state>stable</state>
277    <notes>* Add isset() check before examining the dispatch map.  Bug 3658.
278    </notes>
279   </release>
280   <release>
281    <version>1.2.0</version>
282    <date>2005-02-27</date>
283    <state>stable</state>
284    <notes>* Provide the &quot;stable&quot; release.
285* Add package2.xml for compatibility with PEAR 1.4.0.
286* For changes since 1.1.0, see the changelogs for the various RC releases.
287    </notes>
288   </release>
289   <release>
290    <version>1.2.0RC7</version>
291    <date>2005-02-22</date>
292    <state>beta</state>
293    <notes>* Add the setSendEncoding() method and $send_encoding
294  property to XML_RPC_Message.  Request 3537.
295* Allow class methods to be mapped using either syntax:
296     &apos;function&apos; =&gt; &apos;hello::sayHello&apos;,
297     or
298     &apos;function&apos; =&gt; array(&apos;hello&apos;, &apos;sayhello&apos;),
299  Bug 3363.
300* Use 8192 instead of 32768 for bytes in fread()
301  in parseResponseFile().  Bug 3340.
302    </notes>
303   </release>
304   <release>
305    <version>1.2.0RC6</version>
306    <date>2005-01-25</date>
307    <state>beta</state>
308    <notes>* Don&apos;t put the protocol in the Host field of the POST data.  (danielc)
309    </notes>
310   </release>
311   <release>
312    <version>1.2.0RC5</version>
313    <date>2005-01-24</date>
314    <state>beta</state>
315    <notes>* If $port is 443 but a protocol isn&apos;t specified in $server, assume ssl:// is the protocol.
316    </notes>
317   </release>
318   <release>
319    <version>1.2.0RC4</version>
320    <date>2005-01-24</date>
321    <state>beta</state>
322    <notes>* When a connection attempt fails, have the method return 0.  (danielc)
323* Move the protocol/port checking/switching and the property settings from sendPayloadHTTP10() to the XML_RPC_Client constructor.  (danielc)
324* Add tests for setting the client properties.  (danielc)
325* Remove $GLOBALS[&apos;XML_RPC_twoslash&apos;] since it&apos;s not used.  (danielc)
326* Bundle the tests with the package.  (danielc)
327    </notes>
328   </release>
329   <release>
330    <version>1.2.0RC3</version>
331    <date>2005-01-19</date>
332    <state>beta</state>
333    <notes>* ssl uses port 443, not 445.
334    </notes>
335   </release>
336   <release>
337    <version>1.2.0RC2</version>
338    <date>2005-01-11</date>
339    <state>beta</state>
340    <notes>* Handle ssl:// in the $server string.  (danielc)
341* Also default to port 445 for ssl:// requests as well.  (danielc)
342* Enhance debugging in the server.  (danielc)
343    </notes>
344   </release>
345   <release>
346    <version>1.2.0RC1</version>
347    <date>2004-12-30</date>
348    <state>beta</state>
349    <notes>* Make things work with SSL.  Bug 2489.  (nkukard lbsd net)
350* Allow array function callbacks (Matt Kane)
351* Some minor speed-ups (Matt Kane)
352* Add Dump.php to the package (Christian Weiske)
353* Replace all line endings with \r\n.  Had only done replacements on \n.  Bug 2521.  (danielc)
354* Silence fsockopen() errors.  Bug 1714.  (danielc)
355* Encode empty arrays as an array. Bug 1493.  (danielc)
356* Eliminate undefined index notice when submitting empty arrays to XML_RPC_Encode().  Bug 1819.  (danielc)
357* Speed up check for enumerated arrays in XML_RPC_Encode().  (danielc)
358* Prepend &quot;XML_RPC_&quot; to ERROR_NON_NUMERIC_FOUND, eliminating problem when eval()&apos;ing error messages.  (danielc)
359* Use XML_RPC_Base::raiseError() instead of PEAR::raiseError() in XML_RPC_ee() because PEAR.php is lazy loaded.  (danielc)
360* Allow raiseError() to be called statically.  (danielc)
361* Stop double escaping of character entities.  Bug 987.  (danielc)
362  NOTICE: the following have been removed:
363    * XML_RPC_dh()
364    * $GLOBALS[&apos;XML_RPC_entities&apos;]
365    * XML_RPC_entity_decode()
366    * XML_RPC_lookup_entity()
367* Determine the XML&apos;s encoding via the encoding attribute in the XML declaration.  Bug 52.  (danielc)
368    </notes>
369   </release>
370   <release>
371    <version>1.1.0</version>
372    <date>2004-03-15</date>
373    <state>stable</state>
374    <notes>* Added support for sequential arrays to XML_RPC_encode() (mroch)
375* Cleaned up new XML_RPC_encode() changes a bit (mroch, pierre)
376* Remove &quot;require_once &apos;PEAR.php&apos;&quot;, include only when needed to raise an error
377* Replace echo and error_log() with raiseError() (mroch)
378* Make all classes extend XML_RPC_Base, which will handle common functions  (mroch)
379* be tolerant of junk after methodResponse (Luca Mariano, mroch)
380* Silent notice even in the error log (pierre)
381* fix include of shared xml extension on win32 (pierre)
382    </notes>
383   </release>
384   <release>
385    <version>1.0.4</version>
386    <date>2002-10-02</date>
387    <state>stable</state>
388    <notes>* added HTTP proxy authorization support (thanks to Arnaud Limbourg)
389    </notes>
390   </release>
391   <release>
392    <version>1.0.3</version>
393    <date>2002-05-19</date>
394    <state>stable</state>
395    <notes>* fix bug when parsing responses with boolean types
396    </notes>
397   </release>
398   <release>
399    <version>1.0.2</version>
400    <date>2002-04-16</date>
401    <state>stable</state>
402    <notes>* E_ALL fixes
403* fix HTTP response header parsing
404    </notes>
405   </release>
406   <release>
407    <version>1.0.1</version>
408    <date>2001-09-25</date>
409    <state>stable</state>
410    <notes>This is a PEAR-ified version of Useful Inc&apos;s 1.0.1 release.
411Includes an urgent security fix identified by Dan Libby &lt;dan@libby.com&gt;.
412    </notes>
413   </release>
414 </changelog>
415</package>
416