diff options
Diffstat (limited to 'src/modules/m_sqlauth.cpp')
-rw-r--r-- | src/modules/m_sqlauth.cpp | 6 |
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; |