aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Sadie Powell2024-02-25 22:26:22 +0000
committerGravatar Sadie Powell2024-02-25 22:26:22 +0000
commit8bfb92a86e16a3155964404cd8d331b3b60b336d (patch)
treec324e2f3780c513a34c2ee20ddb79254162ee4bb /src
parentRework SQL::PopulateUserInfo. (diff)
parentFix erroneously sending RPL_CHANNELSMSG when a whois chanlist is blocked. (diff)
Merge branch 'insp3' into master.
Diffstat (limited to 'src')
-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);
}