Bug #76719 [Opn]: PECL REST channel returns invalid XML
| From: | cmb@php.net | Date: | Wed, 08 Aug 2018 17:35:21 +0000 |
| Subject: | Bug #76719 [Opn]: PECL REST channel returns invalid XML | ||
| References: | 1 | Groups: | php.pecl.dev |
| Request: | Send a blank email to pecl-dev+get-15451@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=76719&edit=1
ID: 76719
Updated by: cmb@php.net
Reported by: dzuelke at gmail dot com
Summary: PECL REST channel returns invalid XML
Status: Open
Type: Bug
Package: PECL website
Operating System: irrelevant
PHP Version: Irrelevant
Block user comment: N
Private report: N
New Comment:
It seems to me that this code[1] didn't work as hoped.
[1] <https://github.com/php/web-pecl/blob/da4fe2a/include/pear-rest.php#L133-L139>
Previous Comments:
------------------------------------------------------------------------
[2018-08-08 02:24:36] dzuelke at gmail dot com
Description:
------------
Same again as #58446, #59098, #59666...
Several endpoints in the API return invalid XML, the issue is always the same: weird XML prolog and
extra elements in the middle of the document; sometimes just one more time, sometimes more, e.g. one
in Authentication, three in Caching:
...
<pi>
<p><n>PAM</n>
<c>pecl.php.net</c>
<ca xlink:href="/rest/c/Authentication">Authentication</ca>
<l>PHP</l>
<s>PAM integration</s>
<d>This extension provides PAM (Pluggable Authentication Modules) integration. PAM is a
system of libraries that handle the authentication tasks of applications and services. The library
provides a stable API for applications to defer to for authentication tasks.</d>
<r xlink:href="/rest/r/pam"/>
</p><?xml version="1.0" encoding="UTF-8" ?>
<a xmlns="http://pear.php.net/dtd/rest.allreleases"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xlink="http://www.w3.org/1999/xlink"
xsi:schemaLocation="http://pear.php.net/dtd/rest.allreleases
http://pear.php.net/dtd/rest.allreleases.xsd">
<p>pam</p>
<c>pecl.php.net</c>
<r><v>1.0.3</v><s>stable</s></r>
<r><v>1.0.2</v><s>stable</s></r>
<r><v>1.0.1</v><s>stable</s></r>
<r><v>1.0.0</v><s>stable</s></r>
</a>
The test script below outputs the number of XML prologs for each category that has more than one in
the XML.
Test script:
---------------
for f in $(curl https://pecl.php.net/rest/c/categories.xml |
grep -o 'c xlink:href="[^"]*' | cut -d'"' -f2 | sed
's/info.xml/packagesinfo.xml/' | sed s#^#https://pecl.php.net#); do { echo -n "$f: "; curl
--silent $f | grep '<?xml' | wc -l; } | grep -v 1; done
Actual result:
--------------
https://pecl.php.net/rest/c/Authentication/packagesinfo.xml:
2
https://pecl.php.net/rest/c/Caching/packagesinfo.xml:
4
https://pecl.php.net/rest/c/Database/packagesinfo.xml:
2
https://pecl.php.net/rest/c/File%2BFormats/packagesinfo.xml:
2
https://pecl.php.net/rest/c/GUI/packagesinfo.xml:
2
https://pecl.php.net/rest/c/Images/packagesinfo.xml:
3
https://pecl.php.net/rest/c/Networking/packagesinfo.xml:
3
https://pecl.php.net/rest/c/Numbers/packagesinfo.xml:
2
https://pecl.php.net/rest/c/PHP/packagesinfo.xml:
2
https://pecl.php.net/rest/c/System/packagesinfo.xml:
2
https://pecl.php.net/rest/c/Text/packagesinfo.xml:
2
https://pecl.php.net/rest/c/Web%2BServices/packagesinfo.xml:
2
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=76719&edit=1