From 6e25c572faa463459348015479935fcc6f3b55b0 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Sat, 30 Aug 2014 22:08:59 -0400 Subject: removed dead code --- .../Security/PluginSecurityManager.cs | 106 ++++++++++++++++----- 1 file changed, 80 insertions(+), 26 deletions(-) (limited to 'MediaBrowser.Common.Implementations/Security/PluginSecurityManager.cs') diff --git a/MediaBrowser.Common.Implementations/Security/PluginSecurityManager.cs b/MediaBrowser.Common.Implementations/Security/PluginSecurityManager.cs index d0b108c7d..b464baffc 100644 --- a/MediaBrowser.Common.Implementations/Security/PluginSecurityManager.cs +++ b/MediaBrowser.Common.Implementations/Security/PluginSecurityManager.cs @@ -17,6 +17,8 @@ namespace MediaBrowser.Common.Implementations.Security /// public class PluginSecurityManager : ISecurityManager { + private const string MBValidateUrl = Constants.Constants.MbAdminUrl + "service/registration/validate"; + /// /// The _is MB supporter /// @@ -38,16 +40,23 @@ namespace MediaBrowser.Common.Implementations.Security { get { - LazyInitializer.EnsureInitialized(ref _isMbSupporter, ref _isMbSupporterInitialized, ref _isMbSupporterSyncLock, () => GetRegistrationStatus("MBSupporter", null, _appHost.ApplicationVersion.ToString()).Result.IsRegistered); + LazyInitializer.EnsureInitialized(ref _isMbSupporter, ref _isMbSupporterInitialized, ref _isMbSupporterSyncLock, () => GetSupporterRegistrationStatus().Result.IsRegistered); return _isMbSupporter.Value; } } + private MBLicenseFile _licenseFile; + private MBLicenseFile LicenseFile + { + get { return _licenseFile ?? (_licenseFile = new MBLicenseFile(_appPaths)); } + } + private readonly IHttpClient _httpClient; private readonly IJsonSerializer _jsonSerializer; private readonly IApplicationHost _appHost; - private readonly IApplicationPaths _applciationPaths; + private readonly ILogger _logger; private readonly INetworkManager _networkManager; + private readonly IApplicationPaths _appPaths; private IEnumerable _registeredEntities; protected IEnumerable RegisteredEntities @@ -69,12 +78,12 @@ namespace MediaBrowser.Common.Implementations.Security throw new ArgumentNullException("httpClient"); } - _applciationPaths = appPaths; - _networkManager = networkManager; _appHost = appHost; _httpClient = httpClient; _jsonSerializer = jsonSerializer; - MBRegistration.Init(_applciationPaths, _networkManager, logManager, _appHost); + _networkManager = networkManager; + _appPaths = appPaths; + _logger = logManager.GetLogger("SecurityManager"); } /// @@ -97,9 +106,9 @@ namespace MediaBrowser.Common.Implementations.Security /// The feature. /// The MB2 equivalent. /// Task{MBRegistrationRecord}. - public async Task GetRegistrationStatus(string feature, string mb2Equivalent = null) + public Task GetRegistrationStatus(string feature, string mb2Equivalent = null) { - return await MBRegistration.GetRegistrationStatus(_httpClient, _jsonSerializer, feature, mb2Equivalent).ConfigureAwait(false); + return GetRegistrationStatusInternal(feature, mb2Equivalent); } /// @@ -109,9 +118,14 @@ namespace MediaBrowser.Common.Implementations.Security /// The MB2 equivalent. /// The version of this feature /// Task{MBRegistrationRecord}. - public async Task GetRegistrationStatus(string feature, string mb2Equivalent, string version) + public Task GetRegistrationStatus(string feature, string mb2Equivalent, string version) + { + return GetRegistrationStatusInternal(feature, mb2Equivalent, version); + } + + public Task GetSupporterRegistrationStatus() { - return await MBRegistration.GetRegistrationStatus(_httpClient, _jsonSerializer, feature, mb2Equivalent, version).ConfigureAwait(false); + return GetRegistrationStatusInternal("MBSupporter", null, _appHost.ApplicationVersion.ToString()); } /// @@ -122,40 +136,80 @@ namespace MediaBrowser.Common.Implementations.Security { get { - return MBRegistration.SupporterKey; + return LicenseFile.RegKey; } set { - if (value != MBRegistration.SupporterKey) + if (value != LicenseFile.RegKey) { - MBRegistration.SupporterKey = value; + LicenseFile.RegKey = value; + LicenseFile.Save(); + // re-load registration info Task.Run(() => LoadAllRegistrationInfo()); } } } - /// - /// Gets or sets the legacy key. - /// - /// The legacy key. - public string LegacyKey + private async Task GetRegistrationStatusInternal(string feature, + string mb2Equivalent = null, + string version = null) { - get + //check the reg file first to alleviate strain on the MB admin server - must actually check in every 30 days tho + var reg = new RegRecord { - return MBRegistration.LegacyKey; - } - set + registered = LicenseFile.LastChecked(feature) > DateTime.UtcNow.AddDays(-15) + }; + + var success = reg.registered; + + if (!reg.registered) { - if (value != MBRegistration.LegacyKey) + var mac = _networkManager.GetMacAddress(); + var data = new Dictionary { - MBRegistration.LegacyKey = value; - // re-load registration info - Task.Run(() => LoadAllRegistrationInfo()); + { "feature", feature }, + { "key", SupporterKey }, + { "mac", mac }, + { "mb2equiv", mb2Equivalent }, + { "ver", version }, + { "platform", Environment.OSVersion.VersionString }, + { "isservice", _appHost.IsRunningAsService.ToString().ToLower() } + }; + + try + { + using (var json = await _httpClient.Post(MBValidateUrl, data, CancellationToken.None).ConfigureAwait(false)) + { + reg = _jsonSerializer.DeserializeFromStream(json); + success = true; + } + + if (reg.registered) + { + LicenseFile.AddRegCheck(feature); + } + else + { + LicenseFile.RemoveRegCheck(feature); + } + + } + catch (Exception e) + { + _logger.ErrorException("Error checking registration status of {0}", e, feature); } } - } + return new MBRegistrationRecord + { + IsRegistered = reg.registered, + ExpirationDate = reg.expDate, + RegChecked = true, + RegError = !success + }; + } + /// /// Resets the supporter info. /// -- cgit v1.2.3