From af8effe4f0876d6fa934806745712f679bd36278 Mon Sep 17 00:00:00 2001 From: Sadie Powell Date: Tue, 24 Jan 2023 23:41:50 +0000 Subject: Replace getInt/getUInt/getFloat with type safe templated functions. --- src/modules/extra/m_argon2.cpp | 38 +++++++++++--------------------------- 1 file changed, 11 insertions(+), 27 deletions(-) (limited to 'src/modules/extra/m_argon2.cpp') diff --git a/src/modules/extra/m_argon2.cpp b/src/modules/extra/m_argon2.cpp index aec1b40d5..f2b3301a5 100644 --- a/src/modules/extra/m_argon2.cpp +++ b/src/modules/extra/m_argon2.cpp @@ -34,25 +34,6 @@ class ProviderConfig final { -private: - static Argon2_version SanitizeArgon2Version(unsigned long version) - { - // Note, 10 is 0x10, and 13 is 0x13. Referring to it as - // dec 10 or 13 in the config file, for the name to - // match better. - switch (version) - { - case 10: - return ARGON2_VERSION_10; - case 13: - return ARGON2_VERSION_13; - } - - ServerInstance->Logs.Warning(MODNAME, "Unknown Argon2 version ({}) specified; assuming 13", - version); - return ARGON2_VERSION_13; - } - public: uint32_t iterations; uint32_t lanes; @@ -72,25 +53,28 @@ public: const auto& tag = ServerInstance->Config->ConfValue(tagname); uint32_t def_iterations = def ? def->iterations : 3; - this->iterations = static_cast(tag->getUInt("iterations", def_iterations, 1, UINT32_MAX)); + this->iterations = tag->getNum("iterations", def_iterations, 1); uint32_t def_lanes = def ? def->lanes : 1; - this->lanes = static_cast(tag->getUInt("lanes", def_lanes, ARGON2_MIN_LANES, ARGON2_MAX_LANES)); + this->lanes = tag->getNum("lanes", def_lanes, ARGON2_MIN_LANES, ARGON2_MAX_LANES); uint32_t def_memory = def ? def->memory : 131072; // 128 MiB - this->memory = static_cast(tag->getUInt("memory", def_memory, ARGON2_MIN_MEMORY, ARGON2_MAX_MEMORY)); + this->memory = tag->getNum("memory", def_memory, ARGON2_MIN_MEMORY, ARGON2_MAX_MEMORY); uint32_t def_outlen = def ? def->outlen : 32; - this->outlen = static_cast(tag->getUInt("length", def_outlen, ARGON2_MIN_OUTLEN, ARGON2_MAX_OUTLEN)); + this->outlen = tag->getNum("length", def_outlen, ARGON2_MIN_OUTLEN, ARGON2_MAX_OUTLEN); uint32_t def_saltlen = def ? def->saltlen : 16; - this->saltlen = static_cast(tag->getUInt("saltlength", def_saltlen, ARGON2_MIN_SALT_LENGTH, ARGON2_MAX_SALT_LENGTH)); + this->saltlen = tag->getNum("saltlength", def_saltlen, ARGON2_MIN_SALT_LENGTH, ARGON2_MAX_SALT_LENGTH); uint32_t def_threads = def ? def->threads : 1; - this->threads = static_cast(tag->getUInt("threads", def_threads, ARGON2_MIN_THREADS, ARGON2_MAX_THREADS)); + this->threads = tag->getNum("threads", def_threads, ARGON2_MIN_THREADS, ARGON2_MAX_THREADS); - uint32_t def_version = def ? def->version : 13; - this->version = SanitizeArgon2Version(tag->getUInt("version", def_version)); + Argon2_version def_version = def ? def->version : ARGON2_VERSION_13; + this->version = tag->getEnum("version", def_version, { + { "10", ARGON2_VERSION_10 }, + { "13", ARGON2_VERSION_13 }, + }); } }; -- cgit v1.3.1-10-gc9f91