From 9c96ce5f6e15ee9789817afb5768212766fc2e1d Mon Sep 17 00:00:00 2001 From: Shadowghost Date: Sun, 23 Jun 2024 11:40:54 -0400 Subject: [PATCH] Backport pull request #12094 from jellyfin/release-10.9.z Map IPv6 mapped IPv4 addresses back to IPv4 before running checks Original-merge: f097aad01e6992d9f65d1cfe32e569a785e2918c Merged-by: Bond-009 Backported-by: Joshua M. Boniface --- src/Jellyfin.Networking/Manager/NetworkManager.cs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/Jellyfin.Networking/Manager/NetworkManager.cs b/src/Jellyfin.Networking/Manager/NetworkManager.cs index 148b33fcbd..cf6a2cc553 100644 --- a/src/Jellyfin.Networking/Manager/NetworkManager.cs +++ b/src/Jellyfin.Networking/Manager/NetworkManager.cs @@ -919,10 +919,14 @@ public class NetworkManager : INetworkManager, IDisposable { ArgumentNullException.ThrowIfNull(address); - // See conversation at https://github.com/jellyfin/jellyfin/pull/3515. + // Map IPv6 mapped IPv4 back to IPv4 (happens if Kestrel runs in dual-socket mode) + if (address.IsIPv4MappedToIPv6) + { + address = address.MapToIPv4(); + } + if ((TrustAllIPv6Interfaces && address.AddressFamily == AddressFamily.InterNetworkV6) - || address.Equals(IPAddress.Loopback) - || address.Equals(IPAddress.IPv6Loopback)) + || IPAddress.IsLoopback(address)) { return true; }