From 2f1a9a8048c60ecaab4a42614877cfc59e3ae1da Mon Sep 17 00:00:00 2001 From: Sadie Powell Date: Fri, 13 Jan 2023 22:54:06 +0000 Subject: Use Wrap() for wrapping a host cloak in cloak_sha256. --- src/modules/m_cloak_sha256.cpp | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) (limited to 'src/modules/m_cloak_sha256.cpp') diff --git a/src/modules/m_cloak_sha256.cpp b/src/modules/m_cloak_sha256.cpp index a8ad87a5e..304979724 100644 --- a/src/modules/m_cloak_sha256.cpp +++ b/src/modules/m_cloak_sha256.cpp @@ -85,7 +85,7 @@ private: const std::string beta = Hash(InspIRCd::Format("%u.%u.%u", a, b, c)); const std::string gamma = Hash(InspIRCd::Format("%u.%u", a, b)); - return Wrap(InspIRCd::Format("%s.%s.%s", alpha.c_str(), beta.c_str(), gamma.c_str()), '.'); + return Wrap(InspIRCd::Format("%s.%s.%s", alpha.c_str(), beta.c_str(), gamma.c_str()), suffix, '.'); } std::string CloakIPv6(const unsigned char* address) @@ -109,7 +109,7 @@ private: const std::string beta = Hash(InspIRCd::Format("%x:%x:%x:%x:%x:%x:%x", a, b, c, d, e, f, g)); const std::string gamma = Hash(InspIRCd::Format("%x:%x:%x:%x", a, b, c, d)); - return Wrap(InspIRCd::Format("%s:%s:%s", alpha.c_str(), beta.c_str(), gamma.c_str()), ':'); + return Wrap(InspIRCd::Format("%s:%s:%s", alpha.c_str(), beta.c_str(), gamma.c_str()), suffix, ':'); } std::string CloakHost(const std::string& host, char separator) @@ -118,14 +118,8 @@ private: std::string lowerhost(host.length(), '\0'); std::transform(host.begin(), host.end(), lowerhost.begin(), ::tolower); - std::string cloak; - cloak.append(prefix).append(1, separator).append(Hash(lowerhost)); - const std::string visiblepart = Cloak::VisiblePart(host, hostparts, separator); - if (!visiblepart.empty()) - cloak.append(1, separator).append(visiblepart); - - return cloak; + return Wrap(Hash(lowerhost), visiblepart, separator); } std::string Hash(const std::string& str) @@ -136,14 +130,14 @@ private: return out; } - std::string Wrap(const std::string& cloak, char separator) + std::string Wrap(const std::string& cloak, const std::string& cloaksuffix, char separator) { std::string fullcloak; if (!prefix.empty()) fullcloak.append(prefix).append(1, separator); fullcloak.append(cloak); - if (!suffix.empty()) - fullcloak.append(1, separator).append(suffix); + if (!cloaksuffix.empty()) + fullcloak.append(1, separator).append(cloaksuffix); return fullcloak; } -- cgit v1.3.1-10-gc9f91