@tsteur opened this issue on December 8th 2016

We have a few users that see a warning about a license being expired for a free plugin see eg https://forum.piwik.org/t/license-missing-of-a-free-glp-plugin/21674 . Clearly this is a bug. They also mentioned that the shown list for premium features and free plugins is the same. I looked for hours through the code on Piwik and Marketplace and tried to explain it but couldn't. Then was browsing through logs on the Marketplace to hopefully find a request or something weird and tada there is .

Usually a request be like plugins?keywords=&purchase_type=paid&query=&sort=lastupdated&release_channel=latest_stable &prefer_stable=1

but I found requests where it sent plugins?keywords=&purchase_type=paid&query=&sort=lastupdated&release_channe l=latest_stable&prefer_stable=1

I was checking if it is related to different transport methods but it seems to not be related. In http://php.net/manual/de/function.http-build-query.php#102324 someone mentions that http_build_query may return & on some servers so I think this seems to be the case maybe because of some extension or so? Checking https://3v4l.org/h760I all PHP versions seem to behave the same way by default.

I can see in https://github.com/piwik/piwik/blob/3.0.0-rc1/plugins/CoreUpdater/ReleaseChannel.php#L36 we are already using a specific separator so I presume this seems to be a fix for it and part of this issue would be to refactor all calls to http_build_query into one spot.

This issue was closed on December 9th 2016
Powered by GitHub Issue Mirror