diff options
| author | Shadowghost <Shadowghost@users.noreply.github.com> | 2024-06-23 11:40:54 -0400 |
|---|---|---|
| committer | Joshua M. Boniface <joshua@boniface.me> | 2024-06-23 11:40:54 -0400 |
| commit | 9c96ce5f6e15ee9789817afb5768212766fc2e1d (patch) | |
| tree | 924440b7890a209d4eb03e73d83fe3343e2d57f6 | |
| parent | 034c13c48f4a2504c3abc0aae622e123e3c4f1a9 (diff) | |
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 <bond.009@outlook.com>
Backported-by: Joshua M. Boniface <joshua@boniface.me>
| -rw-r--r-- | src/Jellyfin.Networking/Manager/NetworkManager.cs | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/Jellyfin.Networking/Manager/NetworkManager.cs b/src/Jellyfin.Networking/Manager/NetworkManager.cs index 148b33fcb..cf6a2cc55 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; } |
