|
|
|
@ -4,6 +4,7 @@ using MediaBrowser.Controller.Net;
|
|
|
|
|
using MediaBrowser.Model.Logging;
|
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Globalization;
|
|
|
|
|
using System.IO;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
using System.Reflection;
|
|
|
|
@ -423,13 +424,16 @@ namespace Emby.Server.Implementations.HttpServer
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private bool ValidateSsl(string remoteIp)
|
|
|
|
|
private bool ValidateSsl(string remoteIp, string urlString)
|
|
|
|
|
{
|
|
|
|
|
if (_config.Configuration.RequireHttps && _appHost.EnableHttps)
|
|
|
|
|
{
|
|
|
|
|
if (!_networkManager.IsInLocalNetwork(remoteIp))
|
|
|
|
|
if (urlString.IndexOf("https://", StringComparison.OrdinalIgnoreCase) == -1)
|
|
|
|
|
{
|
|
|
|
|
return false;
|
|
|
|
|
if (!_networkManager.IsInLocalNetwork(remoteIp))
|
|
|
|
|
{
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -466,9 +470,13 @@ namespace Emby.Server.Implementations.HttpServer
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (!ValidateSsl(httpReq.RemoteIp))
|
|
|
|
|
if (!ValidateSsl(httpReq.RemoteIp, urlString))
|
|
|
|
|
{
|
|
|
|
|
RedirectToUrl(httpRes, urlString.Replace("http://", "https://", StringComparison.OrdinalIgnoreCase));
|
|
|
|
|
var httpsUrl = urlString
|
|
|
|
|
.Replace("http://", "https://", StringComparison.OrdinalIgnoreCase)
|
|
|
|
|
.Replace(":" + _config.Configuration.PublicPort.ToString(CultureInfo.InvariantCulture), ":" + _config.Configuration.PublicHttpsPort.ToString(CultureInfo.InvariantCulture), StringComparison.OrdinalIgnoreCase);
|
|
|
|
|
|
|
|
|
|
RedirectToUrl(httpRes, httpsUrl);
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -487,7 +495,7 @@ namespace Emby.Server.Implementations.HttpServer
|
|
|
|
|
|
|
|
|
|
enableLog = EnableLogging(urlString, localPath);
|
|
|
|
|
urlToLog = urlString;
|
|
|
|
|
logHeaders = enableLog && urlToLog.IndexOf("/videos/", StringComparison.OrdinalIgnoreCase) != -1;
|
|
|
|
|
logHeaders = enableLog && urlToLog.IndexOf("/videos/", StringComparison.OrdinalIgnoreCase) != -1;
|
|
|
|
|
|
|
|
|
|
if (enableLog)
|
|
|
|
|
{
|
|
|
|
|