diff options
| author | 2024-02-25 22:26:22 +0000 | |
|---|---|---|
| committer | 2024-02-25 22:26:22 +0000 | |
| commit | 8bfb92a86e16a3155964404cd8d331b3b60b336d (patch) | |
| tree | c324e2f3780c513a34c2ee20ddb79254162ee4bb /src | |
| parent | Rework SQL::PopulateUserInfo. (diff) | |
| parent | Fix 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.cpp | 2 | ||||
| -rw-r--r-- | src/modules/m_spanningtree/hmac.cpp | 2 | ||||
| -rw-r--r-- | src/modules/m_spanningtree/utils.cpp | 2 |
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); } |
