mirror of
https://github.com/jellyfin/jellyfin.git
synced 2024-07-11 08:10:34 +02:00
Fix startup
This commit is contained in:
parent
d00ad28efd
commit
edfd2d0cd9
|
@ -754,10 +754,6 @@ namespace Emby.Server.Implementations
|
||||||
UserDataManager = new UserDataManager(LoggerFactory, ServerConfigurationManager, () => UserManager);
|
UserDataManager = new UserDataManager(LoggerFactory, ServerConfigurationManager, () => UserManager);
|
||||||
serviceCollection.AddSingleton(UserDataManager);
|
serviceCollection.AddSingleton(UserDataManager);
|
||||||
|
|
||||||
UserRepository = GetUserRepository();
|
|
||||||
// This is only needed for disposal purposes. If removing this, make sure to have the manager handle disposing it
|
|
||||||
serviceCollection.AddSingleton(UserRepository);
|
|
||||||
|
|
||||||
var displayPreferencesRepo = new SqliteDisplayPreferencesRepository(LoggerFactory, JsonSerializer, ApplicationPaths, FileSystemManager);
|
var displayPreferencesRepo = new SqliteDisplayPreferencesRepository(LoggerFactory, JsonSerializer, ApplicationPaths, FileSystemManager);
|
||||||
serviceCollection.AddSingleton<IDisplayPreferencesRepository>(displayPreferencesRepo);
|
serviceCollection.AddSingleton<IDisplayPreferencesRepository>(displayPreferencesRepo);
|
||||||
|
|
||||||
|
@ -767,6 +763,8 @@ namespace Emby.Server.Implementations
|
||||||
AuthenticationRepository = GetAuthenticationRepository();
|
AuthenticationRepository = GetAuthenticationRepository();
|
||||||
serviceCollection.AddSingleton(AuthenticationRepository);
|
serviceCollection.AddSingleton(AuthenticationRepository);
|
||||||
|
|
||||||
|
UserRepository = GetUserRepository();
|
||||||
|
|
||||||
UserManager = new UserManager(LoggerFactory, ServerConfigurationManager, UserRepository, XmlSerializer, NetworkManager, () => ImageProcessor, () => DtoService, this, JsonSerializer, FileSystemManager);
|
UserManager = new UserManager(LoggerFactory, ServerConfigurationManager, UserRepository, XmlSerializer, NetworkManager, () => ImageProcessor, () => DtoService, this, JsonSerializer, FileSystemManager);
|
||||||
serviceCollection.AddSingleton(UserManager);
|
serviceCollection.AddSingleton(UserManager);
|
||||||
|
|
||||||
|
@ -807,7 +805,6 @@ namespace Emby.Server.Implementations
|
||||||
serviceCollection.AddSingleton(TVSeriesManager);
|
serviceCollection.AddSingleton(TVSeriesManager);
|
||||||
|
|
||||||
DeviceManager = new DeviceManager(AuthenticationRepository, JsonSerializer, LibraryManager, LocalizationManager, UserManager, FileSystemManager, LibraryMonitor, ServerConfigurationManager);
|
DeviceManager = new DeviceManager(AuthenticationRepository, JsonSerializer, LibraryManager, LocalizationManager, UserManager, FileSystemManager, LibraryMonitor, ServerConfigurationManager);
|
||||||
|
|
||||||
serviceCollection.AddSingleton(DeviceManager);
|
serviceCollection.AddSingleton(DeviceManager);
|
||||||
|
|
||||||
MediaSourceManager = new MediaSourceManager(ItemRepository, ApplicationPaths, LocalizationManager, UserManager, LibraryManager, LoggerFactory, JsonSerializer, FileSystemManager, UserDataManager, () => MediaEncoder);
|
MediaSourceManager = new MediaSourceManager(ItemRepository, ApplicationPaths, LocalizationManager, UserManager, LibraryManager, LoggerFactory, JsonSerializer, FileSystemManager, UserDataManager, () => MediaEncoder);
|
||||||
|
@ -1893,8 +1890,12 @@ namespace Emby.Server.Implementations
|
||||||
Logger.LogError(ex, "Error disposing {Type}", part.GetType().Name);
|
Logger.LogError(ex, "Error disposing {Type}", part.GetType().Name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
UserRepository.Dispose();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
UserRepository = null;
|
||||||
|
|
||||||
_disposed = true;
|
_disposed = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -56,7 +56,7 @@ namespace Emby.Server.Implementations.Data
|
||||||
TryMigrateToLocalUsersTable(connection);
|
TryMigrateToLocalUsersTable(connection);
|
||||||
}
|
}
|
||||||
|
|
||||||
RemoveEmptyPasswordHashes();
|
RemoveEmptyPasswordHashes(connection);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -75,10 +75,12 @@ namespace Emby.Server.Implementations.Data
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void RemoveEmptyPasswordHashes()
|
private void RemoveEmptyPasswordHashes(ManagedConnection connection)
|
||||||
{
|
{
|
||||||
foreach (var user in RetrieveAllUsers())
|
foreach (var row in connection.Query("select id,guid,data from LocalUsersv2"))
|
||||||
{
|
{
|
||||||
|
var user = GetUser(row);
|
||||||
|
|
||||||
// If the user password is the sha1 hash of the empty string, remove it
|
// If the user password is the sha1 hash of the empty string, remove it
|
||||||
if (!string.Equals(user.Password, "DA39A3EE5E6B4B0D3255BFEF95601890AFD80709", StringComparison.Ordinal)
|
if (!string.Equals(user.Password, "DA39A3EE5E6B4B0D3255BFEF95601890AFD80709", StringComparison.Ordinal)
|
||||||
&& !string.Equals(user.Password, "$SHA1$DA39A3EE5E6B4B0D3255BFEF95601890AFD80709", StringComparison.Ordinal))
|
&& !string.Equals(user.Password, "$SHA1$DA39A3EE5E6B4B0D3255BFEF95601890AFD80709", StringComparison.Ordinal))
|
||||||
|
@ -89,21 +91,16 @@ namespace Emby.Server.Implementations.Data
|
||||||
user.Password = null;
|
user.Password = null;
|
||||||
var serialized = _jsonSerializer.SerializeToBytes(user);
|
var serialized = _jsonSerializer.SerializeToBytes(user);
|
||||||
|
|
||||||
using (var connection = GetConnection())
|
connection.RunInTransaction(db =>
|
||||||
{
|
{
|
||||||
connection.RunInTransaction(db =>
|
using (var statement = db.PrepareStatement("update LocalUsersv2 set data=@data where Id=@InternalId"))
|
||||||
{
|
{
|
||||||
using (var statement = db.PrepareStatement("update LocalUsersv2 set data=@data where Id=@InternalId"))
|
statement.TryBind("@InternalId", user.InternalId);
|
||||||
{
|
statement.TryBind("@data", serialized);
|
||||||
statement.TryBind("@InternalId", user.InternalId);
|
statement.MoveNext();
|
||||||
statement.TryBind("@data", serialized);
|
}
|
||||||
statement.MoveNext();
|
}, TransactionMode);
|
||||||
}
|
|
||||||
|
|
||||||
}, TransactionMode);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
Loading…
Reference in a new issue