diff options
Diffstat (limited to 'MediaBrowser.Common.Implementations/Security')
| -rw-r--r-- | MediaBrowser.Common.Implementations/Security/MBRegistration.cs | 40 | ||||
| -rw-r--r-- | MediaBrowser.Common.Implementations/Security/PluginSecurityManager.cs | 28 |
2 files changed, 21 insertions, 47 deletions
diff --git a/MediaBrowser.Common.Implementations/Security/MBRegistration.cs b/MediaBrowser.Common.Implementations/Security/MBRegistration.cs index 1019ed8b9..1f9e63e68 100644 --- a/MediaBrowser.Common.Implementations/Security/MBRegistration.cs +++ b/MediaBrowser.Common.Implementations/Security/MBRegistration.cs @@ -1,10 +1,9 @@ -using MediaBrowser.Model.Entities; -using MediaBrowser.Common.Configuration; +using MediaBrowser.Common.Configuration; using MediaBrowser.Common.Net; +using MediaBrowser.Model.Entities; using MediaBrowser.Model.Serialization; using System; using System.Collections.Generic; -using System.Management; using System.Threading; using System.Threading.Tasks; @@ -17,6 +16,7 @@ namespace MediaBrowser.Common.Implementations.Security private const string MBValidateUrl = "http://mb3admin.com/admin/service/registration/validate"; private static IApplicationPaths _appPaths; + private static INetworkManager _networkManager; private static MBLicenseFile LicenseFile { @@ -35,16 +35,17 @@ namespace MediaBrowser.Common.Implementations.Security set { LicenseFile.LegacyKey = value; LicenseFile.Save(); } } - public static void Init(IApplicationPaths appPaths) + public static void Init(IApplicationPaths appPaths, INetworkManager networkManager) { // Ugly alert (static init) _appPaths = appPaths; + _networkManager = networkManager; } public static async Task<MBRegistrationRecord> GetRegistrationStatus(IHttpClient httpClient, IJsonSerializer jsonSerializer, string feature, string mb2Equivalent = null) { - var mac = GetMacAddress(); + var mac = _networkManager.GetMacAddress(); var data = new Dictionary<string, string> {{"feature", feature}, {"key",SupporterKey}, {"mac",mac}, {"mb2equiv",mb2Equivalent}, {"legacykey", LegacyKey} }; var reg = new RegRecord(); @@ -69,35 +70,6 @@ namespace MediaBrowser.Common.Implementations.Security return new MBRegistrationRecord {IsRegistered = reg.registered, ExpirationDate = reg.expDate, RegChecked = true}; } - - /// <summary> - /// Returns MAC Address from first Network Card in Computer - /// </summary> - /// <returns>[string] MAC Address</returns> - public static string GetMacAddress() - { - var mc = new ManagementClass("Win32_NetworkAdapterConfiguration"); - var moc = mc.GetInstances(); - var macAddress = String.Empty; - foreach (ManagementObject mo in moc) - { - if (macAddress == String.Empty) // only return MAC Address from first card - { - try - { - if ((bool)mo["IPEnabled"]) macAddress = mo["MacAddress"].ToString(); - } - catch - { - mo.Dispose(); - return ""; - } - } - mo.Dispose(); - } - - return macAddress.Replace(":", ""); - } } class RegRecord diff --git a/MediaBrowser.Common.Implementations/Security/PluginSecurityManager.cs b/MediaBrowser.Common.Implementations/Security/PluginSecurityManager.cs index 3abdeada4..19a1ed646 100644 --- a/MediaBrowser.Common.Implementations/Security/PluginSecurityManager.cs +++ b/MediaBrowser.Common.Implementations/Security/PluginSecurityManager.cs @@ -1,14 +1,13 @@ -using System.Collections.Generic; -using MediaBrowser.Common.Configuration; +using MediaBrowser.Common.Configuration; +using MediaBrowser.Common.Net; using MediaBrowser.Common.Security; -using MediaBrowser.Model.Serialization; -using MediaBrowser.Common.Implementations.Security; using MediaBrowser.Model.Entities; -using MediaBrowser.Common.Net; +using MediaBrowser.Model.Serialization; using System; +using System.Collections.Generic; +using System.Linq; using System.Threading; using System.Threading.Tasks; -using System.Linq; namespace MediaBrowser.Common.Implementations.Security { @@ -47,7 +46,9 @@ namespace MediaBrowser.Common.Implementations.Security private readonly IJsonSerializer _jsonSerializer; private readonly IApplicationHost _appHost; private readonly IApplicationPaths _applciationPaths; - private IEnumerable<IRequiresRegistration> _registeredEntities; + private readonly INetworkManager _networkManager; + + private IEnumerable<IRequiresRegistration> _registeredEntities; protected IEnumerable<IRequiresRegistration> RegisteredEntities { get @@ -59,7 +60,7 @@ namespace MediaBrowser.Common.Implementations.Security /// <summary> /// Initializes a new instance of the <see cref="PluginSecurityManager" /> class. /// </summary> - public PluginSecurityManager(IApplicationHost appHost, IHttpClient httpClient, IJsonSerializer jsonSerializer, IApplicationPaths appPaths) + public PluginSecurityManager(IApplicationHost appHost, IHttpClient httpClient, IJsonSerializer jsonSerializer, IApplicationPaths appPaths, INetworkManager networkManager) { if (httpClient == null) { @@ -67,6 +68,7 @@ namespace MediaBrowser.Common.Implementations.Security } _applciationPaths = appPaths; + _networkManager = networkManager; _appHost = appHost; _httpClient = httpClient; _jsonSerializer = jsonSerializer; @@ -95,7 +97,7 @@ namespace MediaBrowser.Common.Implementations.Security { // Do this on demend instead of in the constructor to delay the external assembly load // Todo: Refactor external methods to take app paths as a param - MBRegistration.Init(_applciationPaths); + MBRegistration.Init(_applciationPaths, _networkManager); return await MBRegistration.GetRegistrationStatus(_httpClient, _jsonSerializer, feature, mb2Equivalent).ConfigureAwait(false); } @@ -109,14 +111,14 @@ namespace MediaBrowser.Common.Implementations.Security { // Do this on demend instead of in the constructor to delay the external assembly load // Todo: Refactor external methods to take app paths as a param - MBRegistration.Init(_applciationPaths); + MBRegistration.Init(_applciationPaths, _networkManager); return MBRegistration.SupporterKey; } set { // Do this on demend instead of in the constructor to delay the external assembly load // Todo: Refactor external methods to take app paths as a param - MBRegistration.Init(_applciationPaths); + MBRegistration.Init(_applciationPaths, _networkManager); if (value != MBRegistration.SupporterKey) { MBRegistration.SupporterKey = value; @@ -136,14 +138,14 @@ namespace MediaBrowser.Common.Implementations.Security { // Do this on demend instead of in the constructor to delay the external assembly load // Todo: Refactor external methods to take app paths as a param - MBRegistration.Init(_applciationPaths); + MBRegistration.Init(_applciationPaths, _networkManager); return MBRegistration.LegacyKey; } set { // Do this on demend instead of in the constructor to delay the external assembly load // Todo: Refactor external methods to take app paths as a param - MBRegistration.Init(_applciationPaths); + MBRegistration.Init(_applciationPaths, _networkManager); if (value != MBRegistration.LegacyKey) { MBRegistration.LegacyKey = value; |
