diff options
| author | john janzen <git@johnjanzen.me> | 2025-12-21 15:37:22 +0100 |
|---|---|---|
| committer | john janzen <git@johnjanzen.me> | 2025-12-21 15:37:22 +0100 |
| commit | 146681f0ba927b6c2d1e392a2b157a28c36e1a6b (patch) | |
| tree | 279e4337bedd01ecef14c9ab15a6b5580a7a9871 /src | |
| parent | 93902fc610a9d8b52780d88f7bb986e668567c9d (diff) | |
Warn server administrator when IPv6 is enabled but unsupported by OS
Diffstat (limited to 'src')
| -rw-r--r-- | src/Jellyfin.Networking/Manager/NetworkManager.cs | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/Jellyfin.Networking/Manager/NetworkManager.cs b/src/Jellyfin.Networking/Manager/NetworkManager.cs index e82e854417..88f16d8c50 100644 --- a/src/Jellyfin.Networking/Manager/NetworkManager.cs +++ b/src/Jellyfin.Networking/Manager/NetworkManager.cs @@ -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>(); |
