Fix favicon fetching while using proxies (#5421)

* Fix favicon fetching while using proxies

This ensures that if curl_options are defined in config.php, those
settings are respected while fetching favicons.

Fixes FreshRSS#4951

* Change options priority

* Credits keep alphabticorder

---------

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
This commit is contained in:
vrachnis 2023-05-25 08:27:52 +01:00 committed by GitHub
parent 445cc23abd
commit df80913747
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 13 additions and 2 deletions

View File

@ -80,6 +80,7 @@ People are sorted by name so please keep this order.
* [hoilc](https://github.com/hoilc): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:hoilc)
* [ibiruai](https://github.com/ibiruai): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:ibiruai)
* [id-konstantin-stepanov](https://github.com/id-konstantin-stepanov): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:id-konstantin-stepanov)
* [Ilias Vrachnis](https://github.com/vrachnis): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:vrachnis)
* [Jake Mannens](https://github.com/jakem72360): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:jakem72360)
* [Jamie Slome](https://github.com/JamieSlome): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:JamieSlome), [Web](https://418sec.com/)
* [Jan Lukas Gernert](https://github.com/jangernert): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:jangernert)

View File

@ -28,7 +28,7 @@ function isImgMime(string $content): bool {
function downloadHttp(string &$url, array $curlOptions = []): string {
syslog(LOG_INFO, 'FreshRSS Favicon GET ' . $url);
$url = checkUrl($url);
if (!$url) {
if ($url == false) {
return '';
}
/** @var CurlHandle $ch */
@ -41,9 +41,19 @@ function downloadHttp(string &$url, array $curlOptions = []): string {
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_ENCODING => '', //Enable all encodings
]);
FreshRSS_Context::initSystem();
$system_conf = FreshRSS_Context::$system_conf;
if (isset($system_conf)) {
curl_setopt_array($ch, $system_conf->curl_options);
}
curl_setopt_array($ch, $curlOptions);
/** @var string $response */
$response = curl_exec($ch);
if (!is_string($response)) {
$response = '';
}
$info = curl_getinfo($ch);
curl_close($ch);
if (!empty($info['url'])) {