Ensure nodeinfo-provided protocols are strings in Model\GServer::parseNodeinfo2

- https://github.com/friendica/friendica/issues/10168#issuecomment-828281803
This commit is contained in:
Hypolite Petovan 2021-05-31 00:47:03 -04:00
parent 8bdfdc7d52
commit 302070875c

View file

@ -802,6 +802,7 @@ class GServer
/** /**
* Parses Nodeinfo 2 * Parses Nodeinfo 2
* *
* @see https://git.feneas.org/jaywink/nodeinfo2
* @param string $nodeinfo_url address of the nodeinfo path * @param string $nodeinfo_url address of the nodeinfo path
* @return array Server data * @return array Server data
* @throws \Friendica\Network\HTTPException\InternalServerErrorException * @throws \Friendica\Network\HTTPException\InternalServerErrorException
@ -850,8 +851,10 @@ class GServer
if (!empty($nodeinfo['protocols'])) { if (!empty($nodeinfo['protocols'])) {
$protocols = []; $protocols = [];
foreach ($nodeinfo['protocols'] as $protocol) { foreach ($nodeinfo['protocols'] as $protocol) {
if (is_string($protocol)) {
$protocols[$protocol] = true; $protocols[$protocol] = true;
} }
}
if (!empty($protocols['dfrn'])) { if (!empty($protocols['dfrn'])) {
$server['network'] = Protocol::DFRN; $server['network'] = Protocol::DFRN;