aboutsummaryrefslogtreecommitdiffstats
path: root/src/modules
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules')
-rw-r--r--src/modules/m_hidechans.cpp2
-rw-r--r--src/modules/m_spanningtree/hmac.cpp2
-rw-r--r--src/modules/m_spanningtree/utils.cpp2
3 files changed, 4 insertions, 2 deletions
diff --git a/src/modules/m_hidechans.cpp b/src/modules/m_hidechans.cpp
index 5a7058373..035de4791 100644
--- a/src/modules/m_hidechans.cpp
+++ b/src/modules/m_hidechans.cpp
@@ -82,7 +82,7 @@ public:
ModResult OnWhoisLine(Whois::Context& whois, Numeric::Numeric& numeric) override
{
- if (numeric.GetNumeric() != RPL_WHOISCHANNELS)
+ if (numeric.GetNumeric() != RPL_WHOISCHANNELS && numeric.GetNumeric() != RPL_CHANNELSMSG)
return MOD_RES_PASSTHRU;
return ShouldHideChans(whois.GetSource(), whois.GetTarget());
diff --git a/src/modules/m_spanningtree/hmac.cpp b/src/modules/m_spanningtree/hmac.cpp
index ce4e02e5c..c3a7e92b3 100644
--- a/src/modules/m_spanningtree/hmac.cpp
+++ b/src/modules/m_spanningtree/hmac.cpp
@@ -77,7 +77,7 @@ bool TreeSocket::ComparePass(const Link& link, const std::string& theirs)
if (capab->auth_fingerprint)
{
/* Require fingerprint to exist and match */
- if (link.Fingerprint != fp)
+ if (!InspIRCd::TimingSafeCompare(link.Fingerprint, fp))
{
ServerInstance->SNO.WriteToSnoMask('l', "Invalid TLS certificate fingerprint on link {}: need \"{}\" got \"{}\"",
link.Name, link.Fingerprint, fp);
diff --git a/src/modules/m_spanningtree/utils.cpp b/src/modules/m_spanningtree/utils.cpp
index 9f6565e34..c19fe32b0 100644
--- a/src/modules/m_spanningtree/utils.cpp
+++ b/src/modules/m_spanningtree/utils.cpp
@@ -321,7 +321,9 @@ void SpanningTreeUtilities::ReadConfiguration()
if (!L->Port && L->IPAddr.find('/') == std::string::npos)
ServerInstance->Logs.Warning(MODNAME, "Configuration warning: Link block '" + L->Name + "' has no port defined, you will not be able to /connect it.");
+ std::transform(L->Fingerprint.begin(), L->Fingerprint.end(), L->Fingerprint.begin(), ::tolower);
L->Fingerprint.erase(std::remove(L->Fingerprint.begin(), L->Fingerprint.end(), ':'), L->Fingerprint.end());
+
LinkBlocks.push_back(L);
}