aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Sadie Powell2023-05-02 13:33:31 +0100
committerGravatar Sadie Powell2023-05-02 13:33:31 +0100
commitaae97bda3ea3452e8a6a3da82d3cfdf0adb8e038 (patch)
treedc886c69e55910975f07766d49a6c550778328f6 /src
parentIPv6 addresses should be partially expanded with '0' not 0x0. (diff)
Add <cloak:class> to limit cloaks to a specific connect class.
Diffstat (limited to 'src')
-rw-r--r--src/modules/m_cloak_md5.cpp4
-rw-r--r--src/modules/m_cloak_sha256.cpp4
2 files changed, 4 insertions, 4 deletions
diff --git a/src/modules/m_cloak_md5.cpp b/src/modules/m_cloak_md5.cpp
index abbdfa4db..f09a651b4 100644
--- a/src/modules/m_cloak_md5.cpp
+++ b/src/modules/m_cloak_md5.cpp
@@ -75,7 +75,7 @@ struct CloakInfo final
std::string suffix;
CloakInfo(const Cloak::Engine* engine, const std::shared_ptr<ConfigTag>& tag, CloakMode Mode, const std::string& Key)
- : Cloak::Method(engine)
+ : Cloak::Method(engine, tag)
, mode(Mode)
, domainparts(tag->getNum<unsigned int>("domainparts", 3, 1, 10))
, ignorecase(tag->getBool("ignorecase"))
@@ -253,7 +253,7 @@ struct CloakInfo final
std::string Generate(LocalUser* user) override ATTR_NOT_NULL(2)
{
- if (!md5 || !user->client_sa.is_ip())
+ if (!md5 || !user->client_sa.is_ip() || !MatchesUser(user))
return {};
return GenCloak(user->client_sa, user->GetAddress(), user->GetRealHost());
diff --git a/src/modules/m_cloak_sha256.cpp b/src/modules/m_cloak_sha256.cpp
index 97038a569..a269048da 100644
--- a/src/modules/m_cloak_sha256.cpp
+++ b/src/modules/m_cloak_sha256.cpp
@@ -186,7 +186,7 @@ private:
public:
SHA256Method(const Cloak::Engine* engine, const std::shared_ptr<ConfigTag>& tag, const std::string& k, psl_ctx_t* p, bool ch) ATTR_NOT_NULL(2)
- : Cloak::Method(engine)
+ : Cloak::Method(engine, tag)
, cloakhost(ch)
, hostparts(tag->getNum<unsigned long>("hostparts", 3, 0, ServerInstance->Config->Limits.MaxHost / 2))
, key(k)
@@ -214,7 +214,7 @@ public:
std::string Generate(LocalUser* user) override ATTR_NOT_NULL(2)
{
- if (!sha256)
+ if (!sha256 || !MatchesUser(user))
return {};
irc::sockets::sockaddrs sa(false);