diff options
| author | 2023-01-15 21:11:43 +0000 | |
|---|---|---|
| committer | 2023-01-15 21:14:42 +0000 | |
| commit | 9109587ed29d2d7e22a6e1cc376e1bc65e5b5231 (patch) | |
| tree | 637edc145a1080ec4674b743753981a902264a1a /src/modules | |
| parent | Constify config fields in cloak_sha256. (diff) | |
Fix cloaking users with a non-IP hostname when using hmac-sha256-ip.
Diffstat (limited to 'src/modules')
| -rw-r--r-- | src/modules/m_cloak.cpp | 4 | ||||
| -rw-r--r-- | src/modules/m_cloak_sha256.cpp | 7 |
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 |
