diff options
author | danieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7> | 2009-09-13 20:30:25 +0000 |
---|---|---|
committer | danieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7> | 2009-09-13 20:30:25 +0000 |
commit | 6d57bbe05c31c79eaad02fe81cfb9c1ed6b79c58 (patch) | |
tree | e0c89ed36b00f4c2925d7f39c32a835657b0fa6e /src/modules/m_spanningtree/hmac.cpp | |
parent | 7eea21b8d43b0d5993e88b62d9d4894c2af49303 (diff) |
Change Extensible to use strongly typed entries
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11696 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/modules/m_spanningtree/hmac.cpp')
-rw-r--r-- | src/modules/m_spanningtree/hmac.cpp | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/src/modules/m_spanningtree/hmac.cpp b/src/modules/m_spanningtree/hmac.cpp index 332e47585..348a453a6 100644 --- a/src/modules/m_spanningtree/hmac.cpp +++ b/src/modules/m_spanningtree/hmac.cpp @@ -128,17 +128,22 @@ bool TreeSocket::ComparePass(const Link& link, const std::string &theirs) this->auth_fingerprint = !link.Fingerprint.empty(); this->auth_challenge = !ourchallenge.empty() && !theirchallenge.empty(); - const char* fp = NULL; + std::string fp; if (GetHook()) - fp = BufferedSocketFingerprintRequest(this, Utils->Creator, GetHook()).Send(); - - if (fp) - ServerInstance->Logs->Log("m_spanningtree", DEFAULT, std::string("Server SSL fingerprint ") + fp); + { + BufferedSocketCertificateRequest req(this, Utils->Creator, GetHook()); + req.Send(); + if (req.cert) + { + fp = req.cert->GetFingerprint(); + ServerInstance->Logs->Log("m_spanningtree", DEFAULT, std::string("Server SSL fingerprint ") + fp); + } + } if (auth_fingerprint) { /* Require fingerprint to exist and match */ - if (!fp || link.Fingerprint != std::string(fp)) + if (link.Fingerprint != fp) return false; } |