1
0
Fork 0
mirror of https://github.com/Radarr/Radarr synced 2025-02-23 14:51:17 +00:00

Fixed: Real IP Logging when IPv4 mapped as IPv6 (#6362)

This commit is contained in:
Robin Dadswell 2021-05-30 14:21:06 +01:00 committed by GitHub
parent ba1637087e
commit 6f0d5a0583
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -95,10 +95,23 @@ public static string GetRemoteIP(this NancyContext context)
}
var remoteAddress = context.Request.UserHostAddress;
IPAddress remoteIP;
IPAddress.TryParse(remoteAddress, out IPAddress remoteIP);
if (remoteIP == null)
{
return remoteAddress;
}
if (remoteIP.IsIPv4MappedToIPv6)
{
remoteIP = remoteIP.MapToIPv4();
}
remoteAddress = remoteIP.ToString();
// Only check if forwarded by a local network reverse proxy
if (IPAddress.TryParse(remoteAddress, out remoteIP) && remoteIP.IsLocalAddress())
if (remoteIP.IsLocalAddress())
{
var realIPHeader = context.Request.Headers["X-Real-IP"];
if (realIPHeader.Any())