/* $ModDesc: Allow/Deny connections based upon an arbitary SQL table */
/* $ModDep: m_sqlv2.h m_sqlutils.h */
-/* $CompileFlags: -Wno-variadic-macros */
class ModuleSQLAuth : public Module
{
throw ModuleException("Can't find an SQL provider module. Please load one before attempting to load m_sqlauth.");
OnRehash(NULL,"");
+ Implementation eventlist[] = { I_OnUserDisconnect, I_OnCheckReady, I_OnRequest, I_OnRehash, I_OnUserRegister };
+ ServerInstance->Modules->Attach(eventlist, this, 5);
}
virtual ~ModuleSQLAuth()
ServerInstance->Modules->DoneWithInterface("SQLutils");
}
- void Implements(char* List)
- {
- List[I_OnUserDisconnect] = List[I_OnCheckReady] = List[I_OnRequest] = List[I_OnRehash] = List[I_OnUserRegister] = 1;
- }
virtual void OnRehash(User* user, const std::string ¶meter)
{
bool CheckCredentials(User* user)
{
- SQLrequest req = SQLreq(this, SQLprovider, databaseid, "SELECT ? FROM ? WHERE ? = '?' AND ? = ?'?')", userfield, usertable, userfield, user->nick, passfield, encryption, user->password);
+ SQLrequest req = SQLrequest(this, SQLprovider, databaseid, SQLquery("SELECT ? FROM ? WHERE ? = '?' AND ? = ?'?')") % userfield % usertable % userfield % user->nick %
+ passfield % encryption % user->password);
if(req.Send())
{