mirror of
https://github.com/jellyfin/jellyfin.git
synced 2025-12-18 06:53:07 +03:00
Merge remote-tracking branch 'upstream/master' into SubnetOverlappFix
This commit is contained in:
@@ -285,14 +285,25 @@ namespace Jellyfin.Networking.Manager
|
||||
// No bind address and no exclusions, so listen on all interfaces.
|
||||
Collection<IPObject> result = new Collection<IPObject>();
|
||||
|
||||
if (IsIP4Enabled)
|
||||
if (IsIP6Enabled && IsIP4Enabled)
|
||||
{
|
||||
// Kestrel source code shows it uses Sockets.DualMode - so this also covers IPAddress.Any
|
||||
result.AddItem(IPAddress.IPv6Any);
|
||||
}
|
||||
else if (IsIP4Enabled)
|
||||
{
|
||||
result.AddItem(IPAddress.Any);
|
||||
}
|
||||
|
||||
if (IsIP6Enabled)
|
||||
else if (IsIP6Enabled)
|
||||
{
|
||||
result.AddItem(IPAddress.IPv6Any);
|
||||
// Cannot use IPv6Any as Kestrel will bind to IPv4 addresses.
|
||||
foreach (var iface in _interfaceAddresses)
|
||||
{
|
||||
if (iface.AddressFamily == AddressFamily.InterNetworkV6)
|
||||
{
|
||||
result.AddItem(iface.Address);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
@@ -425,7 +436,7 @@ namespace Jellyfin.Networking.Manager
|
||||
}
|
||||
|
||||
// There isn't any others, so we'll use the loopback.
|
||||
result = IsIP6Enabled ? "::" : "127.0.0.1";
|
||||
result = IsIP6Enabled ? "::1" : "127.0.0.1";
|
||||
_logger.LogWarning("{Source}: GetBindInterface: Loopback {Result} returned.", source, result);
|
||||
return result;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user