mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-03-28 13:01:57 +00:00
Warn server administrator when IPv6 is enabled but unsupported by OS
This commit is contained in:
@@ -162,7 +162,7 @@ public sealed class SetupServer : IDisposable
|
||||
{
|
||||
var knownBindInterfaces = NetworkManager.GetInterfacesCore(_loggerFactory.CreateLogger<SetupServer>(), config.EnableIPv4, config.EnableIPv6);
|
||||
knownBindInterfaces = NetworkManager.FilterBindSettings(config, knownBindInterfaces.ToList(), config.EnableIPv4, config.EnableIPv6);
|
||||
var bindInterfaces = NetworkManager.GetAllBindInterfaces(false, _configurationManager, knownBindInterfaces, config.EnableIPv4, config.EnableIPv6);
|
||||
var bindInterfaces = NetworkManager.GetAllBindInterfaces(_loggerFactory.CreateLogger<NetworkManager>(), false, _configurationManager, knownBindInterfaces, config.EnableIPv4, config.EnableIPv6);
|
||||
Extensions.WebHostBuilderExtensions.SetupJellyfinWebServer(
|
||||
bindInterfaces,
|
||||
config.InternalHttpPort,
|
||||
|
||||
@@ -753,12 +753,13 @@ public class NetworkManager : INetworkManager, IDisposable
|
||||
/// <inheritdoc/>
|
||||
public IReadOnlyList<IPData> GetAllBindInterfaces(bool individualInterfaces = false)
|
||||
{
|
||||
return NetworkManager.GetAllBindInterfaces(individualInterfaces, _configurationManager, _interfaces, IsIPv4Enabled, IsIPv6Enabled);
|
||||
return NetworkManager.GetAllBindInterfaces(_logger, individualInterfaces, _configurationManager, _interfaces, IsIPv4Enabled, IsIPv6Enabled);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Reads the jellyfin configuration of the configuration manager and produces a list of interfaces that should be bound.
|
||||
/// </summary>
|
||||
/// <param name="logger">Logger to use for messages.</param>
|
||||
/// <param name="individualInterfaces">Defines that only known interfaces should be used.</param>
|
||||
/// <param name="configurationManager">The ConfigurationManager.</param>
|
||||
/// <param name="knownInterfaces">The known interfaces that gets returned if possible or instructed.</param>
|
||||
@@ -766,6 +767,7 @@ public class NetworkManager : INetworkManager, IDisposable
|
||||
/// <param name="readIpv6">Include IPV6 type interfaces.</param>
|
||||
/// <returns>A list of ip address of which jellyfin should bind to.</returns>
|
||||
public static IReadOnlyList<IPData> GetAllBindInterfaces(
|
||||
ILogger<NetworkManager> logger,
|
||||
bool individualInterfaces,
|
||||
IConfigurationManager configurationManager,
|
||||
IReadOnlyList<IPData> knownInterfaces,
|
||||
@@ -780,7 +782,11 @@ public class NetworkManager : INetworkManager, IDisposable
|
||||
}
|
||||
|
||||
// TODO: remove when upgrade to dotnet 11 is done
|
||||
readIpv6 &= Socket.OSSupportsIPv6;
|
||||
if (readIpv6 && !Socket.OSSupportsIPv6)
|
||||
{
|
||||
logger.LogWarning("IPv6 Unsupported by OS, not listening on IPv6");
|
||||
readIpv6 = false;
|
||||
}
|
||||
|
||||
// No bind address and no exclusions, so listen on all interfaces.
|
||||
var result = new List<IPData>();
|
||||
|
||||
Reference in New Issue
Block a user