summaryrefslogtreecommitdiff
path: root/src/modules/m_sqlauth.cpp
diff options
context:
space:
mode:
authorPeter Powell <petpow@saberuk.com>2018-11-26 15:15:18 +0000
committerPeter Powell <petpow@saberuk.com>2018-12-01 23:48:33 +0000
commitec6955f28ba9423828ac24ef83caee09ffa6b52c (patch)
tree5160c97069498ba1a11732f21398380a7be008f4 /src/modules/m_sqlauth.cpp
parent95749975408a985d6a6a9ff53bbf3592c90b8649 (diff)
Fix detecting secure clients connecting through HAProxy/WEBIRC.
Diffstat (limited to 'src/modules/m_sqlauth.cpp')
-rw-r--r--src/modules/m_sqlauth.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/modules/m_sqlauth.cpp b/src/modules/m_sqlauth.cpp
index 5c3c5a84e..d2466f719 100644
--- a/src/modules/m_sqlauth.cpp
+++ b/src/modules/m_sqlauth.cpp
@@ -116,6 +116,7 @@ class ModuleSQLAuth : public Module
{
LocalIntExt pendingExt;
dynamic_reference<SQL::Provider> SQL;
+ UserCertificateAPI sslapi;
std::string freeformquery;
std::string killreason;
@@ -129,6 +130,7 @@ class ModuleSQLAuth : public Module
ModuleSQLAuth()
: pendingExt("sqlauth-wait", ExtensionItem::EXT_USER, this)
, SQL(this, "SQL")
+ , sslapi(this)
{
}
@@ -179,6 +181,7 @@ class ModuleSQLAuth : public Module
SQL::ParamMap userinfo;
SQL::PopulateUserInfo(user, userinfo);
userinfo["pass"] = user->password;
+ userinfo["certfp"] = sslapi ? sslapi->GetFingerprint(user) : "";
for (std::vector<std::string>::const_iterator it = hash_algos.begin(); it != hash_algos.end(); ++it)
{
@@ -187,9 +190,6 @@ class ModuleSQLAuth : public Module
userinfo[*it + "pass"] = hashprov->Generate(user->password);
}
- const std::string certfp = SSLClientCert::GetFingerprint(&user->eh);
- userinfo["certfp"] = certfp;
-
SQL->Submit(new AuthQuery(this, user->uuid, pendingExt, verbose, kdf, pwcolumn), freeformquery, userinfo);
return MOD_RES_PASSTHRU;