|
@@ -359,12 +359,11 @@ namespace Jellyfin.Networking.Manager
|
|
|
{
|
|
|
// Remove potentially exisiting * and split config string into prefixes
|
|
|
var virtualInterfacePrefixes = config.VirtualInterfaceNames
|
|
|
- .Replace("*", string.Empty, StringComparison.OrdinalIgnoreCase)
|
|
|
- .ToLowerInvariant()
|
|
|
- .Split(',');
|
|
|
+ .Select(i => i.ToLowerInvariant()
|
|
|
+ .Replace("*", string.Empty, StringComparison.OrdinalIgnoreCase));
|
|
|
|
|
|
// Check all interfaces for matches against the prefixes and remove them
|
|
|
- if (_interfaces.Count > 0 && virtualInterfacePrefixes.Length > 0)
|
|
|
+ if (_interfaces.Count > 0 && virtualInterfacePrefixes.Any())
|
|
|
{
|
|
|
foreach (var virtualInterfacePrefix in virtualInterfacePrefixes)
|
|
|
{
|
|
@@ -726,7 +725,15 @@ namespace Jellyfin.Networking.Manager
|
|
|
|
|
|
if (MatchesPublishedServerUrl(source, isExternal, out string res, out port))
|
|
|
{
|
|
|
- _logger.LogInformation("{Source}: Using BindAddress {Address}:{Port}", source, res, port);
|
|
|
+ if (port != null)
|
|
|
+ {
|
|
|
+ _logger.LogInformation("{Source}: Using BindAddress {Address}:{Port}", source, res, port);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ _logger.LogInformation("{Source}: Using BindAddress {Address}", source, res);
|
|
|
+ }
|
|
|
+
|
|
|
return res;
|
|
|
}
|
|
|
|
|
@@ -756,7 +763,7 @@ namespace Jellyfin.Networking.Manager
|
|
|
if (intf.Address.Equals(source))
|
|
|
{
|
|
|
result = NetworkExtensions.FormatIpString(intf.Address);
|
|
|
- _logger.LogDebug("{Source}: GetBindInterface: Has found matching interface. {Result}", source, result);
|
|
|
+ _logger.LogDebug("{Source}: GetBindInterface: Has found matching interface: {Result}", source, result);
|
|
|
return result;
|
|
|
}
|
|
|
}
|
|
@@ -768,14 +775,14 @@ namespace Jellyfin.Networking.Manager
|
|
|
if (intf.Subnet.Contains(source))
|
|
|
{
|
|
|
result = NetworkExtensions.FormatIpString(intf.Address);
|
|
|
- _logger.LogDebug("{Source}: GetBindInterface: Has source, matched best internal interface on range. {Result}", source, result);
|
|
|
+ _logger.LogDebug("{Source}: GetBindInterface: Has source, matched best internal interface on range: {Result}", source, result);
|
|
|
return result;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
result = NetworkExtensions.FormatIpString(availableInterfaces.First().Address);
|
|
|
- _logger.LogDebug("{Source}: GetBindInterface: Matched first internal interface. {Result}", source, result);
|
|
|
+ _logger.LogDebug("{Source}: GetBindInterface: Matched first internal interface: {Result}", source, result);
|
|
|
return result;
|
|
|
}
|
|
|
|
|
@@ -956,7 +963,7 @@ namespace Jellyfin.Networking.Manager
|
|
|
if (bindAddress != null)
|
|
|
{
|
|
|
result = NetworkExtensions.FormatIpString(bindAddress);
|
|
|
- _logger.LogDebug("{Source}: GetBindInterface: Has source, found a matching external bind interface. {Result}", source, result);
|
|
|
+ _logger.LogDebug("{Source}: GetBindInterface: Has source, found a matching external bind interface: {Result}", source, result);
|
|
|
return true;
|
|
|
}
|
|
|
}
|
|
@@ -976,7 +983,7 @@ namespace Jellyfin.Networking.Manager
|
|
|
if (bindAddress != null)
|
|
|
{
|
|
|
result = NetworkExtensions.FormatIpString(bindAddress);
|
|
|
- _logger.LogWarning("{Source}: Request received, matching internal interface bind found. {Result}", source, result);
|
|
|
+ _logger.LogWarning("{Source}: Request received, matching internal interface bind found: {Result}", source, result);
|
|
|
return true;
|
|
|
}
|
|
|
}
|
|
@@ -1006,7 +1013,7 @@ namespace Jellyfin.Networking.Manager
|
|
|
if (!IsInLocalNetwork(intf.Address) && intf.Subnet.Contains(source))
|
|
|
{
|
|
|
result = NetworkExtensions.FormatIpString(intf.Address);
|
|
|
- _logger.LogDebug("{Source}: GetBindInterface: Selected best external on interface on range. {Result}", source, result);
|
|
|
+ _logger.LogDebug("{Source}: GetBindInterface: Selected best external on interface on range: {Result}", source, result);
|
|
|
return true;
|
|
|
}
|
|
|
}
|
|
@@ -1014,7 +1021,7 @@ namespace Jellyfin.Networking.Manager
|
|
|
if (hasResult != null)
|
|
|
{
|
|
|
result = NetworkExtensions.FormatIpString(hasResult);
|
|
|
- _logger.LogDebug("{Source}: GetBindInterface: Selected first external interface. {Result}", source, result);
|
|
|
+ _logger.LogDebug("{Source}: GetBindInterface: Selected first external interface: {Result}", source, result);
|
|
|
return true;
|
|
|
}
|
|
|
|