aboutsummaryrefslogtreecommitdiff
path: root/src/Jellyfin.Networking/Manager/NetworkManager.cs
diff options
context:
space:
mode:
authorShadowghost <Shadowghost@users.noreply.github.com>2024-06-23 11:40:54 -0400
committerJoshua M. Boniface <joshua@boniface.me>2024-06-23 11:40:54 -0400
commit9c96ce5f6e15ee9789817afb5768212766fc2e1d (patch)
tree924440b7890a209d4eb03e73d83fe3343e2d57f6 /src/Jellyfin.Networking/Manager/NetworkManager.cs
parent034c13c48f4a2504c3abc0aae622e123e3c4f1a9 (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>
Diffstat (limited to 'src/Jellyfin.Networking/Manager/NetworkManager.cs')
-rw-r--r--src/Jellyfin.Networking/Manager/NetworkManager.cs10
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;
}