|
@@ -19,6 +19,7 @@ using System.Linq;
|
|
|
using System.Reflection;
|
|
|
using System.Threading;
|
|
|
using System.Threading.Tasks;
|
|
|
+using MediaBrowser.Common.Net;
|
|
|
using MediaBrowser.Common.Security;
|
|
|
|
|
|
namespace MediaBrowser.Server.Implementations.HttpServer
|
|
@@ -46,6 +47,7 @@ namespace MediaBrowser.Server.Implementations.HttpServer
|
|
|
public string CertificatePath { get; private set; }
|
|
|
|
|
|
private readonly IServerConfigurationManager _config;
|
|
|
+ private readonly INetworkManager _networkManager;
|
|
|
|
|
|
/// <summary>
|
|
|
/// Gets the local end points.
|
|
@@ -69,10 +71,11 @@ namespace MediaBrowser.Server.Implementations.HttpServer
|
|
|
ILogManager logManager,
|
|
|
IServerConfigurationManager config,
|
|
|
string serviceName,
|
|
|
- string defaultRedirectPath, params Assembly[] assembliesWithServices)
|
|
|
+ string defaultRedirectPath, INetworkManager networkManager, params Assembly[] assembliesWithServices)
|
|
|
: base(serviceName, assembliesWithServices)
|
|
|
{
|
|
|
DefaultRedirectPath = defaultRedirectPath;
|
|
|
+ _networkManager = networkManager;
|
|
|
_config = config;
|
|
|
|
|
|
_logger = logManager.GetLogger("HttpServer");
|
|
@@ -175,11 +178,7 @@ namespace MediaBrowser.Server.Implementations.HttpServer
|
|
|
|
|
|
private void OnRequestReceived(string localEndPoint)
|
|
|
{
|
|
|
- var ignore = localEndPoint.IndexOf("::", StringComparison.OrdinalIgnoreCase) != -1 ||
|
|
|
-
|
|
|
- localEndPoint.StartsWith("127.", StringComparison.OrdinalIgnoreCase) ||
|
|
|
- localEndPoint.StartsWith("localhost", StringComparison.OrdinalIgnoreCase) ||
|
|
|
- localEndPoint.StartsWith("169.", StringComparison.OrdinalIgnoreCase);
|
|
|
+ var ignore = _networkManager.IsInPrivateAddressSpace(localEndPoint);
|
|
|
|
|
|
if (ignore)
|
|
|
{
|
|
@@ -188,7 +187,7 @@ namespace MediaBrowser.Server.Implementations.HttpServer
|
|
|
|
|
|
if (_localEndpointLock.TryEnterWriteLock(100))
|
|
|
{
|
|
|
- var list = _localEndpoints.ToList();
|
|
|
+ var list = _localEndpoints;
|
|
|
|
|
|
list.Remove(localEndPoint);
|
|
|
list.Insert(0, localEndPoint);
|