Program: CWE-94
Project: CVE-2014-1691
Buggy source:
<?xml version="1.0" encoding="UTF-8"?>
<package packagerversion="1.9.2" version="2.0" xmlns="http://pear.php.net/dtd/package-2.0" xmlns:tasks="http://pear.php.net/dtd/tasks-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://pear.php.net/dtd/tasks-1.0 http://pear.php.net/dtd/tasks-1.0.xsd http://pear.php.net/dtd/package-2.0 http://pear.php.net/dtd/package-2.0.xsd">
 <name>Horde_Util</name>
 <channel>pear.horde.org</channel>
 <extends>Util</extends>
 <summary>Horde Utility Libraries</summary>
 <description>These classes provide functionality useful for all kind of applications.</description>
 <lead>
  <name>Chuck Hagenbuch</name>
  <user>chuck</user>
  <email>chuck@horde.org</email>
  <active>yes</active>
 </lead>
 <lead>
  <name>Jan Schneider</name>
  <user>jan</user>
  <email>jan@horde.org</email>
  <active>yes</active>
 </lead>
 <developer>
  <name>Michael Slusarz</name>
  <user>slusarz</user>
  <email>slusarz@horde.org</email>
  <active>yes</active>
 </developer>
 <date>2013-05-06</date>
 <time>19:34:35</time>
 <version>
  <release>2.2.3</release>
  <api>2.2.0</api>
 </version>
 <stability>
  <release>stable</release>
  <api>stable</api>
 </stability>
 <license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
 <notes>
* 
 </notes>
 <contents>
  <dir baseinstalldir="/" name="/">
   <dir name="doc">
    <dir name="Horde">
     <dir name="Util">
      <file name="COPYING" role="doc" />
      <file name="UPGRADING" role="doc" />
     </dir> <!-- /doc/Horde/Util -->
    </dir> <!-- /doc/Horde -->
   </dir> <!-- /doc -->
   <dir name="lib">
    <dir name="Horde">
     <dir name="Array">
      <dir name="Sort">
       <file name="Helper.php" role="php" />
      </dir> <!-- /lib/Horde/Array/Sort -->
     </dir> <!-- /lib/Horde/Array -->
     <file name="Array.php" role="php" />
     <file name="Domhtml.php" role="php" />
     <file name="String.php" role="php" />
     <file name="Util.php" role="php" />
     <file name="Variables.php" role="php" />
    </dir> <!-- /lib/Horde -->
   </dir> <!-- /lib -->
   <dir name="test">
    <dir name="Horde">
     <dir name="Util">
      <dir name="fixtures">
       <file name="domhtml_test.html" role="test" />
      </dir> <!-- /test/Horde/Util/fixtures -->
      <file name="AllTests.php" role="test" />
      <file name="ArrayTest.php" role="test" />
      <file name="bootstrap.php" role="test" />
      <file name="DomhtmlTest.php" role="test" />
      <file name="phpunit.xml" role="test" />
      <file name="StringTest.php" role="test" />
      <file name="UtilTest.php" role="test" />
      <file name="VariablesTest.php" role="test" />
     </dir> <!-- /test/Horde/Util -->
    </dir> <!-- /test/Horde -->
   </dir> <!-- /test -->
  </dir> <!-- / -->
 </contents>
 <dependencies>
  <required>
   <php>
    <min>5.3.0</min>
   </php>
   <pearinstaller>
    <min>1.7.0</min>
   </pearinstaller>
   <extension>
    <name>dom</name>
   </extension>
  </required>
  <optional>
   <package>
    <name>Horde_Imap_Client</name>
    <channel>pear.horde.org</channel>
    <min>2.0.0</min>
    <max>3.0.0alpha1</max>
    <exclude>3.0.0alpha1</exclude>
   </package>
   <package>
    <name>Horde_Test</name>
    <channel>pear.horde.org</channel>
    <min>2.1.0</min>
    <max>3.0.0alpha1</max>
    <exclude>3.0.0alpha1</exclude>
   </package>
   <extension>
    <name>ctype</name>
   </extension>
   <extension>
    <name>filter</name>
   </extension>
   <extension>
    <name>iconv</name>
   </extension>
   <extension>
    <name>mbstring</name>
   </extension>
   <extension>
    <name>xml</name>
   </extension>
  </optional>
 </dependencies>
 <phprelease>
  <filelist>
   <install as="COPYING" name="doc/Horde/Util/COPYING" />
   <install as="UPGRADING" name="doc/Horde/Util/UPGRADING" />
   <install as="Horde/Array.php" name="lib/Horde/Array.php" />
   <install as="Horde/Domhtml.php" name="lib/Horde/Domhtml.php" />
   <install as="Horde/String.php" name="lib/Horde/String.php" />
   <install as="Horde/Util.php" name="lib/Horde/Util.php" />
   <install as="Horde/Variables.php" name="lib/Horde/Variables.php" />
   <install as="Horde/Array/Sort/Helper.php" name="lib/Horde/Array/Sort/Helper.php" />
   <install as="Horde/Util/AllTests.php" name="test/Horde/Util/AllTests.php" />
   <install as="Horde/Util/ArrayTest.php" name="test/Horde/Util/ArrayTest.php" />
   <install as="Horde/Util/bootstrap.php" name="test/Horde/Util/bootstrap.php" />
   <install as="Horde/Util/DomhtmlTest.php" name="test/Horde/Util/DomhtmlTest.php" />
   <install as="Horde/Util/phpunit.xml" name="test/Horde/Util/phpunit.xml" />
   <install as="Horde/Util/StringTest.php" name="test/Horde/Util/StringTest.php" />
   <install as="Horde/Util/UtilTest.php" name="test/Horde/Util/UtilTest.php" />
   <install as="Horde/Util/VariablesTest.php" name="test/Horde/Util/VariablesTest.php" />
   <install as="Horde/Util/fixtures/domhtml_test.html" name="test/Horde/Util/fixtures/domhtml_test.html" />
   </filelist>
 </phprelease>
 <changelog>
  <release>
   <version>
    <release>0.0.1</release>
    <api>0.0.1</api>
   </version>
   <stability>
    <release>alpha</release>
    <api>alpha</api>
   </stability>
   <date>2003-10-28</date>
   <license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
   <notes>
Initial release as a PEAR package
   </notes>
  </release>
  <release>
   <version>
    <release>0.0.2</release>
    <api>0.0.2</api>
   </version>
   <stability>
    <release>alpha</release>
    <api>alpha</api>
   </stability>
   <date>2006-05-08</date>
   <license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
   <notes>
Converted to package.xml 2.0 for pear.horde.org
   </notes>
  </release>
  <release>
   <version>
    <release>0.1.0</release>
    <api>0.1.0</api>
   </version>
   <stability>
    <release>beta</release>
    <api>beta</api>
   </stability>
   <date>2008-09-25</date>
   <license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
   <notes>
* Added magic PHP5 methods to the Variables class.
* Added array_merge_recursive_overwrite() to Horde_Array().
* Fixed a bug in Horde_Array::arraySort where auto-detecting the first key failed.
* Added sorter functions for array keys.
* Removed use of array_unique().
* Cleaned up addParameter() in the Util class.
* Implemented a much more efficient, yet safer file wiping algorithm.
* Fixed Util::addParameter when it is passed a base URL that contains an urlencoded ampersand.
* Added a parameter to Util::nocacheUrl() to not encode url.
* Added Util::getPathInfo().
* Signed parameters to go.php with an HMAC based on a new secret key configuration value, to prevent using go.php as an open referrer.
* Made logout tokens only valid for a configurable length of time.
* Made it possible to use String.php without having any other files available.
* Use utf8_decode() in String::length() if possible.
* Always use preg_match() in String::regexMatch().
* Workaround for korean messages in a non-standard charset.
* Fixed String::substr() length calculations.
* Added multibyte-safe String::wordwrap() method.
* Added parameter to use wordwrap() for line folding.
* Use C as the portable locale (Bug #6194).
* Don&apos;t use utf8_encode/decode on very large strings if other options are available. (Bug #6660)
* Fixed order of checks in String::convertCharset (Bug #6794).
   </notes>
  </release>
  <release>
   <version>
    <release>1.0.0alpha1</release>
    <api>1.0.0</api>
   </version>
   <stability>
    <release>alpha</release>
    <api>alpha</api>
   </stability>
   <date>2011-03-08</date>
   <license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
   <notes>
* First alpha release for Horde 4.
* Added Horde_String::rpos().
* Renamed Horde_Array::array_merge_recursive_overwrite() to Horde_Array::replaceRecursive().
* Added Horde_String::common().
* Added Horde_Domhtml::.
* Removed Horde_Util::assertDriverConfig().
* Removed Horde_Util::bufferOutput().
* Removed Horde_Util::uriB64Encode() and Horde_Util::uriB64Decode().
* Removed Horde_Util::strftime2date() and Horde_Util::date2strftime().
* Removed Horde_Util::closeWindowJs() and Horde_Util::nocacheUrl().
* Added Horde_String::convertToUtf8().
* Added Horde_Util::abbreviate().
* Removed Horde_Array::combine() and Horde_Util::hmac().
   </notes>
  </release>
  <release>
   <version>
    <release>1.0.0beta1</release>
    <api>1.0.0</api>
   </version>
   <stability>
    <release>beta</release>
    <api>beta</api>
   </stability>
   <date>2011-03-16</date>
   <license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
   <notes>
* First beta release for Horde 4.
   </notes>
  </release>
  <release>
   <version>
    <release>1.0.0RC1</release>
    <api>1.0.0</api>
   </version>
   <stability>
    <release>beta</release>
    <api>beta</api>
   </stability>
   <date>2011-03-22</date>
   <license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
   <notes>
* First release candidate for Horde 4.
* [mms] Tweak loading HTML documents (encodings) in Horde_Domhtml.
* [mms] Added Horde_Domhtml#returnBody().
* [mms] Added Domhtml unit tests.
   </notes>
  </release>
  <release>
   <version>
    <release>1.0.0RC2</release>
    <api>1.0.0</api>
   </version>
   <stability>
    <release>beta</release>
    <api>beta</api>
   </stability>
   <date>2011-03-29</date>
   <license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
   <notes>
* Second release candidate for Horde 4.
* Fix parsing ISO-8859-15 data with Horde_Domhtml (Bug #9714).
   </notes>
  </release>
  <release>
   <version>
    <release>1.0.0</release>
    <api>1.0.0</api>
   </version>
   <stability>
    <release>stable</release>
    <api>stable</api>
   </stability>
   <date>2011-04-06</date>
   <license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
   <notes>
* First stable release for Horde 4.
   </notes>
  </release>
  <release>
   <version>
    <release>1.0.1</release>
    <api>1.0.0</api></version>
   <stability>
    <release>stable</release>
    <api>stable</api></stability>
   <date>2011-04-20</date>
   <license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
   <notes>
* [jan] Fix wrapping of several follow-up lines with existing line breaks.
* [jan] Fix creating temporary files with open_basedir restrictions.
   </notes>
  </release>
  <release>
   <version>
    <release>1.0.2</release>
    <api>1.0.0</api></version>
   <stability>
    <release>stable</release>
    <api>stable</api></stability>
   <date>2011-05-03</date>
   <license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
   <notes>
* [mms] In Horde_Variables, operate on a copy of the $_REQUEST variable.
   </notes>
  </release>
  <release>
   <version>
    <release>1.0.3</release>
    <api>1.0.0</api></version>
   <stability>
    <release>stable</release>
    <api>stable</api></stability>
   <date>2011-06-01</date>
   <license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
   <notes>
* [mms] Don&apos;t try to use dl() in PHP 5.3+.
   </notes>
  </release>
  <release>
   <version>
    <release>1.0.4</release>
    <api>1.0.0</api></version>
   <stability>
    <release>stable</release>
    <api>stable</api></stability>
   <date>2011-06-14</date>
   <license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
   <notes>
* [jan] Unescape escaped quotes when importing CSV data.
   </notes>
  </release>
  <release>
   <version>
    <release>1.0.5</release>
    <api>1.0.0</api></version>
   <stability>
    <release>stable</release>
    <api>stable</api></stability>
   <date>2011-07-27</date>
   <license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
   <notes>
* [jan] Fix removing too many backslashes with magic quotes enabled (Bug #10149).
* [jan] Fix reading CSV data with PHP &lt; 5.3.
   </notes>
  </release>
  <release>
   <version>
    <release>1.0.6</release>
    <api>1.0.0</api></version>
   <stability>
    <release>stable</release>
    <api>stable</api></stability>
   <date>2011-10-11</date>
   <license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
   <notes>
* [jan] Speed up Horde_String::substr() (Evert Pot, Request #8627).
   </notes>
  </release>
  <release>
   <version>
    <release>1.1.0</release>
    <api>1.1.0</api></version>
   <stability>
    <release>stable</release>
    <api>stable</api></stability>
   <date>2011-12-06</date>
   <license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
   <notes>
* [mms] Add Horde_String::validUtf8().
   </notes>
  </release>
  <release>
   <version>
    <release>1.2.0</release>
    <api>1.2.0</api></version>
   <stability>
    <release>stable</release>
    <api>stable</api></stability>
   <date>2012-01-17</date>
   <license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
   <notes>
* [mms] Add Horde_Variables#filter().
   </notes>
  </release>
  <release>
   <version>
    <release>1.3.0</release>
    <api>1.3.0</api>
   </version>
   <stability>
    <release>stable</release>
    <api>stable</api></stability>
   <date>2012-03-20</date>
   <license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
   <notes>
* [jan] Implement ArrayAccess in Horde_Variables.
   </notes>
  </release>
  <release>
   <version>
    <release>1.3.1</release>
    <api>1.3.0</api></version>
   <stability>
    <release>stable</release>
    <api>stable</api></stability>
   <date>2012-05-29</date>
   <license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
   <notes>
* [mms] Fix Horde_String::validUtf8() to workaround PHP/PCRE bug where segfault will occur on input strings &gt; ~5000 characters
   </notes>
  </release>
  <release>
   <version>
    <release>1.4.0</release>
    <api>1.4.0</api></version>
   <stability>
    <release>stable</release>
    <api>stable</api></stability>
   <date>2012-06-29</date>
   <license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
   <notes>
* [mms] Add Horde_String::trimUtf8Bom().
   </notes>
  </release>
  <release>
   <version>
    <release>1.4.1</release>
    <api>1.4.0</api></version>
   <stability>
    <release>stable</release>
    <api>stable</api></stability>
   <date>2012-06-29</date>
   <license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
   <notes>
*
   </notes>
  </release>
  <release>
   <date>2012-07-06</date>
   <time>14:00:48</time>
   <version>
    <release>2.0.0alpha1</release>
    <api>2.0.0alpha1</api>
   </version>
   <stability>
    <release>alpha</release>
    <api>alpha</api>
   </stability>
   <license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
   <notes>
* First alpha release for Horde 5.
* [mms] Removed e-mail array manipulation methods (Horde_Mail package now provides this feature).
* [mms] Removed Horde_Util::getCsv() (moved to Horde_Data package).
* [mms] Add iteration to Horde_Domhtml object.
* [jan] Remove Horde_Util::getTempDir().
* [jan] Remove Horde_Array::replaceRecursive().
   </notes>
  </release>
  <release>
   <version>
    <release>2.0.0beta1</release>
    <api>2.0.0beta1</api></version>
   <stability>
    <release>beta</release>
    <api>beta</api></stability>
   <date>2012-07-19</date>
   <license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
   <notes>
* First beta release for Horde 5.
   </notes>
  </release>
  <release>
   <version>
    <release>2.0.0beta2</release>
    <api>2.0.0beta1</api></version>
   <stability>
    <release>beta</release>
    <api>beta</api></stability>
   <date>2012-10-12</date>
   <license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
   <notes>
* [mms] Remove Horde_Util::addParameter() and Horde_Util::removeParameter().
* [mms] Remove Horde_Util::cloneObject().
   </notes>
  </release>
  <release>
   <version>
    <release>2.0.0</release>
    <api>2.0.0</api></version>
   <stability>
    <release>stable</release>
    <api>stable</api></stability>
   <date>2012-10-30</date>
   <license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
   <notes>
* First stable release for Horde 5.
   </notes>
  </release>
  <release>
   <version>
    <release>2.0.1</release>
    <api>2.0.0</api></version>
   <stability>
    <release>stable</release>
    <api>stable</api></stability>
   <date>2012-11-19</date>
   <license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
   <notes>
* [mms] Use new Horde_Test layout.
   </notes>
  </release>
  <release>
   <version>
    <release>2.0.2</release>
    <api>2.0.0</api></version>
   <stability>
    <release>stable</release>
    <api>stable</api></stability>
   <date>2012-12-20</date>
   <license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
   <notes>
* [mms] Convert Horde_String#validUtf8() from a preg-regex to a string iterator to eliminate PCRE issues relating to stack sizes (Bug #11899).
   </notes>
  </release>
  <release>
   <version>
    <release>2.0.3</release>
    <api>2.0.0</api></version>
   <stability>
    <release>stable</release>
    <api>stable</api></stability>
   <date>2013-01-09</date>
   <license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
   <notes>
* [mms] Fix validating certain strings of UTF-8 data (Bug #11930).
   </notes>
  </release>
  <release>
   <version>
    <release>2.1.0</release>
    <api>2.1.0</api></version>
   <stability>
    <release>stable</release>
    <api>stable</api></stability>
   <date>2013-02-11</date>
   <license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
   <notes>
* [mms] Added &apos;charset&apos; and &apos;metacharset&apos; parameters to returnHtml().
* [mms] Added Horde_Domhtml#getCharset() to get best-guess charset of current encoding within the DOM object.
* [mms] Fix inserting HEAD into HTML document with Horde_Domhtml#getHead() if it doesn&apos;t already exist in the document.
   </notes>
  </release>
  <release>
   <version>
    <release>2.2.0</release>
    <api>2.2.0</api></version>
   <stability>
    <release>stable</release>
    <api>stable</api></stability>
   <date>2013-02-17</date>
   <license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
   <notes>
* [mms] Can&apos;t add charset directly to HTML document or else DOM will alter document when generating HTML.
* [mms] Added Horde_Domhtml#getBody().
   </notes>
  </release>
  <release>
   <version>
    <release>2.2.1</release>
    <api>2.2.0</api></version>
   <stability>
    <release>stable</release>
    <api>stable</api></stability>
   <date>2013-03-05</date>
   <license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
   <notes>
* [mms] Simplify Horde_Variables iterator.
   </notes>
  </release>
  <release>
   <version>
    <release>2.2.2</release>
    <api>2.2.0</api></version>
   <stability>
    <release>stable</release>
    <api>stable</api></stability>
   <date>2013-05-06</date>
   <license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
   <notes>
* [mms] Fix Horde_Domhtml#returnBody().
   </notes>
  </release>
  <release>
   <version>
    <release>2.2.3</release>
    <api>2.2.0</api></version>
   <stability>
    <release>stable</release>
    <api>stable</api></stability>
   <date>2013-05-06</date>
   <license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
   <notes>
* 
   </notes>
  </release>
 </changelog>
</package>


Fixed version (ground truth):
<?xml version="1.0" encoding="UTF-8"?>
<package packagerversion="1.9.2" version="2.0" xmlns="http://pear.php.net/dtd/package-2.0" xmlns:tasks="http://pear.php.net/dtd/tasks-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://pear.php.net/dtd/tasks-1.0 http://pear.php.net/dtd/tasks-1.0.xsd http://pear.php.net/dtd/package-2.0 http://pear.php.net/dtd/package-2.0.xsd">
 <name>Horde_Util</name>
 <channel>pear.horde.org</channel>
 <extends>Util</extends>
 <summary>Horde Utility Libraries</summary>
 <description>These classes provide functionality useful for all kind of applications.</description>
 <lead>
  <name>Chuck Hagenbuch</name>
  <user>chuck</user>
  <email>chuck@horde.org</email>
  <active>yes</active>
 </lead>
 <lead>
  <name>Jan Schneider</name>
  <user>jan</user>
  <email>jan@horde.org</email>
  <active>yes</active>
 </lead>
 <developer>
  <name>Michael Slusarz</name>
  <user>slusarz</user>
  <email>slusarz@horde.org</email>
  <active>yes</active>
 </developer>
 <date>2013-05-06</date>
 <time>19:34:35</time>
 <version>
  <release>2.3.0</release>
  <api>2.3.0</api>
 </version>
 <stability>
  <release>stable</release>
  <api>stable</api>
 </stability>
 <license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
 <notes>
* [mms] SECURITY: &apos;_formvars&apos; form input must now be JSON encoded, not PHP serialized.
 </notes>
 <contents>
  <dir baseinstalldir="/" name="/">
   <dir name="doc">
    <dir name="Horde">
     <dir name="Util">
      <file name="COPYING" role="doc" />
      <file name="UPGRADING" role="doc" />
     </dir> <!-- /doc/Horde/Util -->
    </dir> <!-- /doc/Horde -->
   </dir> <!-- /doc -->
   <dir name="lib">
    <dir name="Horde">
     <dir name="Array">
      <dir name="Sort">
       <file name="Helper.php" role="php" />
      </dir> <!-- /lib/Horde/Array/Sort -->
     </dir> <!-- /lib/Horde/Array -->
     <file name="Array.php" role="php" />
     <file name="Domhtml.php" role="php" />
     <file name="String.php" role="php" />
     <file name="Util.php" role="php" />
     <file name="Variables.php" role="php" />
    </dir> <!-- /lib/Horde -->
   </dir> <!-- /lib -->
   <dir name="test">
    <dir name="Horde">
     <dir name="Util">
      <dir name="fixtures">
       <file name="domhtml_test.html" role="test" />
      </dir> <!-- /test/Horde/Util/fixtures -->
      <file name="AllTests.php" role="test" />
      <file name="ArrayTest.php" role="test" />
      <file name="bootstrap.php" role="test" />
      <file name="DomhtmlTest.php" role="test" />
      <file name="phpunit.xml" role="test" />
      <file name="StringTest.php" role="test" />
      <file name="UtilTest.php" role="test" />
      <file name="VariablesTest.php" role="test" />
     </dir> <!-- /test/Horde/Util -->
    </dir> <!-- /test/Horde -->
   </dir> <!-- /test -->
  </dir> <!-- / -->
 </contents>
 <dependencies>
  <required>
   <php>
    <min>5.3.0</min>
   </php>
   <pearinstaller>
    <min>1.7.0</min>
   </pearinstaller>
   <extension>
    <name>dom</name>
   </extension>
  </required>
  <optional>
   <package>
    <name>Horde_Imap_Client</name>
    <channel>pear.horde.org</channel>
    <min>2.0.0</min>
    <max>3.0.0alpha1</max>
    <exclude>3.0.0alpha1</exclude>
   </package>
   <package>
    <name>Horde_Test</name>
    <channel>pear.horde.org</channel>
    <min>2.1.0</min>
    <max>3.0.0alpha1</max>
    <exclude>3.0.0alpha1</exclude>
   </package>
   <extension>
    <name>ctype</name>
   </extension>
   <extension>
    <name>filter</name>
   </extension>
   <extension>
    <name>iconv</name>
   </extension>
   <extension>
    <name>json</name>
   </extension>
   <extension>
    <name>mbstring</name>
   </extension>
   <extension>
    <name>xml</name>
   </extension>
  </optional>
 </dependencies>
 <phprelease>
  <filelist>
   <install as="COPYING" name="doc/Horde/Util/COPYING" />
   <install as="UPGRADING" name="doc/Horde/Util/UPGRADING" />
   <install as="Horde/Array.php" name="lib/Horde/Array.php" />
   <install as="Horde/Domhtml.php" name="lib/Horde/Domhtml.php" />
   <install as="Horde/String.php" name="lib/Horde/String.php" />
   <install as="Horde/Util.php" name="lib/Horde/Util.php" />
   <install as="Horde/Variables.php" name="lib/Horde/Variables.php" />
   <install as="Horde/Array/Sort/Helper.php" name="lib/Horde/Array/Sort/Helper.php" />
   <install as="Horde/Util/AllTests.php" name="test/Horde/Util/AllTests.php" />
   <install as="Horde/Util/ArrayTest.php" name="test/Horde/Util/ArrayTest.php" />
   <install as="Horde/Util/bootstrap.php" name="test/Horde/Util/bootstrap.php" />
   <install as="Horde/Util/DomhtmlTest.php" name="test/Horde/Util/DomhtmlTest.php" />
   <install as="Horde/Util/phpunit.xml" name="test/Horde/Util/phpunit.xml" />
   <install as="Horde/Util/StringTest.php" name="test/Horde/Util/StringTest.php" />
   <install as="Horde/Util/UtilTest.php" name="test/Horde/Util/UtilTest.php" />
   <install as="Horde/Util/VariablesTest.php" name="test/Horde/Util/VariablesTest.php" />
   <install as="Horde/Util/fixtures/domhtml_test.html" name="test/Horde/Util/fixtures/domhtml_test.html" />
   </filelist>
 </phprelease>
 <changelog>
  <release>
   <version>
    <release>0.0.1</release>
    <api>0.0.1</api>
   </version>
   <stability>
    <release>alpha</release>
    <api>alpha</api>
   </stability>
   <date>2003-10-28</date>
   <license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
   <notes>
Initial release as a PEAR package
   </notes>
  </release>
  <release>
   <version>
    <release>0.0.2</release>
    <api>0.0.2</api>
   </version>
   <stability>
    <release>alpha</release>
    <api>alpha</api>
   </stability>
   <date>2006-05-08</date>
   <license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
   <notes>
Converted to package.xml 2.0 for pear.horde.org
   </notes>
  </release>
  <release>
   <version>
    <release>0.1.0</release>
    <api>0.1.0</api>
   </version>
   <stability>
    <release>beta</release>
    <api>beta</api>
   </stability>
   <date>2008-09-25</date>
   <license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
   <notes>
* Added magic PHP5 methods to the Variables class.
* Added array_merge_recursive_overwrite() to Horde_Array().
* Fixed a bug in Horde_Array::arraySort where auto-detecting the first key failed.
* Added sorter functions for array keys.
* Removed use of array_unique().
* Cleaned up addParameter() in the Util class.
* Implemented a much more efficient, yet safer file wiping algorithm.
* Fixed Util::addParameter when it is passed a base URL that contains an urlencoded ampersand.
* Added a parameter to Util::nocacheUrl() to not encode url.
* Added Util::getPathInfo().
* Signed parameters to go.php with an HMAC based on a new secret key configuration value, to prevent using go.php as an open referrer.
* Made logout tokens only valid for a configurable length of time.
* Made it possible to use String.php without having any other files available.
* Use utf8_decode() in String::length() if possible.
* Always use preg_match() in String::regexMatch().
* Workaround for korean messages in a non-standard charset.
* Fixed String::substr() length calculations.
* Added multibyte-safe String::wordwrap() method.
* Added parameter to use wordwrap() for line folding.
* Use C as the portable locale (Bug #6194).
* Don&apos;t use utf8_encode/decode on very large strings if other options are available. (Bug #6660)
* Fixed order of checks in String::convertCharset (Bug #6794).
   </notes>
  </release>
  <release>
   <version>
    <release>1.0.0alpha1</release>
    <api>1.0.0</api>
   </version>
   <stability>
    <release>alpha</release>
    <api>alpha</api>
   </stability>
   <date>2011-03-08</date>
   <license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
   <notes>
* First alpha release for Horde 4.
* Added Horde_String::rpos().
* Renamed Horde_Array::array_merge_recursive_overwrite() to Horde_Array::replaceRecursive().
* Added Horde_String::common().
* Added Horde_Domhtml::.
* Removed Horde_Util::assertDriverConfig().
* Removed Horde_Util::bufferOutput().
* Removed Horde_Util::uriB64Encode() and Horde_Util::uriB64Decode().
* Removed Horde_Util::strftime2date() and Horde_Util::date2strftime().
* Removed Horde_Util::closeWindowJs() and Horde_Util::nocacheUrl().
* Added Horde_String::convertToUtf8().
* Added Horde_Util::abbreviate().
* Removed Horde_Array::combine() and Horde_Util::hmac().
   </notes>
  </release>
  <release>
   <version>
    <release>1.0.0beta1</release>
    <api>1.0.0</api>
   </version>
   <stability>
    <release>beta</release>
    <api>beta</api>
   </stability>
   <date>2011-03-16</date>
   <license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
   <notes>
* First beta release for Horde 4.
   </notes>
  </release>
  <release>
   <version>
    <release>1.0.0RC1</release>
    <api>1.0.0</api>
   </version>
   <stability>
    <release>beta</release>
    <api>beta</api>
   </stability>
   <date>2011-03-22</date>
   <license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
   <notes>
* First release candidate for Horde 4.
* [mms] Tweak loading HTML documents (encodings) in Horde_Domhtml.
* [mms] Added Horde_Domhtml#returnBody().
* [mms] Added Domhtml unit tests.
   </notes>
  </release>
  <release>
   <version>
    <release>1.0.0RC2</release>
    <api>1.0.0</api>
   </version>
   <stability>
    <release>beta</release>
    <api>beta</api>
   </stability>
   <date>2011-03-29</date>
   <license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
   <notes>
* Second release candidate for Horde 4.
* Fix parsing ISO-8859-15 data with Horde_Domhtml (Bug #9714).
   </notes>
  </release>
  <release>
   <version>
    <release>1.0.0</release>
    <api>1.0.0</api>
   </version>
   <stability>
    <release>stable</release>
    <api>stable</api>
   </stability>
   <date>2011-04-06</date>
   <license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
   <notes>
* First stable release for Horde 4.
   </notes>
  </release>
  <release>
   <version>
    <release>1.0.1</release>
    <api>1.0.0</api></version>
   <stability>
    <release>stable</release>
    <api>stable</api></stability>
   <date>2011-04-20</date>
   <license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
   <notes>
* [jan] Fix wrapping of several follow-up lines with existing line breaks.
* [jan] Fix creating temporary files with open_basedir restrictions.
   </notes>
  </release>
  <release>
   <version>
    <release>1.0.2</release>
    <api>1.0.0</api></version>
   <stability>
    <release>stable</release>
    <api>stable</api></stability>
   <date>2011-05-03</date>
   <license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
   <notes>
* [mms] In Horde_Variables, operate on a copy of the $_REQUEST variable.
   </notes>
  </release>
  <release>
   <version>
    <release>1.0.3</release>
    <api>1.0.0</api></version>
   <stability>
    <release>stable</release>
    <api>stable</api></stability>
   <date>2011-06-01</date>
   <license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
   <notes>
* [mms] Don&apos;t try to use dl() in PHP 5.3+.
   </notes>
  </release>
  <release>
   <version>
    <release>1.0.4</release>
    <api>1.0.0</api></version>
   <stability>
    <release>stable</release>
    <api>stable</api></stability>
   <date>2011-06-14</date>
   <license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
   <notes>
* [jan] Unescape escaped quotes when importing CSV data.
   </notes>
  </release>
  <release>
   <version>
    <release>1.0.5</release>
    <api>1.0.0</api></version>
   <stability>
    <release>stable</release>
    <api>stable</api></stability>
   <date>2011-07-27</date>
   <license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
   <notes>
* [jan] Fix removing too many backslashes with magic quotes enabled (Bug #10149).
* [jan] Fix reading CSV data with PHP &lt; 5.3.
   </notes>
  </release>
  <release>
   <version>
    <release>1.0.6</release>
    <api>1.0.0</api></version>
   <stability>
    <release>stable</release>
    <api>stable</api></stability>
   <date>2011-10-11</date>
   <license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
   <notes>
* [jan] Speed up Horde_String::substr() (Evert Pot, Request #8627).
   </notes>
  </release>
  <release>
   <version>
    <release>1.1.0</release>
    <api>1.1.0</api></version>
   <stability>
    <release>stable</release>
    <api>stable</api></stability>
   <date>2011-12-06</date>
   <license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
   <notes>
* [mms] Add Horde_String::validUtf8().
   </notes>
  </release>
  <release>
   <version>
    <release>1.2.0</release>
    <api>1.2.0</api></version>
   <stability>
    <release>stable</release>
    <api>stable</api></stability>
   <date>2012-01-17</date>
   <license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
   <notes>
* [mms] Add Horde_Variables#filter().
   </notes>
  </release>
  <release>
   <version>
    <release>1.3.0</release>
    <api>1.3.0</api>
   </version>
   <stability>
    <release>stable</release>
    <api>stable</api></stability>
   <date>2012-03-20</date>
   <license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
   <notes>
* [jan] Implement ArrayAccess in Horde_Variables.
   </notes>
  </release>
  <release>
   <version>
    <release>1.3.1</release>
    <api>1.3.0</api></version>
   <stability>
    <release>stable</release>
    <api>stable</api></stability>
   <date>2012-05-29</date>
   <license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
   <notes>
* [mms] Fix Horde_String::validUtf8() to workaround PHP/PCRE bug where segfault will occur on input strings &gt; ~5000 characters
   </notes>
  </release>
  <release>
   <version>
    <release>1.4.0</release>
    <api>1.4.0</api></version>
   <stability>
    <release>stable</release>
    <api>stable</api></stability>
   <date>2012-06-29</date>
   <license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
   <notes>
* [mms] Add Horde_String::trimUtf8Bom().
   </notes>
  </release>
  <release>
   <version>
    <release>1.4.1</release>
    <api>1.4.0</api></version>
   <stability>
    <release>stable</release>
    <api>stable</api></stability>
   <date>2012-06-29</date>
   <license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
   <notes>
*
   </notes>
  </release>
  <release>
   <date>2012-07-06</date>
   <time>14:00:48</time>
   <version>
    <release>2.0.0alpha1</release>
    <api>2.0.0alpha1</api>
   </version>
   <stability>
    <release>alpha</release>
    <api>alpha</api>
   </stability>
   <license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
   <notes>
* First alpha release for Horde 5.
* [mms] Removed e-mail array manipulation methods (Horde_Mail package now provides this feature).
* [mms] Removed Horde_Util::getCsv() (moved to Horde_Data package).
* [mms] Add iteration to Horde_Domhtml object.
* [jan] Remove Horde_Util::getTempDir().
* [jan] Remove Horde_Array::replaceRecursive().
   </notes>
  </release>
  <release>
   <version>
    <release>2.0.0beta1</release>
    <api>2.0.0beta1</api></version>
   <stability>
    <release>beta</release>
    <api>beta</api></stability>
   <date>2012-07-19</date>
   <license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
   <notes>
* First beta release for Horde 5.
   </notes>
  </release>
  <release>
   <version>
    <release>2.0.0beta2</release>
    <api>2.0.0beta1</api></version>
   <stability>
    <release>beta</release>
    <api>beta</api></stability>
   <date>2012-10-12</date>
   <license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
   <notes>
* [mms] Remove Horde_Util::addParameter() and Horde_Util::removeParameter().
* [mms] Remove Horde_Util::cloneObject().
   </notes>
  </release>
  <release>
   <version>
    <release>2.0.0</release>
    <api>2.0.0</api></version>
   <stability>
    <release>stable</release>
    <api>stable</api></stability>
   <date>2012-10-30</date>
   <license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
   <notes>
* First stable release for Horde 5.
   </notes>
  </release>
  <release>
   <version>
    <release>2.0.1</release>
    <api>2.0.0</api></version>
   <stability>
    <release>stable</release>
    <api>stable</api></stability>
   <date>2012-11-19</date>
   <license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
   <notes>
* [mms] Use new Horde_Test layout.
   </notes>
  </release>
  <release>
   <version>
    <release>2.0.2</release>
    <api>2.0.0</api></version>
   <stability>
    <release>stable</release>
    <api>stable</api></stability>
   <date>2012-12-20</date>
   <license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
   <notes>
* [mms] Convert Horde_String#validUtf8() from a preg-regex to a string iterator to eliminate PCRE issues relating to stack sizes (Bug #11899).
   </notes>
  </release>
  <release>
   <version>
    <release>2.0.3</release>
    <api>2.0.0</api></version>
   <stability>
    <release>stable</release>
    <api>stable</api></stability>
   <date>2013-01-09</date>
   <license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
   <notes>
* [mms] Fix validating certain strings of UTF-8 data (Bug #11930).
   </notes>
  </release>
  <release>
   <version>
    <release>2.1.0</release>
    <api>2.1.0</api></version>
   <stability>
    <release>stable</release>
    <api>stable</api></stability>
   <date>2013-02-11</date>
   <license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
   <notes>
* [mms] Added &apos;charset&apos; and &apos;metacharset&apos; parameters to returnHtml().
* [mms] Added Horde_Domhtml#getCharset() to get best-guess charset of current encoding within the DOM object.
* [mms] Fix inserting HEAD into HTML document with Horde_Domhtml#getHead() if it doesn&apos;t already exist in the document.
   </notes>
  </release>
  <release>
   <version>
    <release>2.2.0</release>
    <api>2.2.0</api></version>
   <stability>
    <release>stable</release>
    <api>stable</api></stability>
   <date>2013-02-17</date>
   <license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
   <notes>
* [mms] Can&apos;t add charset directly to HTML document or else DOM will alter document when generating HTML.
* [mms] Added Horde_Domhtml#getBody().
   </notes>
  </release>
  <release>
   <version>
    <release>2.2.1</release>
    <api>2.2.0</api></version>
   <stability>
    <release>stable</release>
    <api>stable</api></stability>
   <date>2013-03-05</date>
   <license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
   <notes>
* [mms] Simplify Horde_Variables iterator.
   </notes>
  </release>
  <release>
   <version>
    <release>2.2.2</release>
    <api>2.2.0</api></version>
   <stability>
    <release>stable</release>
    <api>stable</api></stability>
   <date>2013-05-06</date>
   <license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
   <notes>
* [mms] Fix Horde_Domhtml#returnBody().
   </notes>
  </release>
  <release>
   <version>
    <release>2.3.0</release>
    <api>2.3.0</api></version>
   <stability>
    <release>stable</release>
    <api>stable</api></stability>
   <date>2013-05-06</date>
   <license uri="http://www.horde.org/licenses/lgpl21">LGPL-2.1</license>
   <notes>
* [mms] SECURITY: &apos;_formvars&apos; form input must now be JSON encoded, not PHP serialized.
   </notes>
  </release>
 </changelog>
</package>