Apply review suggestions and fix build

This commit is contained in:
Shadowghost
2022-07-20 11:47:48 +02:00
parent 2043a33f81
commit a492082f4e
4 changed files with 19 additions and 21 deletions

View File

@@ -14,13 +14,12 @@ namespace MediaBrowser.Common.Net
/// </summary>
/// <param name="address">An <see cref="IPAddress"/>.</param>
/// <param name="subnet">The <see cref="IPNetwork"/>.</param>
public IPData(
IPAddress address,
IPNetwork? subnet)
/// <param name="name">The object's name.</param>
public IPData(IPAddress address, IPNetwork? subnet, string name)
{
Address = address;
Subnet = subnet ?? (address.AddressFamily == AddressFamily.InterNetwork ? new IPNetwork(address, 32) : new IPNetwork(address, 128));
Name = string.Empty;
Name = name;
}
/// <summary>
@@ -28,15 +27,9 @@ namespace MediaBrowser.Common.Net
/// </summary>
/// <param name="address">An <see cref="IPAddress"/>.</param>
/// <param name="subnet">The <see cref="IPNetwork"/>.</param>
/// <param name="name">The object's name.</param>
public IPData(
IPAddress address,
IPNetwork? subnet,
string name)
public IPData(IPAddress address, IPNetwork? subnet)
: this(address, subnet, string.Empty)
{
Address = address;
Subnet = subnet ?? (address.AddressFamily == AddressFamily.InterNetwork ? new IPNetwork(address, 32) : new IPNetwork(address, 128));
Name = name;
}
/// <summary>

View File

@@ -13,6 +13,10 @@ namespace MediaBrowser.Common.Net
/// </summary>
public static class NetworkExtensions
{
// Use regular expression as CheckHostName isn't RFC5892 compliant.
// Modified from gSkinner's expression at https://stackoverflow.com/questions/11809631/fully-qualified-domain-name-validation
private static readonly Regex _fqdnRegex = new Regex(@"(?im)^(?!:\/\/)(?=.{1,255}$)((.{1,63}\.){0,127}(?![0-9]*$)[a-z0-9-]+\.?)(:(\d){1,5}){0,1}$");
/// <summary>
/// Returns true if the IPAddress contains an IP6 Local link address.
/// </summary>
@@ -227,12 +231,8 @@ namespace MediaBrowser.Common.Net
if (hosts.Length <= 2)
{
// Use regular expression as CheckHostName isn't RFC5892 compliant.
// Modified from gSkinner's expression at https://stackoverflow.com/questions/11809631/fully-qualified-domain-name-validation
string pattern = @"(?im)^(?!:\/\/)(?=.{1,255}$)((.{1,63}\.){0,127}(?![0-9]*$)[a-z0-9-]+\.?)(:(\d){1,5}){0,1}$";
// Is hostname or hostname:port
if (Regex.IsMatch(hosts[0], pattern))
if (_fqdnRegex.IsMatch(hosts[0]))
{
try
{