Apply suggestions from code review
Co-authored-by: Cody Robibero <cody@robibe.ro>
This commit is contained in:
parent
001c78573e
commit
7d9b552403
|
@ -646,7 +646,6 @@ namespace Emby.Server.Implementations
|
||||||
serviceCollection.AddSingleton<IAttachmentExtractor, MediaBrowser.MediaEncoding.Attachments.AttachmentExtractor>();
|
serviceCollection.AddSingleton<IAttachmentExtractor, MediaBrowser.MediaEncoding.Attachments.AttachmentExtractor>();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Create services registered with the service container that need to be initialized at application startup.
|
/// Create services registered with the service container that need to be initialized at application startup.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
@ -1,18 +1,17 @@
|
||||||
using System.Collections.Generic;
|
|
||||||
using MediaBrowser.Common.Configuration;
|
using MediaBrowser.Common.Configuration;
|
||||||
|
|
||||||
namespace Emby.Server.Implementations.QuickConnect
|
namespace Emby.Server.Implementations.QuickConnect
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Configuration extension to support persistent quick connect configuration
|
/// Configuration extension to support persistent quick connect configuration.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public static class ConfigurationExtension
|
public static class ConfigurationExtension
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Return the current quick connect configuration
|
/// Return the current quick connect configuration.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="manager">Configuration manager</param>
|
/// <param name="manager">Configuration manager.</param>
|
||||||
/// <returns></returns>
|
/// <returns>Current quick connect configuration.</returns>
|
||||||
public static QuickConnectConfiguration GetQuickConnectConfiguration(this IConfigurationManager manager)
|
public static QuickConnectConfiguration GetQuickConnectConfiguration(this IConfigurationManager manager)
|
||||||
{
|
{
|
||||||
return manager.GetConfiguration<QuickConnectConfiguration>("quickconnect");
|
return manager.GetConfiguration<QuickConnectConfiguration>("quickconnect");
|
||||||
|
@ -20,17 +19,17 @@ namespace Emby.Server.Implementations.QuickConnect
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Configuration factory for quick connect
|
/// Configuration factory for quick connect.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class QuickConnectConfigurationFactory : IConfigurationFactory
|
public class QuickConnectConfigurationFactory : IConfigurationFactory
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Returns the current quick connect configuration
|
/// Returns the current quick connect configuration.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <returns></returns>
|
/// <returns>Current quick connect configuration.</returns>
|
||||||
public IEnumerable<ConfigurationStore> GetConfigurations()
|
public IEnumerable<ConfigurationStore> GetConfigurations()
|
||||||
{
|
{
|
||||||
return new ConfigurationStore[]
|
return new[]
|
||||||
{
|
{
|
||||||
new ConfigurationStore
|
new ConfigurationStore
|
||||||
{
|
{
|
||||||
|
|
|
@ -3,19 +3,12 @@ using MediaBrowser.Model.QuickConnect;
|
||||||
namespace Emby.Server.Implementations.QuickConnect
|
namespace Emby.Server.Implementations.QuickConnect
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Persistent quick connect configuration
|
/// Persistent quick connect configuration.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class QuickConnectConfiguration
|
public class QuickConnectConfiguration
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Quick connect configuration object
|
/// Gets or sets persistent quick connect availability state.
|
||||||
/// </summary>
|
|
||||||
public QuickConnectConfiguration()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Persistent quick connect availability state
|
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public QuickConnectState State { get; set; }
|
public QuickConnectState State { get; set; }
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,15 +27,11 @@ namespace Emby.Server.Implementations.QuickConnect
|
||||||
private readonly RNGCryptoServiceProvider _rng = new RNGCryptoServiceProvider();
|
private readonly RNGCryptoServiceProvider _rng = new RNGCryptoServiceProvider();
|
||||||
private Dictionary<string, QuickConnectResult> _currentRequests = new Dictionary<string, QuickConnectResult>();
|
private Dictionary<string, QuickConnectResult> _currentRequests = new Dictionary<string, QuickConnectResult>();
|
||||||
|
|
||||||
private IServerConfigurationManager _config;
|
private readonly IServerConfigurationManager _config;
|
||||||
private ILogger _logger;
|
private readonly ILogger<QuickConnectManager> _logger;
|
||||||
private IUserManager _userManager;
|
private readonly IAuthenticationRepository _authenticationRepository;
|
||||||
private ILocalizationManager _localizationManager;
|
private readonly IAuthorizationContext _authContext;
|
||||||
private IJsonSerializer _jsonSerializer;
|
private readonly IServerApplicationHost _appHost;
|
||||||
private IAuthenticationRepository _authenticationRepository;
|
|
||||||
private IAuthorizationContext _authContext;
|
|
||||||
private IServerApplicationHost _appHost;
|
|
||||||
private ITaskManager _taskManager;
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Initializes a new instance of the <see cref="QuickConnectManager"/> class.
|
/// Initializes a new instance of the <see cref="QuickConnectManager"/> class.
|
||||||
|
@ -207,7 +203,7 @@ namespace Emby.Server.Implementations.QuickConnect
|
||||||
scale = BitConverter.ToUInt32(raw, 0);
|
scale = BitConverter.ToUInt32(raw, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
int code = (int)(min + (max - min) * (scale / (double)uint.MaxValue));
|
int code = (int)(min + ((max - min) * (scale / (double)uint.MaxValue)));
|
||||||
return code.ToString(CultureInfo.InvariantCulture);
|
return code.ToString(CultureInfo.InvariantCulture);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -272,7 +268,26 @@ namespace Emby.Server.Implementations.QuickConnect
|
||||||
|
|
||||||
return tokens.Count();
|
return tokens.Count();
|
||||||
}
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Dispose.
|
||||||
|
/// </summary>
|
||||||
|
public void Dispose()
|
||||||
|
{
|
||||||
|
Dispose(true);
|
||||||
|
GC.SuppressFinalize(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Dispose.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="disposing">Dispose unmanaged resources.</param>
|
||||||
|
protected virtual void Dispose(bool disposing)
|
||||||
|
{
|
||||||
|
if (disposing)
|
||||||
|
{
|
||||||
|
_rng?.Dispose();
|
||||||
|
}
|
||||||
|
}
|
||||||
private string GenerateSecureRandom(int length = 32)
|
private string GenerateSecureRandom(int length = 32)
|
||||||
{
|
{
|
||||||
var bytes = new byte[length];
|
var bytes = new byte[length];
|
||||||
|
|
|
@ -1413,7 +1413,7 @@ namespace Emby.Server.Implementations.Session
|
||||||
Limit = 1
|
Limit = 1
|
||||||
});
|
});
|
||||||
|
|
||||||
if(result.TotalRecordCount < 1)
|
if (result.TotalRecordCount < 1)
|
||||||
{
|
{
|
||||||
throw new SecurityException("Unknown quick connect token");
|
throw new SecurityException("Unknown quick connect token");
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user