aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Sadie Powell2023-01-15 21:11:43 +0000
committerGravatar Sadie Powell2023-01-15 21:14:42 +0000
commit9109587ed29d2d7e22a6e1cc376e1bc65e5b5231 (patch)
tree637edc145a1080ec4674b743753981a902264a1a
parentConstify config fields in cloak_sha256. (diff)
Fix cloaking users with a non-IP hostname when using hmac-sha256-ip.
-rw-r--r--src/modules/m_cloak.cpp4
-rw-r--r--src/modules/m_cloak_sha256.cpp7
2 files changed, 6 insertions, 5 deletions
diff --git a/src/modules/m_cloak.cpp b/src/modules/m_cloak.cpp
index 670c02f82..69907498d 100644
--- a/src/modules/m_cloak.cpp
+++ b/src/modules/m_cloak.cpp
@@ -136,6 +136,10 @@ public:
const std::string cloak = cloakmethod->Generate(user);
if (!cloak.empty())
cloaks->push_back(cloak);
+
+ ServerInstance->Logs.Debug(MODNAME, "Cloaked %s (%s/%s) as %s using the %s method.",
+ user->uuid.c_str(), user->GetIPString().c_str(), user->GetRealHost().c_str(),
+ cloak.c_str(), cloakmethod->GetName());
}
ext.Set(user, cloaks);
}
diff --git a/src/modules/m_cloak_sha256.cpp b/src/modules/m_cloak_sha256.cpp
index 65c210843..e60e89521 100644
--- a/src/modules/m_cloak_sha256.cpp
+++ b/src/modules/m_cloak_sha256.cpp
@@ -214,13 +214,10 @@ public:
return {};
irc::sockets::sockaddrs sa(false);
- if (sa.from(user->GetRealHost()) && sa.addr() == user->client_sa.addr())
+ if (!cloakhost || (sa.from(user->GetRealHost()) && sa.addr() == user->client_sa.addr()))
return CloakAddress(user->client_sa);
- if (cloakhost)
- return CloakHost(user->GetRealHost(), '.');
-
- return {}; // Only reachable on hmac-sha256-ip.
+ return CloakHost(user->GetRealHost(), '.');
}
std::string Generate(const std::string& hostip) override