Smaller bug fixes

This commit is contained in:
erri120 2020-07-14 14:44:07 +02:00
parent ce47387e93
commit 0363f0419a
No known key found for this signature in database
GPG Key ID: A8C0A18D8D4D3135
3 changed files with 33 additions and 51 deletions

View File

@ -19,12 +19,12 @@ namespace Wabbajack.Lib
private static bool CheckBuildServer() private static bool CheckBuildServer()
{ {
var client = new Wabbajack.Lib.Http.Client(); var client = new Http.Client();
try try
{ {
var result = client.GetAsync($"{Consts.WabbajackBuildServerUri}heartbeat").Result; var result = client.GetAsync($"{Consts.WabbajackBuildServerUri}heartbeat").Result;
_isBuildServerDown = result.StatusCode != HttpStatusCode.OK; _isBuildServerDown = result.StatusCode != HttpStatusCode.OK && result.StatusCode != HttpStatusCode.InternalServerError;
} }
catch (Exception) catch (Exception)
{ {

View File

@ -40,7 +40,6 @@ namespace Wabbajack.Lib.FileUploader
{ {
var client = await GetAuthorizedClient(); var client = await GetAuthorizedClient();
return await client.GetStringAsync($"{Consts.WabbajackBuildServerUri}jobs/enqueue_job/{jobtype}"); return await client.GetStringAsync($"{Consts.WabbajackBuildServerUri}jobs/enqueue_job/{jobtype}");
} }
public static async Task<string> UpdateNexusCache() public static async Task<string> UpdateNexusCache()

View File

@ -1,14 +1,7 @@
using System; using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Security.Cryptography;
using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.Win32; using Microsoft.Win32;
using Wabbajack.Common; using Wabbajack.Common;
using Wabbajack.Common.Exceptions;
namespace Wabbajack.Lib namespace Wabbajack.Lib
{ {
@ -17,7 +10,7 @@ namespace Wabbajack.Lib
public const string Downloading = "downloading"; public const string Downloading = "downloading";
public const string BeginInstall = "begin_install"; public const string BeginInstall = "begin_install";
public const string FinishInstall = "finish_install"; public const string FinishInstall = "finish_install";
private static AsyncLock _creationLock = new AsyncLock(); private static readonly AsyncLock _creationLock = new AsyncLock();
public static async ValueTask<string> GetMetricsKey() public static async ValueTask<string> GetMetricsKey()
{ {
@ -29,53 +22,43 @@ namespace Wabbajack.Lib
// When there's no file or regkey // When there's no file or regkey
var key = Utils.MakeRandomKey(); var key = Utils.MakeRandomKey();
await key.ToEcryptedJson(Consts.MetricsKeyHeader); await key.ToEcryptedJson(Consts.MetricsKeyHeader);
using (RegistryKey regKey = Registry.CurrentUser.CreateSubKey(@"Software\Wabbajack", RegistryKeyPermissionCheck.Default)!) using RegistryKey regKey = Registry.CurrentUser.CreateSubKey(@"Software\Wabbajack", RegistryKeyPermissionCheck.Default)!;
{ regKey.SetValue("x-metrics-key", key);
regKey.SetValue("x-metrics-key", key);
}
return key; return key;
} }
else
// If there is no file but a registry key, create the file and transfer the data from the registry key
using (RegistryKey regKey = Registry.CurrentUser.OpenSubKey(@"Software\Wabbajack", RegistryKeyPermissionCheck.Default)!)
{ {
// If there is no file but a registry key, create the file and transfer the data from the registry key string key = (string)regKey.GetValue(Consts.MetricsKeyHeader)!;
using (RegistryKey regKey = Registry.CurrentUser.OpenSubKey(@"Software\Wabbajack", RegistryKeyPermissionCheck.Default)!) await key.ToEcryptedJson(Consts.MetricsKeyHeader);
{ return key;
string key = (string)regKey.GetValue(Consts.MetricsKeyHeader)!;
await key.ToEcryptedJson(Consts.MetricsKeyHeader);
return key;
}
} }
} }
else
{
if (Utils.HaveRegKeyMetricsKey())
{
// When there's a file and a regkey
using (RegistryKey regKey = Registry.CurrentUser.OpenSubKey(@"Software\Wabbajack", RegistryKeyPermissionCheck.Default)!)
{
return (string)regKey.GetValue(Consts.MetricsKeyHeader)!;
}
}
else
{
// If there's a regkey and a file, return regkey
using (RegistryKey regKey = Registry.CurrentUser.CreateSubKey(@"Software\Wabbajack", RegistryKeyPermissionCheck.Default)!)
{
try
{
string key = await Utils.FromEncryptedJson<string>(Consts.MetricsKeyHeader)!;
regKey.SetValue("x-metrics-key", key);
return key;
}
catch (Exception)
{
// Probably an encryption error
await Utils.DeleteEncryptedJson(Consts.MetricsKeyHeader);
return await GetMetricsKey();
}
} if (Utils.HaveRegKeyMetricsKey())
{
// When there's a file and a regkey
using RegistryKey regKey = Registry.CurrentUser.OpenSubKey(@"Software\Wabbajack", RegistryKeyPermissionCheck.Default)!;
return (string)regKey.GetValue(Consts.MetricsKeyHeader)!;
}
// If there's a regkey and a file, return regkey
using (RegistryKey regKey = Registry.CurrentUser.CreateSubKey(@"Software\Wabbajack", RegistryKeyPermissionCheck.Default)!)
{
try
{
string key = await Utils.FromEncryptedJson<string>(Consts.MetricsKeyHeader)!;
regKey.SetValue("x-metrics-key", key);
return key;
} }
catch (Exception)
{
// Probably an encryption error
await Utils.DeleteEncryptedJson(Consts.MetricsKeyHeader);
return await GetMetricsKey();
}
} }
} }
/// <summary> /// <summary>