|
|
|
@ -516,10 +516,9 @@ namespace Jellyfin.Networking.Tests
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Theory]
|
|
|
|
|
[InlineData("185.10.10.10,200.200.200.200", "79.2.3.4", false, true)] // whitelist
|
|
|
|
|
[InlineData("185.10.10.10", "185.10.10.10", false, false)] // whitelist
|
|
|
|
|
[InlineData("185.10.10.10", "79.2.3.4", true, false)] // blacklist
|
|
|
|
|
public void TestRemoteAccess(string addresses, string remoteIp, bool blacklist, bool denied)
|
|
|
|
|
[InlineData("185.10.10.10,200.200.200.200", "79.2.3.4", true)]
|
|
|
|
|
[InlineData("185.10.10.10", "185.10.10.10", false)]
|
|
|
|
|
public void HasRemoteAccess_GivenNonEmptyWhitelist_AllowsOnlyIpsInWhitelist(string addresses, string remoteIp, bool denied)
|
|
|
|
|
{
|
|
|
|
|
// 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.
|
|
|
|
@ -527,7 +526,25 @@ namespace Jellyfin.Networking.Tests
|
|
|
|
|
{
|
|
|
|
|
EnableIPV4 = true,
|
|
|
|
|
RemoteIPFilter = addresses.Split(","),
|
|
|
|
|
IsRemoteIPFilterBlacklist = blacklist
|
|
|
|
|
IsRemoteIPFilterBlacklist = false
|
|
|
|
|
};
|
|
|
|
|
using var nm = new NetworkManager(GetMockConfig(conf), new NullLogger<NetworkManager>());
|
|
|
|
|
|
|
|
|
|
Assert.NotEqual(nm.HasRemoteAccess(IPAddress.Parse(remoteIp)), denied);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Theory]
|
|
|
|
|
[InlineData("185.10.10.10", "79.2.3.4", false)] // blacklist
|
|
|
|
|
[InlineData("185.10.10.10", "185.10.10.10", true)] // blacklist
|
|
|
|
|
public void HasRemoteAccess_GivenNonEmptBlacklist_BlacklistTheIps(string addresses, string remoteIp, bool denied)
|
|
|
|
|
{
|
|
|
|
|
// 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 conf = new NetworkConfiguration()
|
|
|
|
|
{
|
|
|
|
|
EnableIPV4 = true,
|
|
|
|
|
RemoteIPFilter = addresses.Split(","),
|
|
|
|
|
IsRemoteIPFilterBlacklist = true
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
using var nm = new NetworkManager(GetMockConfig(conf), new NullLogger<NetworkManager>());
|
|
|
|
|