diff --git a/MediaBrowser.Api/UserService.cs b/MediaBrowser.Api/UserService.cs
index 740ac7930b..4b0bef2e20 100644
--- a/MediaBrowser.Api/UserService.cs
+++ b/MediaBrowser.Api/UserService.cs
@@ -1,6 +1,7 @@
using MediaBrowser.Common.Extensions;
using MediaBrowser.Controller.Dto;
using MediaBrowser.Controller.Library;
+using MediaBrowser.Controller.Session;
using MediaBrowser.Model.Dto;
using MediaBrowser.Model.Serialization;
using MediaBrowser.Model.Users;
@@ -172,12 +173,14 @@ namespace MediaBrowser.Api
///
private readonly IUserManager _userManager;
private readonly IDtoService _dtoService;
+ private readonly ISessionManager _sessionMananger;
///
/// Initializes a new instance of the class.
///
/// The XML serializer.
/// The user manager.
+ /// The dto service.
/// xmlSerializer
public UserService(IXmlSerializer xmlSerializer, IUserManager userManager, IDtoService dtoService)
: base()
@@ -300,17 +303,15 @@ namespace MediaBrowser.Api
throw new ResourceNotFoundException("User not found");
}
- var success = await _userManager.AuthenticateUser(user, request.Password).ConfigureAwait(false);
+ var auth = AuthorizationRequestFilterAttribute.GetAuthorization(Request);
- if (!success)
- {
- // Unauthorized
- throw new UnauthorizedAccessException("Invalid user or password entered.");
- }
+ var session = await _sessionMananger.AuthenticateNewSession(user, request.Password, auth.Client, auth.Version,
+ auth.DeviceId, auth.Device, Request.RemoteIp).ConfigureAwait(false);
var result = new AuthenticationResult
{
- User = _dtoService.GetUserDto(user)
+ User = _dtoService.GetUserDto(user),
+ SessionInfo = _dtoService.GetSessionInfoDto(session)
};
return result;
diff --git a/MediaBrowser.Model/Configuration/ServerConfiguration.cs b/MediaBrowser.Model/Configuration/ServerConfiguration.cs
index 0e93246c9c..62b9c0e47d 100644
--- a/MediaBrowser.Model/Configuration/ServerConfiguration.cs
+++ b/MediaBrowser.Model/Configuration/ServerConfiguration.cs
@@ -1,7 +1,6 @@
-using System.Collections.Generic;
-using System.Linq;
-using MediaBrowser.Model.Weather;
+using MediaBrowser.Model.Weather;
using System;
+using System.Collections.Generic;
namespace MediaBrowser.Model.Configuration
{
diff --git a/MediaBrowser.Providers/Manager/ProviderManager.cs b/MediaBrowser.Providers/Manager/ProviderManager.cs
index f49bbb6aea..44abeac436 100644
--- a/MediaBrowser.Providers/Manager/ProviderManager.cs
+++ b/MediaBrowser.Providers/Manager/ProviderManager.cs
@@ -375,11 +375,6 @@ namespace MediaBrowser.Providers.Manager
{
if (provider is IRemoteMetadataProvider)
{
- if (!ConfigurationManager.Configuration.EnableInternetProviders)
- {
- return false;
- }
-
if (Array.IndexOf(options.DisabledMetadataFetchers, provider.Name) != -1)
{
return false;
@@ -410,11 +405,6 @@ namespace MediaBrowser.Providers.Manager
{
if (provider is IRemoteImageProvider)
{
- if (!ConfigurationManager.Configuration.EnableInternetProviders)
- {
- return false;
- }
-
if (Array.IndexOf(options.DisabledImageFetchers, provider.Name) != -1)
{
return false;
diff --git a/MediaBrowser.Providers/Movies/FanArtMovieUpdatesPostScanTask.cs b/MediaBrowser.Providers/Movies/FanArtMovieUpdatesPostScanTask.cs
index 6f911d4111..7c0aa8f82f 100644
--- a/MediaBrowser.Providers/Movies/FanArtMovieUpdatesPostScanTask.cs
+++ b/MediaBrowser.Providers/Movies/FanArtMovieUpdatesPostScanTask.cs
@@ -54,7 +54,7 @@ namespace MediaBrowser.Providers.Movies
/// Task.
public async Task Run(IProgress progress, CancellationToken cancellationToken)
{
- if (!_config.Configuration.EnableInternetProviders || !_config.Configuration.EnableFanArtUpdates)
+ if (!_config.Configuration.EnableFanArtUpdates)
{
progress.Report(100);
return;
diff --git a/MediaBrowser.Providers/Movies/MovieUpdatesPrescanTask.cs b/MediaBrowser.Providers/Movies/MovieUpdatesPrescanTask.cs
index 483175f371..2225b5fb80 100644
--- a/MediaBrowser.Providers/Movies/MovieUpdatesPrescanTask.cs
+++ b/MediaBrowser.Providers/Movies/MovieUpdatesPrescanTask.cs
@@ -68,7 +68,7 @@ namespace MediaBrowser.Providers.Movies
/// Task.
public async Task Run(IProgress progress, CancellationToken cancellationToken)
{
- if (!_config.Configuration.EnableInternetProviders && !_config.Configuration.EnableTmdbUpdates)
+ if (!_config.Configuration.EnableTmdbUpdates)
{
progress.Report(100);
return;
diff --git a/MediaBrowser.Providers/Music/FanArtUpdatesPostScanTask.cs b/MediaBrowser.Providers/Music/FanArtUpdatesPostScanTask.cs
index 9d24490b22..5258860553 100644
--- a/MediaBrowser.Providers/Music/FanArtUpdatesPostScanTask.cs
+++ b/MediaBrowser.Providers/Music/FanArtUpdatesPostScanTask.cs
@@ -53,7 +53,7 @@ namespace MediaBrowser.Providers.Music
/// Task.
public async Task Run(IProgress progress, CancellationToken cancellationToken)
{
- if (!_config.Configuration.EnableInternetProviders || !_config.Configuration.EnableFanArtUpdates)
+ if (!_config.Configuration.EnableFanArtUpdates)
{
progress.Report(100);
return;
diff --git a/MediaBrowser.Providers/TV/FanArtTvUpdatesPostScanTask.cs b/MediaBrowser.Providers/TV/FanArtTvUpdatesPostScanTask.cs
index 50099dcb89..1b2530dba2 100644
--- a/MediaBrowser.Providers/TV/FanArtTvUpdatesPostScanTask.cs
+++ b/MediaBrowser.Providers/TV/FanArtTvUpdatesPostScanTask.cs
@@ -54,7 +54,7 @@ namespace MediaBrowser.Providers.TV
/// Task.
public async Task Run(IProgress progress, CancellationToken cancellationToken)
{
- if (!_config.Configuration.EnableInternetProviders || !_config.Configuration.EnableFanArtUpdates)
+ if (!_config.Configuration.EnableFanArtUpdates)
{
progress.Report(100);
return;
diff --git a/MediaBrowser.Providers/TV/SeriesPostScanTask.cs b/MediaBrowser.Providers/TV/SeriesPostScanTask.cs
index 035528734a..9a3aaed1a9 100644
--- a/MediaBrowser.Providers/TV/SeriesPostScanTask.cs
+++ b/MediaBrowser.Providers/TV/SeriesPostScanTask.cs
@@ -171,7 +171,9 @@ namespace MediaBrowser.Providers.TV
hasNewSeasons = await AddDummySeasonFolders(series, cancellationToken).ConfigureAwait(false);
}
- if (_config.Configuration.EnableInternetProviders)
+ var seriesConfig = _config.Configuration.MetadataOptions.FirstOrDefault(i => string.Equals(i.ItemType, typeof(Series).Name, StringComparison.OrdinalIgnoreCase));
+
+ if (seriesConfig == null || !seriesConfig.DisabledMetadataFetchers.Contains(TvdbSeriesProvider.Current.Name, StringComparer.OrdinalIgnoreCase))
{
hasNewEpisodes = await AddMissingEpisodes(group.ToList(), seriesDataPath, episodeLookup, cancellationToken)
.ConfigureAwait(false);
diff --git a/MediaBrowser.Providers/TV/TvdbEpisodeProvider.cs b/MediaBrowser.Providers/TV/TvdbEpisodeProvider.cs
index 0c9712caef..fd77b9b87b 100644
--- a/MediaBrowser.Providers/TV/TvdbEpisodeProvider.cs
+++ b/MediaBrowser.Providers/TV/TvdbEpisodeProvider.cs
@@ -253,8 +253,6 @@ namespace MediaBrowser.Providers.TV
private void FetchMainEpisodeInfo(Episode item, string xmlFile, CancellationToken cancellationToken)
{
- var status = ProviderRefreshStatus.Success;
-
using (var streamReader = new StreamReader(xmlFile, Encoding.UTF8))
{
if (!item.LockedFields.Contains(MetadataFields.Cast))
diff --git a/MediaBrowser.Providers/TV/TvdbPrescanTask.cs b/MediaBrowser.Providers/TV/TvdbPrescanTask.cs
index 4164a05baf..e24b72eff4 100644
--- a/MediaBrowser.Providers/TV/TvdbPrescanTask.cs
+++ b/MediaBrowser.Providers/TV/TvdbPrescanTask.cs
@@ -73,7 +73,9 @@ namespace MediaBrowser.Providers.TV
/// Task.
public async Task Run(IProgress progress, CancellationToken cancellationToken)
{
- if (!_config.Configuration.EnableInternetProviders)
+ var seriesConfig = _config.Configuration.MetadataOptions.FirstOrDefault(i => string.Equals(i.ItemType, typeof(Series).Name, StringComparison.OrdinalIgnoreCase));
+
+ if (seriesConfig != null && seriesConfig.DisabledMetadataFetchers.Contains(TvdbSeriesProvider.Current.Name, StringComparer.OrdinalIgnoreCase))
{
progress.Report(100);
return;