mirror of
https://github.com/bitwarden/server
synced 2026-01-28 15:23:38 +00:00
comment(register): [PM-27084] Account Register Uses New Data Types - Fixed error in register finish model validation.
This commit is contained in:
@@ -199,7 +199,7 @@ public class RegisterFinishRequestModel : IValidatableObject
|
||||
IEnumerable<ValidationResult> kdfValidationResults;
|
||||
if (MasterPasswordUnlock != null && MasterPasswordAuthentication != null)
|
||||
{
|
||||
kdfValidationResults = KdfSettingsValidator.Validate(MasterPasswordUnlock?.ToData() ?? throw new InvalidOperationException("Error Here"));
|
||||
kdfValidationResults = KdfSettingsValidator.Validate(MasterPasswordUnlock.ToData().Kdf);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -37,33 +37,6 @@ public static class KdfSettingsValidator
|
||||
}
|
||||
}
|
||||
|
||||
public static IEnumerable<ValidationResult> Validate(MasterPasswordUnlockData masterPasswordUnlockData)
|
||||
{
|
||||
switch (masterPasswordUnlockData.Kdf.KdfType)
|
||||
{
|
||||
case KdfType.PBKDF2_SHA256:
|
||||
if (!AuthConstants.PBKDF2_ITERATIONS.InsideRange(masterPasswordUnlockData.Kdf.Iterations))
|
||||
{
|
||||
yield return new ValidationResult($"KDF iterations must be between {AuthConstants.PBKDF2_ITERATIONS.Min} and {AuthConstants.PBKDF2_ITERATIONS.Max}.");
|
||||
}
|
||||
break;
|
||||
case KdfType.Argon2id:
|
||||
if (!AuthConstants.ARGON2_ITERATIONS.InsideRange(masterPasswordUnlockData.Kdf.Iterations))
|
||||
{
|
||||
yield return new ValidationResult($"Argon2 iterations must be between {AuthConstants.ARGON2_ITERATIONS.Min} and {AuthConstants.ARGON2_ITERATIONS.Max}.");
|
||||
}
|
||||
else if (!masterPasswordUnlockData.Kdf.Memory.HasValue || !AuthConstants.ARGON2_MEMORY.InsideRange(masterPasswordUnlockData.Kdf.Memory.Value))
|
||||
{
|
||||
yield return new ValidationResult($"Argon2 memory must be between {AuthConstants.ARGON2_MEMORY.Min}mb and {AuthConstants.ARGON2_MEMORY.Max}mb.");
|
||||
}
|
||||
else if (!masterPasswordUnlockData.Kdf.Parallelism.HasValue || !AuthConstants.ARGON2_PARALLELISM.InsideRange(masterPasswordUnlockData.Kdf.Parallelism.Value))
|
||||
{
|
||||
yield return new ValidationResult($"Argon2 parallelism must be between {AuthConstants.ARGON2_PARALLELISM.Min} and {AuthConstants.ARGON2_PARALLELISM.Max}.");
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public static IEnumerable<ValidationResult> Validate(KdfSettings settings)
|
||||
{
|
||||
return Validate(settings.KdfType, settings.Iterations, settings.Memory, settings.Parallelism);
|
||||
|
||||
Reference in New Issue
Block a user