Your ROOT_URL in app.ini is https://git.cloudchain.link/ but you are visiting https://dash.bss.nz/open-source-mirrors/jellyfin/commit/6121e67a0750d6a1883d32f08dfc74d7544689bb?style=split&whitespace=ignore-eol You should set ROOT_URL correctly, otherwise the web may not work correctly.

Merge pull request from MediaBrowser/dev

Dev
release-10.1.0
Luke 8 years ago committed by GitHub
commit 6121e67a07

@ -1931,13 +1931,13 @@ namespace Emby.Server.Implementations
{ {
get get
{ {
return SupportsHttps && ServerConfigurationManager.Configuration.EnableHttps; return SupportsHttps && (ServerConfigurationManager.Configuration.EnableHttps || ServerConfigurationManager.Configuration.RequireHttps);
} }
} }
public bool SupportsHttps public bool SupportsHttps
{ {
get { return Certificate != null; } get { return Certificate != null || ServerConfigurationManager.Configuration.IsBehindProxy; }
} }
public async Task<string> GetLocalApiUrl() public async Task<string> GetLocalApiUrl()

@ -48,7 +48,7 @@ namespace Emby.Server.Implementations.EntryPoints
values.Add(config.PublicPort.ToString(CultureInfo.InvariantCulture)); values.Add(config.PublicPort.ToString(CultureInfo.InvariantCulture));
values.Add(_appHost.HttpPort.ToString(CultureInfo.InvariantCulture)); values.Add(_appHost.HttpPort.ToString(CultureInfo.InvariantCulture));
values.Add(_appHost.HttpsPort.ToString(CultureInfo.InvariantCulture)); values.Add(_appHost.HttpsPort.ToString(CultureInfo.InvariantCulture));
values.Add(config.EnableHttps.ToString()); values.Add((config.EnableHttps || config.RequireHttps).ToString());
values.Add(_appHost.EnableHttps.ToString()); values.Add(_appHost.EnableHttps.ToString());
return string.Join("|", values.ToArray(values.Count)); return string.Join("|", values.ToArray(values.Count));

@ -423,6 +423,19 @@ namespace Emby.Server.Implementations.HttpServer
return true; return true;
} }
private bool ValidateSsl(string remoteIp)
{
if (_config.Configuration.RequireHttps && _appHost.EnableHttps)
{
if (!_networkManager.IsInLocalNetwork(remoteIp))
{
return false;
}
}
return true;
}
/// <summary> /// <summary>
/// Overridable method that can be used to implement a custom hnandler /// Overridable method that can be used to implement a custom hnandler
/// </summary> /// </summary>
@ -453,6 +466,12 @@ namespace Emby.Server.Implementations.HttpServer
return; return;
} }
if (!ValidateSsl(httpReq.RemoteIp))
{
RedirectToUrl(httpRes, urlString.Replace("http://", "https://", StringComparison.OrdinalIgnoreCase));
return;
}
if (string.Equals(httpReq.Verb, "OPTIONS", StringComparison.OrdinalIgnoreCase)) if (string.Equals(httpReq.Verb, "OPTIONS", StringComparison.OrdinalIgnoreCase))
{ {
httpRes.StatusCode = 200; httpRes.StatusCode = 200;

@ -346,7 +346,8 @@ namespace MediaBrowser.Controller.MediaEncoding
"Constrained High" "Constrained High"
}; };
return Array.FindIndex(list.ToArray(), t => string.Equals(t, profile, StringComparison.OrdinalIgnoreCase)); // strip spaces because they may be stripped out on the query string
return Array.FindIndex(list.ToArray(), t => string.Equals(t.Replace(" ", ""), profile.Replace(" ", ""), StringComparison.OrdinalIgnoreCase));
} }
public string GetInputPathArgument(EncodingJobInfo state) public string GetInputPathArgument(EncodingJobInfo state)
@ -831,7 +832,7 @@ namespace MediaBrowser.Controller.MediaEncoding
} }
// Source and target codecs must match // Source and target codecs must match
if (string.IsNullOrEmpty(videoStream.Codec) || !state.SupportedVideoCodecs.Contains(videoStream.Codec, StringComparer.OrdinalIgnoreCase)) if (string.IsNullOrWhiteSpace(videoStream.Codec) || !state.SupportedVideoCodecs.Contains(videoStream.Codec, StringComparer.OrdinalIgnoreCase))
{ {
return false; return false;
} }
@ -841,13 +842,14 @@ namespace MediaBrowser.Controller.MediaEncoding
// If client is requesting a specific video profile, it must match the source // If client is requesting a specific video profile, it must match the source
if (requestedProfiles.Length > 0) if (requestedProfiles.Length > 0)
{ {
if (string.IsNullOrEmpty(videoStream.Profile)) if (string.IsNullOrWhiteSpace(videoStream.Profile))
{ {
//return false; //return false;
} }
var requestedProfile = requestedProfiles[0]; var requestedProfile = requestedProfiles[0];
if (!string.IsNullOrEmpty(videoStream.Profile) && !string.Equals(requestedProfile, videoStream.Profile, StringComparison.OrdinalIgnoreCase)) // strip spaces because they may be stripped out on the query string as well
if (!string.IsNullOrWhiteSpace(videoStream.Profile) && !requestedProfiles.Contains(videoStream.Profile.Replace(" ", ""), StringComparer.OrdinalIgnoreCase))
{ {
var currentScore = GetVideoProfileScore(videoStream.Profile); var currentScore = GetVideoProfileScore(videoStream.Profile);
var requestedScore = GetVideoProfileScore(requestedProfile); var requestedScore = GetVideoProfileScore(requestedProfile);

@ -181,6 +181,8 @@ namespace MediaBrowser.Model.Configuration
public string[] CodecsUsed { get; set; } public string[] CodecsUsed { get; set; }
public bool EnableChannelView { get; set; } public bool EnableChannelView { get; set; }
public bool EnableExternalContentInSuggestions { get; set; } public bool EnableExternalContentInSuggestions { get; set; }
public bool RequireHttps { get; set; }
public bool IsBehindProxy { get; set; }
public int ImageExtractionTimeoutMs { get; set; } public int ImageExtractionTimeoutMs { get; set; }

@ -1615,7 +1615,12 @@ namespace MediaBrowser.Model.Dlna
if (!string.IsNullOrWhiteSpace(value)) if (!string.IsNullOrWhiteSpace(value))
{ {
// change from split by | to comma // change from split by | to comma
item.SetOption(qualifier, "profile", string.Join(",", value.Split(new[] { '|' }, StringSplitOptions.RemoveEmptyEntries)));
// strip spaces to avoid having to encode
var values = value
.Split(new[] { '|' }, StringSplitOptions.RemoveEmptyEntries);
item.SetOption(qualifier, "profile", string.Join(",", values));
} }
break; break;
} }

@ -297,7 +297,10 @@ namespace MediaBrowser.Model.Dlna
// dlna needs to be update to support the qualified params // dlna needs to be update to support the qualified params
var profile = item.GetOption("h264", "profile"); var profile = item.GetOption("h264", "profile");
list.Add(new NameValuePair("Profile", profile ?? string.Empty)); // Avoid having to encode
profile = (profile ?? string.Empty).Replace(" ", "");
list.Add(new NameValuePair("Profile", profile));
} }
// no longer used // no longer used
@ -372,7 +375,8 @@ namespace MediaBrowser.Model.Dlna
continue; continue;
} }
list.Add(new NameValuePair(pair.Key, pair.Value)); // strip spaces to avoid having to encode h264 profile names
list.Add(new NameValuePair(pair.Key, pair.Value.Replace(" ", "")));
} }
} }

@ -1,3 +1,3 @@
using System.Reflection; using System.Reflection;
[assembly: AssemblyVersion("3.2.32.11")] [assembly: AssemblyVersion("3.2.32.12")]

Loading…
Cancel
Save