@ -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 > ( ) ) ;