From 41cabc7bd37eadf2752b50a6b5090af5dcf10035 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Sat, 6 Sep 2014 13:46:09 -0400 Subject: add system id to remote calls --- .../BaseApplicationHost.cs | 15 +++++++++++++++ .../Security/PluginSecurityManager.cs | 1 + .../Security/UsageReporter.cs | 9 ++++++++- .../Updates/InstallationManager.cs | 7 ++++++- 4 files changed, 30 insertions(+), 2 deletions(-) (limited to 'MediaBrowser.Common.Implementations') diff --git a/MediaBrowser.Common.Implementations/BaseApplicationHost.cs b/MediaBrowser.Common.Implementations/BaseApplicationHost.cs index 80f017f52b..011dd76ee6 100644 --- a/MediaBrowser.Common.Implementations/BaseApplicationHost.cs +++ b/MediaBrowser.Common.Implementations/BaseApplicationHost.cs @@ -1,6 +1,7 @@ using MediaBrowser.Common.Configuration; using MediaBrowser.Common.Events; using MediaBrowser.Common.Implementations.Archiving; +using MediaBrowser.Common.Implementations.Devices; using MediaBrowser.Common.Implementations.IO; using MediaBrowser.Common.Implementations.ScheduledTasks; using MediaBrowser.Common.Implementations.Security; @@ -178,6 +179,20 @@ namespace MediaBrowser.Common.Implementations /// true if this instance is running as service; otherwise, false. public abstract bool IsRunningAsService { get; } + private DeviceId _deviceId; + public string SystemId + { + get + { + if (_deviceId == null) + { + _deviceId = new DeviceId(ApplicationPaths, LogManager.GetLogger("SystemId")); + } + + return _deviceId.Value; + } + } + /// /// Initializes a new instance of the class. /// diff --git a/MediaBrowser.Common.Implementations/Security/PluginSecurityManager.cs b/MediaBrowser.Common.Implementations/Security/PluginSecurityManager.cs index f8d1f80b1d..6e4b57076c 100644 --- a/MediaBrowser.Common.Implementations/Security/PluginSecurityManager.cs +++ b/MediaBrowser.Common.Implementations/Security/PluginSecurityManager.cs @@ -203,6 +203,7 @@ namespace MediaBrowser.Common.Implementations.Security { "feature", feature }, { "key", SupporterKey }, { "mac", mac }, + { "systemid", _appHost.SystemId }, { "mb2equiv", mb2Equivalent }, { "ver", version }, { "platform", Environment.OSVersion.VersionString }, diff --git a/MediaBrowser.Common.Implementations/Security/UsageReporter.cs b/MediaBrowser.Common.Implementations/Security/UsageReporter.cs index 89ca0a0e47..a06351be2c 100644 --- a/MediaBrowser.Common.Implementations/Security/UsageReporter.cs +++ b/MediaBrowser.Common.Implementations/Security/UsageReporter.cs @@ -30,6 +30,7 @@ namespace MediaBrowser.Common.Implementations.Security { { "feature", _applicationHost.Name }, { "mac", mac }, + { "systemid", _applicationHost.SystemId }, { "ver", _applicationHost.ApplicationVersion.ToString() }, { "platform", Environment.OSVersion.VersionString }, { "isservice", _applicationHost.IsRunningAsService.ToString().ToLower()} @@ -40,12 +41,18 @@ namespace MediaBrowser.Common.Implementations.Security public Task ReportAppUsage(ClientInfo app, CancellationToken cancellationToken) { + if (string.IsNullOrWhiteSpace(app.DeviceId)) + { + throw new ArgumentException("Client info must have a device Id"); + } + cancellationToken.ThrowIfCancellationRequested(); var data = new Dictionary { { "feature", app.AppName ?? "Unknown App" }, - { "mac", app.DeviceId ?? _networkManager.GetMacAddress() }, + { "systemid", _applicationHost.SystemId }, + { "mac", app.DeviceId }, { "ver", app.AppVersion ?? "Unknown" }, { "platform", app.DeviceName }, }; diff --git a/MediaBrowser.Common.Implementations/Updates/InstallationManager.cs b/MediaBrowser.Common.Implementations/Updates/InstallationManager.cs index e4c88e6568..fb0c9914f7 100644 --- a/MediaBrowser.Common.Implementations/Updates/InstallationManager.cs +++ b/MediaBrowser.Common.Implementations/Updates/InstallationManager.cs @@ -154,7 +154,12 @@ namespace MediaBrowser.Common.Implementations.Updates PackageType? packageType = null, Version applicationVersion = null) { - var data = new Dictionary { { "key", _securityManager.SupporterKey }, { "mac", _networkManager.GetMacAddress() } }; + var data = new Dictionary + { + { "key", _securityManager.SupporterKey }, + { "mac", _networkManager.GetMacAddress() }, + { "systemid", _applicationHost.SystemId } + }; using (var json = await _httpClient.Post(Constants.Constants.MbAdminUrl + "service/package/retrieveall", data, cancellationToken).ConfigureAwait(false)) { -- cgit v1.2.3