X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodules%2Fm_sqlauth.cpp;h=d2466f719dd7bee9dbf03008d80b75d420fa4d87;hb=3d0d64933da3d37866fadfa042e34a1125315db6;hp=5c3c5a84ef66e1c7416adabac20a64d9a30841e4;hpb=066cc66cc541b612a5293093fe1f070b24c68768;p=user%2Fhenk%2Fcode%2Finspircd.git 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; + 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::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;