summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/modules/m_spanningtree/hmac.cpp17
-rw-r--r--src/modules/m_spanningtree/treesocket2.cpp18
2 files changed, 17 insertions, 18 deletions
diff --git a/src/modules/m_spanningtree/hmac.cpp b/src/modules/m_spanningtree/hmac.cpp
index 1aa2afddb..4b99a3eb7 100644
--- a/src/modules/m_spanningtree/hmac.cpp
+++ b/src/modules/m_spanningtree/hmac.cpp
@@ -128,3 +128,20 @@ std::string TreeSocket::RandString(unsigned int length)
return out;
}
+bool TreeSocket::ComparePass(const std::string &ours, const std::string &theirs)
+{
+ if ((!strncmp(ours.c_str(), "HMAC-SHA256:", 12)) || (!strncmp(theirs.c_str(), "HMAC-SHA256:", 12)))
+ {
+ /* One or both of us specified hmac sha256, but we don't have sha256 module loaded!
+ * We can't allow this password as valid.
+ */
+ if (!Instance->Modules->Find("m_sha256.so") || !Utils->ChallengeResponse)
+ return false;
+ else
+ /* Straight string compare of hashes */
+ return ours == theirs;
+ }
+ else
+ /* Straight string compare of plaintext */
+ return ours == theirs;
+}
diff --git a/src/modules/m_spanningtree/treesocket2.cpp b/src/modules/m_spanningtree/treesocket2.cpp
index 5673aae6a..7fbf9b4ad 100644
--- a/src/modules/m_spanningtree/treesocket2.cpp
+++ b/src/modules/m_spanningtree/treesocket2.cpp
@@ -119,24 +119,6 @@ bool TreeSocket::RemoteServer(const std::string &prefix, std::deque<std::string>
return true;
}
-bool TreeSocket::ComparePass(const std::string &ours, const std::string &theirs)
-{
- if ((!strncmp(ours.c_str(), "HMAC-SHA256:", 12)) || (!strncmp(theirs.c_str(), "HMAC-SHA256:", 12)))
- {
- /* One or both of us specified hmac sha256, but we don't have sha256 module loaded!
- * We can't allow this password as valid.
- */
- if (!Instance->Modules->Find("m_sha256.so") || !Utils->ChallengeResponse)
- return false;
- else
- /* Straight string compare of hashes */
- return ours == theirs;
- }
- else
- /* Straight string compare of plaintext */
- return ours == theirs;
-}
-
bool TreeSocket::Outbound_Reply_Server(std::deque<std::string> &params)
{
if (params.size() < 5)