diff options
author | vman <public@vaughnnugent.com> | 2022-12-09 13:54:16 -0500 |
---|---|---|
committer | vman <public@vaughnnugent.com> | 2022-12-09 13:54:16 -0500 |
commit | 8b5f3eebb9f8d9bd55e922a809ffa3bd52e33401 (patch) | |
tree | 024fcdd2445b2fe37fc96d2870879d0f6aa5626f /VNLib.Plugins.Extensions.Loading/LoadingExtensions.cs | |
parent | c9d9e6d23ad7b6fdf25f30de9b4a84be23885e16 (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.cs | 16 |
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); } } } |