From 40442f887ba717ae47620b152315f21b252fe049 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Wed, 9 Aug 2017 15:56:38 -0400 Subject: consolidate emby.server.core into emby.server.implementations --- Emby.Server.Core/ApplicationHost.cs | 1772 ------------------ Emby.Server.Core/ApplicationPathHelper.cs | 51 - Emby.Server.Core/Cryptography/ASN1.cs | 340 ---- Emby.Server.Core/Cryptography/ASN1Convert.cs | 207 --- Emby.Server.Core/Cryptography/BitConverterLE.cs | 239 --- .../Cryptography/CertificateGenerator.cs | 69 - Emby.Server.Core/Cryptography/CryptoConvert.cs | 745 -------- Emby.Server.Core/Cryptography/PKCS1.cs | 491 ----- Emby.Server.Core/Cryptography/PKCS12.cs | 1934 -------------------- Emby.Server.Core/Cryptography/PKCS7.cs | 1012 ---------- Emby.Server.Core/Cryptography/PKCS8.cs | 495 ----- Emby.Server.Core/Cryptography/PfxGenerator.cs | 75 - Emby.Server.Core/Cryptography/X501Name.cs | 393 ---- Emby.Server.Core/Cryptography/X509Builder.cs | 153 -- Emby.Server.Core/Cryptography/X509Certificate.cs | 563 ------ .../Cryptography/X509CertificateBuilder.cs | 245 --- .../Cryptography/X509CertificateCollection.cs | 201 -- Emby.Server.Core/Cryptography/X509Extension.cs | 208 --- Emby.Server.Core/Cryptography/X509Extensions.cs | 195 -- Emby.Server.Core/Cryptography/X520Attributes.cs | 346 ---- Emby.Server.Core/Emby.Server.Core.csproj | 176 -- .../EntryPoints/ExternalPortForwarding.cs | 334 ---- Emby.Server.Core/HttpServerFactory.cs | 112 -- Emby.Server.Core/IO/LibraryMonitor.cs | 653 ------- Emby.Server.Core/IO/MemoryStreamProvider.cs | 56 - Emby.Server.Core/Localization/TextLocalizer.cs | 64 - Emby.Server.Core/Logging/ConsoleLogger.cs | 16 - Emby.Server.Core/Properties/AssemblyInfo.cs | 34 - Emby.Server.Core/SystemEvents.cs | 50 - Emby.Server.Core/app.config | 11 - Emby.Server.Core/packages.config | 6 - 31 files changed, 11246 deletions(-) delete mode 100644 Emby.Server.Core/ApplicationHost.cs delete mode 100644 Emby.Server.Core/ApplicationPathHelper.cs delete mode 100644 Emby.Server.Core/Cryptography/ASN1.cs delete mode 100644 Emby.Server.Core/Cryptography/ASN1Convert.cs delete mode 100644 Emby.Server.Core/Cryptography/BitConverterLE.cs delete mode 100644 Emby.Server.Core/Cryptography/CertificateGenerator.cs delete mode 100644 Emby.Server.Core/Cryptography/CryptoConvert.cs delete mode 100644 Emby.Server.Core/Cryptography/PKCS1.cs delete mode 100644 Emby.Server.Core/Cryptography/PKCS12.cs delete mode 100644 Emby.Server.Core/Cryptography/PKCS7.cs delete mode 100644 Emby.Server.Core/Cryptography/PKCS8.cs delete mode 100644 Emby.Server.Core/Cryptography/PfxGenerator.cs delete mode 100644 Emby.Server.Core/Cryptography/X501Name.cs delete mode 100644 Emby.Server.Core/Cryptography/X509Builder.cs delete mode 100644 Emby.Server.Core/Cryptography/X509Certificate.cs delete mode 100644 Emby.Server.Core/Cryptography/X509CertificateBuilder.cs delete mode 100644 Emby.Server.Core/Cryptography/X509CertificateCollection.cs delete mode 100644 Emby.Server.Core/Cryptography/X509Extension.cs delete mode 100644 Emby.Server.Core/Cryptography/X509Extensions.cs delete mode 100644 Emby.Server.Core/Cryptography/X520Attributes.cs delete mode 100644 Emby.Server.Core/Emby.Server.Core.csproj delete mode 100644 Emby.Server.Core/EntryPoints/ExternalPortForwarding.cs delete mode 100644 Emby.Server.Core/HttpServerFactory.cs delete mode 100644 Emby.Server.Core/IO/LibraryMonitor.cs delete mode 100644 Emby.Server.Core/IO/MemoryStreamProvider.cs delete mode 100644 Emby.Server.Core/Localization/TextLocalizer.cs delete mode 100644 Emby.Server.Core/Logging/ConsoleLogger.cs delete mode 100644 Emby.Server.Core/Properties/AssemblyInfo.cs delete mode 100644 Emby.Server.Core/SystemEvents.cs delete mode 100644 Emby.Server.Core/app.config delete mode 100644 Emby.Server.Core/packages.config (limited to 'Emby.Server.Core') diff --git a/Emby.Server.Core/ApplicationHost.cs b/Emby.Server.Core/ApplicationHost.cs deleted file mode 100644 index 68cb2a4e3..000000000 --- a/Emby.Server.Core/ApplicationHost.cs +++ /dev/null @@ -1,1772 +0,0 @@ -using MediaBrowser.Api; -using MediaBrowser.Common; -using MediaBrowser.Common.Configuration; -using MediaBrowser.Common.Events; -using MediaBrowser.Common.Extensions; -using Emby.Common.Implementations.ScheduledTasks; -using MediaBrowser.Common.Net; -using MediaBrowser.Common.Progress; -using MediaBrowser.Controller; -using MediaBrowser.Controller.Channels; -using MediaBrowser.Controller.Chapters; -using MediaBrowser.Controller.Collections; -using MediaBrowser.Controller.Configuration; -using MediaBrowser.Controller.Connect; -using MediaBrowser.Controller.Devices; -using MediaBrowser.Controller.Dlna; -using MediaBrowser.Controller.Drawing; -using MediaBrowser.Controller.Dto; -using MediaBrowser.Controller.Entities; -using MediaBrowser.Controller.Library; -using MediaBrowser.Controller.LiveTv; -using MediaBrowser.Controller.MediaEncoding; -using MediaBrowser.Controller.Net; -using MediaBrowser.Controller.Notifications; -using MediaBrowser.Controller.Persistence; -using MediaBrowser.Controller.Playlists; -using MediaBrowser.Controller.Plugins; -using MediaBrowser.Controller.Providers; -using MediaBrowser.Controller.Resolvers; -using MediaBrowser.Controller.Security; -using MediaBrowser.Controller.Session; -using MediaBrowser.Controller.Sorting; -using MediaBrowser.Controller.Subtitles; -using MediaBrowser.Controller.Sync; -using MediaBrowser.Controller.TV; -using MediaBrowser.LocalMetadata.Savers; -using MediaBrowser.MediaEncoding.BdInfo; -using MediaBrowser.MediaEncoding.Encoder; -using MediaBrowser.MediaEncoding.Subtitles; -using MediaBrowser.Model.Logging; -using MediaBrowser.Model.MediaInfo; -using MediaBrowser.Model.System; -using MediaBrowser.Model.Updates; -using MediaBrowser.Providers.Chapters; -using MediaBrowser.Providers.Manager; -using MediaBrowser.Providers.Subtitles; -using MediaBrowser.WebDashboard.Api; -using MediaBrowser.XbmcMetadata.Providers; -using System; -using System.Collections.Concurrent; -using System.Collections.Generic; -using System.Globalization; -using System.IO; -using System.Linq; -using System.Net; -using System.Net.Sockets; -using System.Reflection; -using System.Security.Cryptography.X509Certificates; -using System.Threading; -using System.Threading.Tasks; -using Emby.Common.Implementations; -using Emby.Common.Implementations.Archiving; -using Emby.Common.Implementations.IO; -using Emby.Common.Implementations.Reflection; -using Emby.Common.Implementations.Serialization; -using Emby.Common.Implementations.TextEncoding; -using Emby.Common.Implementations.Xml; -using Emby.Photos; -using MediaBrowser.Model.IO; -using MediaBrowser.Api.Playback; -using MediaBrowser.Common.Plugins; -using MediaBrowser.Common.Security; -using MediaBrowser.Common.Updates; -using MediaBrowser.Controller.Entities.Audio; -using MediaBrowser.Controller.Entities.Movies; -using MediaBrowser.Controller.Entities.TV; -using Emby.Dlna; -using Emby.Dlna.ConnectionManager; -using Emby.Dlna.ContentDirectory; -using Emby.Dlna.Main; -using Emby.Dlna.MediaReceiverRegistrar; -using Emby.Dlna.Ssdp; -using Emby.Server.Core; -using Emby.Server.Implementations.Activity; -using Emby.Server.Implementations.Devices; -using Emby.Server.Implementations.FFMpeg; -using Emby.Server.Core.IO; -using Emby.Server.Core.Localization; -using Emby.Server.Implementations.Migrations; -using Emby.Server.Implementations.Security; -using Emby.Server.Implementations.Social; -using Emby.Server.Implementations.Channels; -using Emby.Server.Implementations.Collections; -using Emby.Server.Implementations.Dto; -using Emby.Server.Implementations.IO; -using Emby.Server.Implementations.HttpServer; -using Emby.Server.Implementations.HttpServer.Security; -using Emby.Server.Implementations.Library; -using Emby.Server.Implementations.LiveTv; -using Emby.Server.Implementations.Localization; -using Emby.Server.Implementations.MediaEncoder; -using Emby.Server.Implementations.Notifications; -using Emby.Server.Implementations.Data; -using Emby.Server.Implementations.Playlists; -using Emby.Server.Implementations; -using Emby.Server.Implementations.ServerManager; -using Emby.Server.Implementations.Session; -using Emby.Server.Implementations.TV; -using Emby.Server.Implementations.Updates; -using MediaBrowser.Model.Activity; -using MediaBrowser.Model.Configuration; -using MediaBrowser.Model.Dlna; -using MediaBrowser.Model.Globalization; -using MediaBrowser.Model.Net; -using MediaBrowser.Model.News; -using MediaBrowser.Model.Reflection; -using MediaBrowser.Model.Serialization; -using MediaBrowser.Model.Services; -using MediaBrowser.Model.Social; -using MediaBrowser.Model.Text; -using MediaBrowser.Model.Xml; -using OpenSubtitlesHandler; -using ServiceStack; -using SocketHttpListener.Primitives; -using StringExtensions = MediaBrowser.Controller.Extensions.StringExtensions; -using Emby.Drawing; -using Emby.Server.Implementations.Migrations; -using MediaBrowser.Model.Diagnostics; -using Emby.Common.Implementations.Diagnostics; -using Emby.Server.Implementations.Configuration; - -namespace Emby.Server.Core -{ - /// - /// Class CompositionRoot - /// - public abstract class ApplicationHost : BaseApplicationHost, IServerApplicationHost, IDependencyContainer - { - /// - /// Gets the server configuration manager. - /// - /// The server configuration manager. - public IServerConfigurationManager ServerConfigurationManager - { - get { return (IServerConfigurationManager)ConfigurationManager; } - } - - /// - /// Gets the configuration manager. - /// - /// IConfigurationManager. - protected override IConfigurationManager GetConfigurationManager() - { - return new ServerConfigurationManager(ApplicationPaths, LogManager, XmlSerializer, FileSystemManager); - } - - /// - /// Gets or sets the server manager. - /// - /// The server manager. - private IServerManager ServerManager { get; set; } - /// - /// Gets or sets the user manager. - /// - /// The user manager. - public IUserManager UserManager { get; set; } - /// - /// Gets or sets the library manager. - /// - /// The library manager. - internal ILibraryManager LibraryManager { get; set; } - /// - /// Gets or sets the directory watchers. - /// - /// The directory watchers. - private ILibraryMonitor LibraryMonitor { get; set; } - /// - /// Gets or sets the provider manager. - /// - /// The provider manager. - private IProviderManager ProviderManager { get; set; } - /// - /// Gets or sets the HTTP server. - /// - /// The HTTP server. - private IHttpServer HttpServer { get; set; } - private IDtoService DtoService { get; set; } - public IImageProcessor ImageProcessor { get; set; } - - /// - /// Gets or sets the media encoder. - /// - /// The media encoder. - private IMediaEncoder MediaEncoder { get; set; } - private ISubtitleEncoder SubtitleEncoder { get; set; } - - private IConnectManager ConnectManager { get; set; } - private ISessionManager SessionManager { get; set; } - - private ILiveTvManager LiveTvManager { get; set; } - - public ILocalizationManager LocalizationManager { get; set; } - - private IEncodingManager EncodingManager { get; set; } - private IChannelManager ChannelManager { get; set; } - private ISyncManager SyncManager { get; set; } - - /// - /// Gets or sets the user data repository. - /// - /// The user data repository. - private IUserDataManager UserDataManager { get; set; } - private IUserRepository UserRepository { get; set; } - internal IDisplayPreferencesRepository DisplayPreferencesRepository { get; set; } - internal IItemRepository ItemRepository { get; set; } - private INotificationsRepository NotificationsRepository { get; set; } - - private INotificationManager NotificationManager { get; set; } - private ISubtitleManager SubtitleManager { get; set; } - private IChapterManager ChapterManager { get; set; } - private IDeviceManager DeviceManager { get; set; } - - internal IUserViewManager UserViewManager { get; set; } - - private IAuthenticationRepository AuthenticationRepository { get; set; } - private ISyncRepository SyncRepository { get; set; } - private ITVSeriesManager TVSeriesManager { get; set; } - private ICollectionManager CollectionManager { get; set; } - private IMediaSourceManager MediaSourceManager { get; set; } - private IPlaylistManager PlaylistManager { get; set; } - - /// - /// Gets or sets the installation manager. - /// - /// The installation manager. - protected IInstallationManager InstallationManager { get; private set; } - /// - /// Gets the security manager. - /// - /// The security manager. - protected ISecurityManager SecurityManager { get; private set; } - - /// - /// Gets or sets the zip client. - /// - /// The zip client. - protected IZipClient ZipClient { get; private set; } - - protected IAuthService AuthService { get; private set; } - - protected readonly StartupOptions StartupOptions; - private readonly string _releaseAssetFilename; - - internal IPowerManagement PowerManagement { get; private set; } - internal IImageEncoder ImageEncoder { get; private set; } - - private readonly Action _certificateGenerator; - private readonly Func _defaultUserNameFactory; - - /// - /// Initializes a new instance of the class. - /// - public ApplicationHost(ServerApplicationPaths applicationPaths, - ILogManager logManager, - StartupOptions options, - IFileSystem fileSystem, - IPowerManagement powerManagement, - string releaseAssetFilename, - IEnvironmentInfo environmentInfo, - IImageEncoder imageEncoder, - ISystemEvents systemEvents, - IMemoryStreamFactory memoryStreamFactory, - INetworkManager networkManager, - Action certificateGenerator, - Func defaultUsernameFactory) - : base(applicationPaths, - logManager, - fileSystem, - environmentInfo, - systemEvents, - memoryStreamFactory, - networkManager) - { - StartupOptions = options; - _certificateGenerator = certificateGenerator; - _releaseAssetFilename = releaseAssetFilename; - _defaultUserNameFactory = defaultUsernameFactory; - PowerManagement = powerManagement; - - ImageEncoder = imageEncoder; - - SetBaseExceptionMessage(); - - if (environmentInfo.OperatingSystem == MediaBrowser.Model.System.OperatingSystem.Windows) - { - fileSystem.AddShortcutHandler(new LnkShortcutHandler()); - } - - fileSystem.AddShortcutHandler(new MbLinkShortcutHandler(fileSystem)); - } - - private Version _version; - /// - /// Gets the current application version - /// - /// The application version. - public override Version ApplicationVersion - { - get - { - return _version ?? (_version = GetAssembly(GetType()).GetName().Version); - } - } - - public virtual bool SupportsRunningAsService - { - get - { - return false; - } - } - - /// - /// Gets the name. - /// - /// The name. - public override string Name - { - get - { - return "Emby Server"; - } - } - - public virtual bool IsRunningAsService - { - get - { - return false; - } - } - - private Assembly GetAssembly(Type type) - { - return type.GetTypeInfo().Assembly; - } - - public virtual bool SupportsAutoRunAtStartup - { - get - { - return EnvironmentInfo.OperatingSystem == MediaBrowser.Model.System.OperatingSystem.Windows; - } - } - - private void SetBaseExceptionMessage() - { - var builder = GetBaseExceptionMessage(ApplicationPaths); - - // Skip if plugins haven't been loaded yet - //if (Plugins != null) - //{ - // var pluginString = string.Join("|", Plugins.Select(i => i.Name + "-" + i.Version.ToString()).ToArray()); - // builder.Insert(0, string.Format("Plugins: {0}{1}", pluginString, Environment.NewLine)); - //} - - builder.Insert(0, string.Format("Version: {0}{1}", ApplicationVersion, Environment.NewLine)); - builder.Insert(0, "*** Error Report ***" + Environment.NewLine); - - LogManager.ExceptionMessagePrefix = builder.ToString(); - } - - /// - /// Runs the startup tasks. - /// - public override async Task RunStartupTasks() - { - await PerformPreInitMigrations().ConfigureAwait(false); - - await base.RunStartupTasks().ConfigureAwait(false); - - await MediaEncoder.Init().ConfigureAwait(false); - - if (string.IsNullOrWhiteSpace(MediaEncoder.EncoderPath)) - { - if (ServerConfigurationManager.Configuration.IsStartupWizardCompleted) - { - ServerConfigurationManager.Configuration.IsStartupWizardCompleted = false; - ServerConfigurationManager.SaveConfiguration(); - } - } - - Logger.Info("ServerId: {0}", SystemId); - Logger.Info("Core startup complete"); - HttpServer.GlobalResponse = null; - - PerformPostInitMigrations(); - Logger.Info("Post-init migrations complete"); - - foreach (var entryPoint in GetExports().ToList()) - { - var name = entryPoint.GetType().FullName; - Logger.Info("Starting entry point {0}", name); - var now = DateTime.UtcNow; - try - { - entryPoint.Run(); - } - catch (Exception ex) - { - Logger.ErrorException("Error in {0}", ex, name); - } - Logger.Info("Entry point completed: {0}. Duration: {1} seconds", name, (DateTime.UtcNow - now).TotalSeconds.ToString(CultureInfo.InvariantCulture), "ImageInfos"); - } - Logger.Info("All entry points have started"); - - LogManager.RemoveConsoleOutput(); - } - - protected override IJsonSerializer CreateJsonSerializer() - { - try - { - // https://github.com/ServiceStack/ServiceStack/blob/master/tests/ServiceStack.WebHost.IntegrationTests/Web.config#L4 - Licensing.RegisterLicense("1001-e1JlZjoxMDAxLE5hbWU6VGVzdCBCdXNpbmVzcyxUeXBlOkJ1c2luZXNzLEhhc2g6UHVNTVRPclhvT2ZIbjQ5MG5LZE1mUTd5RUMzQnBucTFEbTE3TDczVEF4QUNMT1FhNXJMOWkzVjFGL2ZkVTE3Q2pDNENqTkQyUktRWmhvUVBhYTBiekJGUUZ3ZE5aZHFDYm9hL3lydGlwUHI5K1JsaTBYbzNsUC85cjVJNHE5QVhldDN6QkE4aTlvdldrdTgyTk1relY2eis2dFFqTThYN2lmc0JveHgycFdjPSxFeHBpcnk6MjAxMy0wMS0wMX0="); - } - catch - { - // Failing under mono - } - - var result = new JsonSerializer(FileSystemManager, LogManager.GetLogger("JsonSerializer")); - - ServiceStack.Text.JsConfig.ExcludePropertyNames = new[] { "ProviderIds" }; - ServiceStack.Text.JsConfig.ExcludePropertyNames = new[] { "ProviderIds" }; - ServiceStack.Text.JsConfig.ExcludePropertyNames = new[] { "ProviderIds" }; - ServiceStack.Text.JsConfig.ExcludePropertyNames = new[] { "ProviderIds" }; - ServiceStack.Text.JsConfig.ExcludePropertyNames = new[] { "ProviderIds" }; - ServiceStack.Text.JsConfig