aboutsummaryrefslogtreecommitdiff
path: root/VNLib.Plugins.Extensions.Loading/LoadingExtensions.cs
diff options
context:
space:
mode:
authorLibravatar vman <public@vaughnnugent.com>2022-12-09 13:54:16 -0500
committerLibravatar vman <public@vaughnnugent.com>2022-12-09 13:54:16 -0500
commit8b5f3eebb9f8d9bd55e922a809ffa3bd52e33401 (patch)
tree024fcdd2445b2fe37fc96d2870879d0f6aa5626f /VNLib.Plugins.Extensions.Loading/LoadingExtensions.cs
parentc9d9e6d23ad7b6fdf25f30de9b4a84be23885e16 (diff)
Sql essentials classes moved, secret loading updates
Diffstat (limited to 'VNLib.Plugins.Extensions.Loading/LoadingExtensions.cs')
-rw-r--r--VNLib.Plugins.Extensions.Loading/LoadingExtensions.cs16
1 files changed, 8 insertions, 8 deletions
diff --git a/VNLib.Plugins.Extensions.Loading/LoadingExtensions.cs b/VNLib.Plugins.Extensions.Loading/LoadingExtensions.cs
index bfe0de1..7c8caee 100644
--- a/VNLib.Plugins.Extensions.Loading/LoadingExtensions.cs
+++ b/VNLib.Plugins.Extensions.Loading/LoadingExtensions.cs
@@ -72,15 +72,15 @@ namespace VNLib.Plugins.Extensions.Loading
{
PasswordHashing Passwords;
//Get the global password system secret (pepper)
- string pepperEl = plugin.TryGetSecretAsync(PASSWORD_HASHING_KEY).Result ?? throw new KeyNotFoundException($"Missing required key '{PASSWORD_HASHING_KEY}' in secrets");
-
- byte[] pepper = Convert.FromBase64String(pepperEl);
-
- //wipe the pepper string
- Utils.Memory.Memory.UnsafeZeroMemory<char>(pepperEl);
+ using SecretResult pepperEl = plugin.TryGetSecretAsync(PASSWORD_HASHING_KEY).Result ?? throw new KeyNotFoundException($"Missing required key '{PASSWORD_HASHING_KEY}' in secrets");
+
+ byte[] pepper = pepperEl.GetFromBase64();
ERRNO cb(Span<byte> buffer)
{
+ //No longer valid peper if plugin is unloaded as its set to zero, so we need to protect it
+ plugin.ThrowIfUnloaded();
+
pepper.CopyTo(buffer);
return pepper.Length;
}
@@ -210,7 +210,7 @@ namespace VNLib.Plugins.Extensions.Loading
Task deferred = Task.Run(asyncTask);
//Add task to deferred list
- plugin.DeferredTasks.Add(deferred);
+ plugin.ObserveTask(deferred);
try
{
//Await the task results
@@ -224,7 +224,7 @@ namespace VNLib.Plugins.Extensions.Loading
finally
{
//Remove task when complete
- plugin.DeferredTasks.Remove(deferred);
+ plugin.RemoveObservedTask(deferred);
}
}
}