aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2017-09-30 13:40:42 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2017-09-30 13:40:42 -0400
commit5d583f42d4bc918256bcd50d26e555dcbd892e66 (patch)
tree49e125169d67d5e78a59d8097c8c3cb547052b68
parent9f86ebab28207be22617e165214ba68c35a09b15 (diff)
update https redirect
-rw-r--r--Emby.Server.Implementations/HttpServer/HttpListenerHost.cs20
1 files changed, 14 insertions, 6 deletions
diff --git a/Emby.Server.Implementations/HttpServer/HttpListenerHost.cs b/Emby.Server.Implementations/HttpServer/HttpListenerHost.cs
index acc247e45..737d4ceea 100644
--- a/Emby.Server.Implementations/HttpServer/HttpListenerHost.cs
+++ b/Emby.Server.Implementations/HttpServer/HttpListenerHost.cs
@@ -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)
{