aboutsummaryrefslogtreecommitdiff
path: root/Emby.Server.Implementations
diff options
context:
space:
mode:
Diffstat (limited to 'Emby.Server.Implementations')
-rw-r--r--Emby.Server.Implementations/ApplicationHost.cs55
-rw-r--r--Emby.Server.Implementations/Channels/ChannelManager.cs4
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Smb/SmbFile.cs20
-rw-r--r--Emby.Server.Implementations/Networking/IPNetwork/IPNetwork.cs106
-rw-r--r--Emby.Server.Implementations/ScheduledTasks/PluginUpdateTask.cs142
-rw-r--r--Emby.Server.Implementations/ScheduledTasks/SystemUpdateTask.cs128
6 files changed, 5 insertions, 450 deletions
diff --git a/Emby.Server.Implementations/ApplicationHost.cs b/Emby.Server.Implementations/ApplicationHost.cs
index f1e1b4b2d..3cc6151f1 100644
--- a/Emby.Server.Implementations/ApplicationHost.cs
+++ b/Emby.Server.Implementations/ApplicationHost.cs
@@ -368,7 +368,6 @@ namespace Emby.Server.Implementations
protected IAuthService AuthService { get; private set; }
public StartupOptions StartupOptions { get; private set; }
- protected readonly string ReleaseAssetFilename;
internal IPowerManagement PowerManagement { get; private set; }
internal IImageEncoder ImageEncoder { get; private set; }
@@ -393,7 +392,6 @@ namespace Emby.Server.Implementations
StartupOptions options,
IFileSystem fileSystem,
IPowerManagement powerManagement,
- string releaseAssetFilename,
IEnvironmentInfo environmentInfo,
IImageEncoder imageEncoder,
ISystemEvents systemEvents,
@@ -419,7 +417,6 @@ namespace Emby.Server.Implementations
Logger = LoggerFactory.CreateLogger("App");
StartupOptions = options;
- ReleaseAssetFilename = releaseAssetFilename;
PowerManagement = powerManagement;
ImageEncoder = imageEncoder;
@@ -1240,7 +1237,7 @@ namespace Emby.Server.Implementations
HttpClient,
ZipClient,
ProcessFactory,
- 5000, false,
+ 5000,
EnvironmentInfo);
MediaEncoder = mediaEncoder;
@@ -2287,56 +2284,6 @@ namespace Emby.Server.Implementations
}
/// <summary>
- /// Checks for update.
- /// </summary>
- /// <param name="cancellationToken">The cancellation token.</param>
- /// <param name="progress">The progress.</param>
- /// <returns>Task{CheckForUpdateResult}.</returns>
- public async Task<CheckForUpdateResult> CheckForApplicationUpdate(CancellationToken cancellationToken, IProgress<double> progress)
- {
- var updateLevel = SystemUpdateLevel;
- var cacheLength = updateLevel == PackageVersionClass.Release ?
- TimeSpan.FromHours(12) :
- TimeSpan.FromMinutes(5);
-
- try
- {
- var result = await new GithubUpdater(HttpClient, JsonSerializer).CheckForUpdateResult("MediaBrowser",
- "Emby.Releases",
- ApplicationVersion,
- updateLevel,
- ReleaseAssetFilename,
- "MBServer",
- UpdateTargetFileName,
- cacheLength,
- cancellationToken).ConfigureAwait(false);
-
- HasUpdateAvailable = result.IsUpdateAvailable;
-
- return result;
- }
- catch (HttpException ex)
- {
- // users are overreacting to this occasionally failing
- if (ex.StatusCode.HasValue && ex.StatusCode.Value == HttpStatusCode.Forbidden)
- {
- HasUpdateAvailable = false;
- return new CheckForUpdateResult
- {
- IsUpdateAvailable = false
- };
- }
-
- throw;
- }
- }
-
- protected virtual string UpdateTargetFileName
- {
- get { return "Mbserver.zip"; }
- }
-
- /// <summary>
/// Updates the application.
/// </summary>
/// <param name="package">The package that contains the update</param>
diff --git a/Emby.Server.Implementations/Channels/ChannelManager.cs b/Emby.Server.Implementations/Channels/ChannelManager.cs
index 00da46f30..c2160d338 100644
--- a/Emby.Server.Implementations/Channels/ChannelManager.cs
+++ b/Emby.Server.Implementations/Channels/ChannelManager.cs
@@ -901,8 +901,8 @@ namespace Emby.Server.Implementations.Channels
private T GetItemById<T>(string idString, string channelName, out bool isNew)
where T : BaseItem, new()
{
- var id = GetIdToHash(idString, channelName).GetMBId(typeof(T));
-
+ var id = _libraryManager.GetNewItemId(GetIdToHash(idString, channelName), typeof(T));
+
T item = null;
try
diff --git a/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbFile.cs b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbFile.cs
index 151ec35c4..7fd9f0d84 100644
--- a/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbFile.cs
+++ b/Emby.Server.Implementations/IO/SharpCifs/Smb/SmbFile.cs
@@ -3381,26 +3381,6 @@ namespace SharpCifs.Smb
}
/// <summary>
- /// Returns a
- /// <see cref="System.Uri">System.Uri</see>
- /// for this <code>SmbFile</code>. The
- /// <code>URL</code> may be used as any other <code>URL</code> might to
- /// access an SMB resource. Currently only retrieving data and information
- /// is supported (i.e. no <tt>doOutput</tt>).
- /// </summary>
- /// <returns>
- /// A new <code>
- /// <see cref="System.Uri">System.Uri</see>
- /// </code> for this <code>SmbFile</code>
- /// </returns>
- /// <exception cref="System.UriFormatException">System.UriFormatException</exception>
- [Obsolete(@"Use getURL() instead")]
- public virtual Uri ToUrl()
- {
- return Url;
- }
-
- /// <summary>
/// Computes a hashCode for this file based on the URL string and IP
/// address if the server.
/// </summary>
diff --git a/Emby.Server.Implementations/Networking/IPNetwork/IPNetwork.cs b/Emby.Server.Implementations/Networking/IPNetwork/IPNetwork.cs
index 6d7785b90..8d0fb7997 100644
--- a/Emby.Server.Implementations/Networking/IPNetwork/IPNetwork.cs
+++ b/Emby.Server.Implementations/Networking/IPNetwork/IPNetwork.cs
@@ -189,7 +189,7 @@ namespace System.Net
internal
#endif
- IPNetwork(BigInteger ipaddress, AddressFamily family, byte cidr)
+ IPNetwork(BigInteger ipaddress, AddressFamily family, byte cidr)
{
int maxCidr = family == Sockets.AddressFamily.InterNetwork ? 32 : 128;
@@ -1164,18 +1164,6 @@ namespace System.Net
}
- [Obsolete("static Contains is deprecated, please use instance Contains.")]
- public static bool Contains(IPNetwork network, IPAddress ipaddress)
- {
-
- if (network == null)
- {
- throw new ArgumentNullException("network");
- }
-
- return network.Contains(ipaddress);
- }
-
/// <summary>
/// return true is network2 is fully contained in network
/// </summary>
@@ -1201,18 +1189,6 @@ namespace System.Net
return contains;
}
- [Obsolete("static Contains is deprecated, please use instance Contains.")]
- public static bool Contains(IPNetwork network, IPNetwork network2)
- {
-
- if (network == null)
- {
- throw new ArgumentNullException("network");
- }
-
- return network.Contains(network2);
- }
-
#endregion
#region overlap
@@ -1245,18 +1221,6 @@ namespace System.Net
return overlap;
}
- [Obsolete("static Overlap is deprecated, please use instance Overlap.")]
- public static bool Overlap(IPNetwork network, IPNetwork network2)
- {
-
- if (network == null)
- {
- throw new ArgumentNullException("network");
- }
-
- return network.Overlap(network2);
- }
-
#endregion
#region ToString
@@ -1341,18 +1305,6 @@ namespace System.Net
|| IPNetwork.IANA_CBLK_RESERVED1.Contains(this);
}
- [Obsolete("static IsIANAReserved is deprecated, please use instance IsIANAReserved.")]
- public static bool IsIANAReserved(IPNetwork ipnetwork)
- {
-
- if (ipnetwork == null)
- {
- throw new ArgumentNullException("ipnetwork");
- }
-
- return ipnetwork.IsIANAReserved();
- }
-
#endregion
#region Subnet
@@ -1371,16 +1323,6 @@ namespace System.Net
return ipnetworkCollection;
}
- [Obsolete("static Subnet is deprecated, please use instance Subnet.")]
- public static IPNetworkCollection Subnet(IPNetwork network, byte cidr)
- {
- if (network == null)
- {
- throw new ArgumentNullException("network");
- }
- return network.Subnet(cidr);
- }
-
/// <summary>
/// Subnet a network into multiple nets of cidr mask
/// Subnet 192.168.0.0/24 into cidr 25 gives 192.168.0.0/25, 192.168.0.128/25
@@ -1402,16 +1344,6 @@ namespace System.Net
return true;
}
- [Obsolete("static TrySubnet is deprecated, please use instance TrySubnet.")]
- public static bool TrySubnet(IPNetwork network, byte cidr, out IPNetworkCollection ipnetworkCollection)
- {
- if (network == null)
- {
- throw new ArgumentNullException("network");
- }
- return network.TrySubnet(cidr, out ipnetworkCollection);
- }
-
#if TRAVISCI
public
#else
@@ -1476,12 +1408,6 @@ namespace System.Net
return supernet;
}
- [Obsolete("static Supernet is deprecated, please use instance Supernet.")]
- public static IPNetwork Supernet(IPNetwork network, IPNetwork network2)
- {
- return network.Supernet(network2);
- }
-
/// <summary>
/// Try to supernet two consecutive cidr equal subnet into a single one
/// 192.168.0.0/24 + 192.168.1.0/24 = 192.168.0.0/23
@@ -1500,16 +1426,6 @@ namespace System.Net
return parsed;
}
- [Obsolete("static TrySupernet is deprecated, please use instance TrySupernet.")]
- public static bool TrySupernet(IPNetwork network, IPNetwork network2, out IPNetwork supernet)
- {
- if (network == null)
- {
- throw new ArgumentNullException("network");
- }
- return network.TrySupernet(network2, out supernet);
- }
-
#if TRAVISCI
public
#else
@@ -1920,18 +1836,6 @@ namespace System.Net
return sw.ToString();
}
- [Obsolete("static Print is deprecated, please use instance Print.")]
- public static string Print(IPNetwork ipnetwork)
- {
-
- if (ipnetwork == null)
- {
- throw new ArgumentNullException("ipnetwork");
- }
-
- return ipnetwork.Print();
- }
-
#endregion
#region TryGuessCidr
@@ -2018,12 +1922,6 @@ namespace System.Net
#region ListIPAddress
- [Obsolete("static ListIPAddress is deprecated, please use instance ListIPAddress.")]
- public static IPAddressCollection ListIPAddress(IPNetwork ipnetwork)
- {
- return ipnetwork.ListIPAddress();
- }
-
public IPAddressCollection ListIPAddress()
{
return new IPAddressCollection(this);
@@ -2167,4 +2065,4 @@ namespace System.Net
#endregion
}
-} \ No newline at end of file
+}
diff --git a/Emby.Server.Implementations/ScheduledTasks/PluginUpdateTask.cs b/Emby.Server.Implementations/ScheduledTasks/PluginUpdateTask.cs
deleted file mode 100644
index 46a7f1f27..000000000
--- a/Emby.Server.Implementations/ScheduledTasks/PluginUpdateTask.cs
+++ /dev/null
@@ -1,142 +0,0 @@
-using MediaBrowser.Common;
-using MediaBrowser.Common.Updates;
-using Microsoft.Extensions.Logging;
-using MediaBrowser.Model.Net;
-using System;
-using System.Collections.Generic;
-using System.IO;
-using System.Linq;
-using System.Threading;
-using System.Threading.Tasks;
-using MediaBrowser.Common.Progress;
-using MediaBrowser.Model.Tasks;
-
-namespace Emby.Server.Implementations.ScheduledTasks
-{
- /// <summary>
- /// Plugin Update Task
- /// </summary>
- public class PluginUpdateTask : IScheduledTask, IConfigurableScheduledTask
- {
- /// <summary>
- /// The _logger
- /// </summary>
- private readonly ILogger _logger;
-
- private readonly IInstallationManager _installationManager;
-
- private readonly IApplicationHost _appHost;
-
- public PluginUpdateTask(ILogger logger, IInstallationManager installationManager, IApplicationHost appHost)
- {
- _logger = logger;
- _installationManager = installationManager;
- _appHost = appHost;
- }
-
- /// <summary>
- /// Creates the triggers that define when the task will run
- /// </summary>
- /// <returns>IEnumerable{BaseTaskTrigger}.</returns>
- public IEnumerable<TaskTriggerInfo> GetDefaultTriggers()
- {
- return new[] {
-
- // At startup
- new TaskTriggerInfo {Type = TaskTriggerInfo.TriggerStartup},
-
- // Every so often
- new TaskTriggerInfo { Type = TaskTriggerInfo.TriggerInterval, IntervalTicks = TimeSpan.FromHours(24).Ticks}
- };
- }
-
- public string Key
- {
- get { return "PluginUpdates"; }
- }
-
- /// <summary>
- /// Update installed plugins
- /// </summary>
- /// <param name="cancellationToken">The cancellation token.</param>
- /// <param name="progress">The progress.</param>
- /// <returns>Task.</returns>
- public async Task Execute(CancellationToken cancellationToken, IProgress<double> progress)
- {
- progress.Report(0);
-
- var packagesToInstall = (await _installationManager.GetAvailablePluginUpdates(_appHost.ApplicationVersion, true, cancellationToken).ConfigureAwait(false)).ToList();
-
- progress.Report(10);
-
- var numComplete = 0;
-
- foreach (var package in packagesToInstall)
- {
- cancellationToken.ThrowIfCancellationRequested();
-
- try
- {
- await _installationManager.InstallPackage(package, true, new SimpleProgress<double>(), cancellationToken).ConfigureAwait(false);
- }
- catch (OperationCanceledException)
- {
- // InstallPackage has it's own inner cancellation token, so only throw this if it's ours
- if (cancellationToken.IsCancellationRequested)
- {
- throw;
- }
- }
- catch (HttpException ex)
- {
- _logger.LogError(ex, "Error downloading {name}", package.name);
- }
- catch (IOException ex)
- {
- _logger.LogError(ex, "Error updating {name}", package.name);
- }
-
- // Update progress
- lock (progress)
- {
- numComplete++;
- double percent = numComplete;
- percent /= packagesToInstall.Count;
-
- progress.Report(90 * percent + 10);
- }
- }
-
- progress.Report(100);
- }
-
- /// <summary>
- /// Gets the name of the task
- /// </summary>
- /// <value>The name.</value>
- public string Name
- {
- get { return "Check for plugin updates"; }
- }
-
- /// <summary>
- /// Gets the description.
- /// </summary>
- /// <value>The description.</value>
- public string Description
- {
- get { return "Downloads and installs updates for plugins that are configured to update automatically."; }
- }
-
- public string Category
- {
- get { return "Application"; }
- }
-
- public bool IsHidden => true;
-
- public bool IsEnabled => true;
-
- public bool IsLogged => true;
- }
-}
diff --git a/Emby.Server.Implementations/ScheduledTasks/SystemUpdateTask.cs b/Emby.Server.Implementations/ScheduledTasks/SystemUpdateTask.cs
deleted file mode 100644
index 4cb97cbda..000000000
--- a/Emby.Server.Implementations/ScheduledTasks/SystemUpdateTask.cs
+++ /dev/null
@@ -1,128 +0,0 @@
-using MediaBrowser.Common;
-using MediaBrowser.Common.Configuration;
-using Microsoft.Extensions.Logging;
-using System;
-using System.Collections.Generic;
-using System.Threading;
-using System.Threading.Tasks;
-using MediaBrowser.Common.Progress;
-using MediaBrowser.Model.Tasks;
-
-namespace Emby.Server.Implementations.ScheduledTasks
-{
- /// <summary>
- /// Plugin Update Task
- /// </summary>
- public class SystemUpdateTask : IScheduledTask
- {
- /// <summary>
- /// The _app host
- /// </summary>
- private readonly IApplicationHost _appHost;
-
- /// <summary>
- /// Gets or sets the configuration manager.
- /// </summary>
- /// <value>The configuration manager.</value>
- private IConfigurationManager ConfigurationManager { get; set; }
- /// <summary>
- /// Gets or sets the logger.
- /// </summary>
- /// <value>The logger.</value>
- private ILogger Logger { get; set; }
-
- /// <summary>
- /// Initializes a new instance of the <see cref="SystemUpdateTask" /> class.
- /// </summary>
- /// <param name="appHost">The app host.</param>
- /// <param name="configurationManager">The configuration manager.</param>
- /// <param name="logger">The logger.</param>
- public SystemUpdateTask(IApplicationHost appHost, IConfigurationManager configurationManager, ILogger logger)
- {
- _appHost = appHost;
- ConfigurationManager = configurationManager;
- Logger = logger;
- }
-
- /// <summary>
- /// Creates the triggers that define when the task will run
- /// </summary>
- /// <returns>IEnumerable{BaseTaskTrigger}.</returns>
- public IEnumerable<TaskTriggerInfo> GetDefaultTriggers()
- {
- return new[] {
-
- // At startup
- new TaskTriggerInfo {Type = TaskTriggerInfo.TriggerStartup},
-
- // Every so often
- new TaskTriggerInfo { Type = TaskTriggerInfo.TriggerInterval, IntervalTicks = TimeSpan.FromHours(24).Ticks}
- };
- }
-
- /// <summary>
- /// Returns the task to be executed
- /// </summary>
- /// <param name="cancellationToken">The cancellation token.</param>
- /// <param name="progress">The progress.</param>
- /// <returns>Task.</returns>
- public async Task Execute(CancellationToken cancellationToken, IProgress<double> progress)
- {
- // Create a progress object for the update check
- var updateInfo = await _appHost.CheckForApplicationUpdate(cancellationToken, new SimpleProgress<double>()).ConfigureAwait(false);
-
- if (!updateInfo.IsUpdateAvailable)
- {
- Logger.LogDebug("No application update available.");
- return;
- }
-
- cancellationToken.ThrowIfCancellationRequested();
-
- if (!_appHost.CanSelfUpdate) return;
-
- if (ConfigurationManager.CommonConfiguration.EnableAutoUpdate)
- {
- Logger.LogInformation("Update Revision {0} available. Updating...", updateInfo.AvailableVersion);
-
- await _appHost.UpdateApplication(updateInfo.Package, cancellationToken, progress).ConfigureAwait(false);
- }
- else
- {
- Logger.LogInformation("A new version of " + _appHost.Name + " is available.");
- }
- }
-
- /// <summary>
- /// Gets the name of the task
- /// </summary>
- /// <value>The name.</value>
- public string Name
- {
- get { return "Check for application updates"; }
- }
-
- /// <summary>
- /// Gets the description.
- /// </summary>
- /// <value>The description.</value>
- public string Description
- {
- get { return "Downloads and installs application updates."; }
- }
-
- /// <summary>
- /// Gets the category.
- /// </summary>
- /// <value>The category.</value>
- public string Category
- {
- get { return "Application"; }
- }
-
- public string Key
- {
- get { return "SystemUpdateTask"; }
- }
- }
-}