]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_sqlauth.cpp
Update most URLs to use HTTPS and fix some dead links.
[user/henk/code/inspircd.git] / src / modules / m_sqlauth.cpp
index 5c3c5a84ef66e1c7416adabac20a64d9a30841e4..d2466f719dd7bee9dbf03008d80b75d420fa4d87 100644 (file)
@@ -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;