aboutsummaryrefslogtreecommitdiff
path: root/Jellyfin.Server/Middleware/IpBasedAccessValidationMiddleware.cs
diff options
context:
space:
mode:
authorBond-009 <bond.009@outlook.com>2021-03-27 17:24:47 +0100
committerGitHub <noreply@github.com>2021-03-27 17:24:47 +0100
commita890a8509228f6a357a6986549afc492da74b146 (patch)
tree90ff3bb8f872d103a132ba16cd69d6fe4891ea9e /Jellyfin.Server/Middleware/IpBasedAccessValidationMiddleware.cs
parent9144d11a9deecc9906e4f37c2116cd32c1291c0c (diff)
parentaae2aad0f25867f651c94a30d02a1893442d65da (diff)
Merge pull request #5495 from BaronGreenback/RemoteAccessFix
Diffstat (limited to 'Jellyfin.Server/Middleware/IpBasedAccessValidationMiddleware.cs')
-rw-r--r--Jellyfin.Server/Middleware/IpBasedAccessValidationMiddleware.cs29
1 files changed, 2 insertions, 27 deletions
diff --git a/Jellyfin.Server/Middleware/IpBasedAccessValidationMiddleware.cs b/Jellyfin.Server/Middleware/IpBasedAccessValidationMiddleware.cs
index 525cd9ffe..7d92bd7d3 100644
--- a/Jellyfin.Server/Middleware/IpBasedAccessValidationMiddleware.cs
+++ b/Jellyfin.Server/Middleware/IpBasedAccessValidationMiddleware.cs
@@ -29,9 +29,8 @@ namespace Jellyfin.Server.Middleware
/// </summary>
/// <param name="httpContext">The current HTTP context.</param>
/// <param name="networkManager">The network manager.</param>
- /// <param name="serverConfigurationManager">The server configuration manager.</param>
/// <returns>The async task.</returns>
- public async Task Invoke(HttpContext httpContext, INetworkManager networkManager, IServerConfigurationManager serverConfigurationManager)
+ public async Task Invoke(HttpContext httpContext, INetworkManager networkManager)
{
if (httpContext.IsLocal())
{
@@ -42,32 +41,8 @@ namespace Jellyfin.Server.Middleware
var remoteIp = httpContext.Connection.RemoteIpAddress ?? IPAddress.Loopback;
- if (serverConfigurationManager.GetNetworkConfiguration().EnableRemoteAccess)
+ if (!networkManager.HasRemoteAccess(remoteIp))
{
- // Comma separated list of IP addresses or IP/netmask entries for networks that will be allowed to connect remotely.
- // If left blank, all remote addresses will be allowed.
- var remoteAddressFilter = networkManager.RemoteAddressFilter;
-
- if (remoteAddressFilter.Count > 0 && !networkManager.IsInLocalNetwork(remoteIp))
- {
- // remoteAddressFilter is a whitelist or blacklist.
- bool isListed = remoteAddressFilter.ContainsAddress(remoteIp);
- if (!serverConfigurationManager.GetNetworkConfiguration().IsRemoteIPFilterBlacklist)
- {
- // Black list, so flip over.
- isListed = !isListed;
- }
-
- if (!isListed)
- {
- // If your name isn't on the list, you arn't coming in.
- return;
- }
- }
- }
- else if (!networkManager.IsInLocalNetwork(remoteIp))
- {
- // Remote not enabled. So everyone should be LAN.
return;
}