class ModuleSQLAuth : public Module
{
- InspIRCd* Srv;
Module* SQLutils;
Module* SQLprovider;
public:
ModuleSQLAuth(InspIRCd* Me)
- : Module::Module(Me), Srv(Me)
+ : Module::Module(Me)
{
- ServerInstance->UseInterface("SQLutils");
- ServerInstance->UseInterface("SQL");
+ ServerInstance->Modules->UseInterface("SQLutils");
+ ServerInstance->Modules->UseInterface("SQL");
- SQLutils = ServerInstance->FindModule("m_sqlutils.so");
+ SQLutils = ServerInstance->Modules->Find("m_sqlutils.so");
if (!SQLutils)
throw ModuleException("Can't find m_sqlutils.so. Please load m_sqlutils.so before m_sqlauth.so.");
- SQLprovider = Srv->FindFeature("SQL");
+ SQLprovider = ServerInstance->Modules->FindFeature("SQL");
if (!SQLprovider)
throw ModuleException("Can't find an SQL provider module. Please load one before attempting to load m_sqlauth.");
virtual ~ModuleSQLAuth()
{
- ServerInstance->DoneWithInterface("SQL");
- ServerInstance->DoneWithInterface("SQLutils");
+ ServerInstance->Modules->DoneWithInterface("SQL");
+ ServerInstance->Modules->DoneWithInterface("SQLutils");
}
void Implements(char* List)
virtual void OnRehash(userrec* user, const std::string ¶meter)
{
- ConfigReader Conf(Srv);
+ ConfigReader Conf(ServerInstance);
usertable = Conf.ReadValue("sqlauth", "usertable", 0); /* User table name */
databaseid = Conf.ReadValue("sqlauth", "dbid", 0); /* Database ID, given to the SQL service provider */
virtual int OnUserRegister(userrec* user)
{
- if ((allowpattern != "") && (Srv->MatchText(user->nick,allowpattern)))
+ if ((!allowpattern.empty()) && (ServerInstance->MatchText(user->nick,allowpattern)))
{
user->Extend("sqlauthed");
return 0;
if (!CheckCredentials(user))
{
- userrec::QuitUser(Srv,user,killreason);
+ userrec::QuitUser(ServerInstance,user,killreason);
return 1;
}
return 0;
else
{
if (verbose)
- Srv->WriteOpers("Forbidden connection from %s!%s@%s (SQL query failed: %s)", user->nick, user->ident, user->host, req.error.Str());
+ ServerInstance->WriteOpers("Forbidden connection from %s!%s@%s (SQL query failed: %s)", user->nick, user->ident, user->host, req.error.Str());
return false;
}
}
else if (verbose)
{
/* No rows in result, this means there was no record matching the user */
- Srv->WriteOpers("Forbidden connection from %s!%s@%s (SQL query returned no matches)", user->nick, user->ident, user->host);
+ ServerInstance->WriteOpers("Forbidden connection from %s!%s@%s (SQL query returned no matches)", user->nick, user->ident, user->host);
user->Extend("sqlauth_failed");
}
}
else if (verbose)
{
- Srv->WriteOpers("Forbidden connection from %s!%s@%s (SQL query failed: %s)", user->nick, user->ident, user->host, res->error.Str());
+ ServerInstance->WriteOpers("Forbidden connection from %s!%s@%s (SQL query failed: %s)", user->nick, user->ident, user->host, res->error.Str());
user->Extend("sqlauth_failed");
}
}
if (!user->GetExt("sqlauthed"))
{
- userrec::QuitUser(Srv,user,killreason);
+ userrec::QuitUser(ServerInstance,user,killreason);
}
return SQLSUCCESS;
}
};
-class ModuleSQLAuthFactory : public ModuleFactory
-{
- public:
- ModuleSQLAuthFactory()
- {
- }
-
- ~ModuleSQLAuthFactory()
- {
- }
-
- virtual Module * CreateModule(InspIRCd* Me)
- {
- return new ModuleSQLAuth(Me);
- }
-
-};
-
-
-extern "C" void * init_module( void )
-{
- return new ModuleSQLAuthFactory;
-}
+MODULE_INIT(ModuleSQLAuth);