diff --git a/MediaBrowser.Common/Net/IPHost.cs b/MediaBrowser.Common/Net/IPHost.cs
index d67b6b8e15..fb3ef9b12b 100644
--- a/MediaBrowser.Common/Net/IPHost.cs
+++ b/MediaBrowser.Common/Net/IPHost.cs
@@ -135,7 +135,7 @@ namespace MediaBrowser.Common.Net
}
// See if it's an IPv6 with port address e.g. [::1] or [::1]:120.
- int i = host.IndexOf("]", StringComparison.OrdinalIgnoreCase);
+ int i = host.IndexOf(']', StringComparison.Ordinal);
if (i != -1)
{
return TryParse(host.Remove(i - 1).TrimStart(' ', '['), out hostObj);
@@ -389,8 +389,8 @@ namespace MediaBrowser.Common.Net
///
protected override IPObject CalculateNetworkAddress()
{
- var netAddr = NetworkAddressOf(this[0], PrefixLength);
- return new IPNetAddress(netAddr.Address, netAddr.PrefixLength);
+ var (address, prefixLength) = NetworkAddressOf(this[0], PrefixLength);
+ return new IPNetAddress(address, prefixLength);
}
///
@@ -427,7 +427,7 @@ namespace MediaBrowser.Common.Net
// Resolves the host name - so save a DNS lookup.
if (string.Equals(HostName, "localhost", StringComparison.OrdinalIgnoreCase))
{
- _addresses = new IPAddress[] { new IPAddress(Ipv4Loopback), new IPAddress(Ipv6Loopback) };
+ _addresses = new IPAddress[] { IPAddress.Loopback, IPAddress.IPv6Loopback };
return;
}
diff --git a/MediaBrowser.Common/Net/IPNetAddress.cs b/MediaBrowser.Common/Net/IPNetAddress.cs
index 59e37a5c6c..589aad4b09 100644
--- a/MediaBrowser.Common/Net/IPNetAddress.cs
+++ b/MediaBrowser.Common/Net/IPNetAddress.cs
@@ -38,7 +38,7 @@ namespace MediaBrowser.Common.Net
///
/// IP6Loopback address host.
///
- public static readonly IPNetAddress IP6Loopback = IPNetAddress.Parse("::1");
+ public static readonly IPNetAddress IP6Loopback = new IPNetAddress(IPAddress.IPv6Loopback);
///
/// Object's IP address.
@@ -113,7 +113,7 @@ namespace MediaBrowser.Common.Net
}
// Is it a network?
- string[] tokens = addr.Split("/");
+ string[] tokens = addr.Split('/');
if (tokens.Length == 2)
{
@@ -171,8 +171,8 @@ namespace MediaBrowser.Common.Net
address = address.MapToIPv4();
}
- var altAddress = NetworkAddressOf(address, PrefixLength);
- return NetworkAddress.Address.Equals(altAddress.Address) && NetworkAddress.PrefixLength >= altAddress.PrefixLength;
+ var (altAddress, altPrefix) = NetworkAddressOf(address, PrefixLength);
+ return NetworkAddress.Address.Equals(altAddress) && NetworkAddress.PrefixLength >= altPrefix;
}
///
@@ -196,8 +196,8 @@ namespace MediaBrowser.Common.Net
return NetworkAddress.PrefixLength <= netaddrObj.PrefixLength;
}
- var altAddress = NetworkAddressOf(netaddrObj.Address, PrefixLength);
- return NetworkAddress.Address.Equals(altAddress.Address);
+ var altAddress = NetworkAddressOf(netaddrObj.Address, PrefixLength).address;
+ return NetworkAddress.Address.Equals(altAddress);
}
return false;
@@ -270,8 +270,8 @@ namespace MediaBrowser.Common.Net
///
protected override IPObject CalculateNetworkAddress()
{
- var value = NetworkAddressOf(_address, PrefixLength);
- return new IPNetAddress(value.Address, value.PrefixLength);
+ var (address, prefixLength) = NetworkAddressOf(_address, PrefixLength);
+ return new IPNetAddress(address, prefixLength);
}
}
}
diff --git a/MediaBrowser.Common/Net/IPObject.cs b/MediaBrowser.Common/Net/IPObject.cs
index 69cd57f8ae..3542dcd75e 100644
--- a/MediaBrowser.Common/Net/IPObject.cs
+++ b/MediaBrowser.Common/Net/IPObject.cs
@@ -10,16 +10,6 @@ namespace MediaBrowser.Common.Net
///
public abstract class IPObject : IEquatable
{
- ///
- /// IPv6 Loopback address.
- ///
- protected static readonly byte[] Ipv6Loopback = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 };
-
- ///
- /// IPv4 Loopback address.
- ///
- protected static readonly byte[] Ipv4Loopback = { 127, 0, 0, 1 };
-
///
/// The network address of this object.
///
@@ -64,7 +54,7 @@ namespace MediaBrowser.Common.Net
/// IP Address to convert.
/// Subnet prefix.
/// IPAddress.
- public static (IPAddress Address, byte PrefixLength) NetworkAddressOf(IPAddress address, byte prefixLength)
+ public static (IPAddress address, byte prefixLength) NetworkAddressOf(IPAddress address, byte prefixLength)
{
if (address == null)
{
@@ -78,7 +68,7 @@ namespace MediaBrowser.Common.Net
if (IsLoopback(address))
{
- return (Address: address, PrefixLength: prefixLength);
+ return (address, prefixLength);
}
// An ip address is just a list of bytes, each one representing a segment on the network.
@@ -110,7 +100,7 @@ namespace MediaBrowser.Common.Net
}
// Return the network address for the prefix.
- return (Address: new IPAddress(addressBytes), PrefixLength: prefixLength);
+ return (new IPAddress(addressBytes), prefixLength);
}
///