Skip to content

[Bug] Unable to load extension list over IPv6 #6744

@mlabuhn

Description

@mlabuhn

Describe the bug

When attempting to view extensions in the GUI, FreshRSS attempts to load available extensions:

protected function getAvailableExtensionList(): array {
	$extensionListUrl = 'https://raw.githubusercontent.com/FreshRSS/Extensions/master/extensions.json';
	$json = @file_get_contents($extensionListUrl);
	...

I have not tested this across other installation types, but in my environment, this always fails if https://raw.githubusercontent.com resolves to an IPv6 address. Logging into the same Kubernetes pod, and installing some additional tools, I was able to verify that I can reach that address over IPv6 (ping succeeds, curl is able to download the file over IPv6), and also that it is the file_get_contents call that fails.

Disabling IPv6 globally, or overriding DNS resolution for that particular address to force it onto IPv4 A records only is a viable workaround.

To Reproduce

  1. Go to Configuration -> Extensions
  2. Wait
  3. Connection times out

Expected behavior

Extensions settings page loads.

FreshRSS version

1.23.1

Environment information

  • Database version: PostgreSQL 14.1.0
  • PHP version: PHP 8.2.7
  • Installation type: Kubernetes, based on official Docker image version 1.23.1
  • Web server type: Apache

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions