diff options
Diffstat (limited to 'Emby.Server.Implementations/HttpServer')
3 files changed, 31 insertions, 19 deletions
diff --git a/Emby.Server.Implementations/HttpServer/HttpListenerHost.cs b/Emby.Server.Implementations/HttpServer/HttpListenerHost.cs index 737d4ceea..937eb8029 100644 --- a/Emby.Server.Implementations/HttpServer/HttpListenerHost.cs +++ b/Emby.Server.Implementations/HttpServer/HttpListenerHost.cs @@ -411,8 +411,6 @@ namespace Emby.Server.Implementations.HttpServer host = host ?? string.Empty; - _logger.Debug("Validating host {0}", host); - if (_networkManager.IsInPrivateAddressSpace(host)) { hosts.Add("localhost"); @@ -725,12 +723,13 @@ namespace Emby.Server.Implementations.HttpServer Summary = route.Summary }); - //routes.Add(new RouteAttribute(DoubleNormalizeEmbyRoutePath(route.Path), route.Verbs) - //{ - // Notes = route.Notes, - // Priority = route.Priority, - // Summary = route.Summary - //}); + // needed because apps add /emby, and some users also add /emby, thereby double prefixing + routes.Add(new RouteAttribute(DoubleNormalizeEmbyRoutePath(route.Path), route.Verbs) + { + Notes = route.Notes, + Priority = route.Priority, + Summary = route.Summary + }); } return routes.ToArray(routes.Count); diff --git a/Emby.Server.Implementations/HttpServer/Security/AuthorizationContext.cs b/Emby.Server.Implementations/HttpServer/Security/AuthorizationContext.cs index c9d5ed007..a41c51d1a 100644 --- a/Emby.Server.Implementations/HttpServer/Security/AuthorizationContext.cs +++ b/Emby.Server.Implementations/HttpServer/Security/AuthorizationContext.cs @@ -5,6 +5,7 @@ using System; using System.Collections.Generic; using MediaBrowser.Model.Services; using System.Linq; +using System.Threading; namespace Emby.Server.Implementations.HttpServer.Security { @@ -95,23 +96,44 @@ namespace Emby.Server.Implementations.HttpServer.Security { info.UserId = tokenInfo.UserId; + var updateToken = false; + // TODO: Remove these checks for IsNullOrWhiteSpace if (string.IsNullOrWhiteSpace(info.Client)) { info.Client = tokenInfo.AppName; } + + if (string.IsNullOrWhiteSpace(info.DeviceId)) + { + info.DeviceId = tokenInfo.DeviceId; + } + + if (string.IsNullOrWhiteSpace(info.Device)) { info.Device = tokenInfo.DeviceName; } - if (string.IsNullOrWhiteSpace(info.DeviceId)) + else if (!string.Equals(info.Device, tokenInfo.DeviceName, StringComparison.OrdinalIgnoreCase)) { - info.DeviceId = tokenInfo.DeviceId; + updateToken = true; + tokenInfo.DeviceName = info.Device; } + if (string.IsNullOrWhiteSpace(info.Version)) { info.Version = tokenInfo.AppVersion; } + else if (!string.Equals(info.Version, tokenInfo.AppVersion, StringComparison.OrdinalIgnoreCase)) + { + updateToken = true; + tokenInfo.AppVersion = info.Version; + } + + if (updateToken) + { + _authRepo.Update(tokenInfo, CancellationToken.None); + } } else { diff --git a/Emby.Server.Implementations/HttpServer/Security/SessionContext.cs b/Emby.Server.Implementations/HttpServer/Security/SessionContext.cs index dd5d64bf6..9826a0d56 100644 --- a/Emby.Server.Implementations/HttpServer/Security/SessionContext.cs +++ b/Emby.Server.Implementations/HttpServer/Security/SessionContext.cs @@ -25,15 +25,6 @@ namespace Emby.Server.Implementations.HttpServer.Security { var authorization = _authContext.GetAuthorizationInfo(requestContext); - //if (!string.IsNullOrWhiteSpace(authorization.Token)) - //{ - // var auth = GetTokenInfo(requestContext); - // if (auth != null) - // { - // return _sessionManager.GetSessionByAuthenticationToken(auth, authorization.DeviceId, requestContext.RemoteIp, authorization.Version); - // } - //} - var user = string.IsNullOrWhiteSpace(authorization.UserId) ? null : _userManager.GetUserById(authorization.UserId); return _sessionManager.LogSessionActivity(authorization.Client, authorization.Version, authorization.DeviceId, authorization.Device, requestContext.RemoteIp, user); } |
