*/
#include "inspircd.h"
-#include "configreader.h"
-#include "users.h"
-#include "modules.h"
#include "xline.h"
#include "commands/cmd_eline.h"
-extern "C" DllExport command_t* init_command(InspIRCd* Instance)
+extern "C" DllExport Command* init_command(InspIRCd* Instance)
{
- return new cmd_eline(Instance);
+ return new CommandEline(Instance);
}
/** Handle /ELINE
*/
-CmdResult cmd_eline::Handle (const char** parameters, int pcnt, userrec *user)
+CmdResult CommandEline::Handle (const char** parameters, int pcnt, User *user)
{
if (pcnt >= 3)
{
- if (ServerInstance->HostMatchesEveryone(parameters[0],user))
+ IdentHostPair ih = ServerInstance->XLines->IdentSplit(parameters[0]);
+ if (ServerInstance->HostMatchesEveryone(ih.first+"@"+ih.second,user))
return CMD_FAILURE;
if (!strchr(parameters[0],'@'))
ServerInstance->TimeString(c_requires_crap).c_str());
}
}
+ else
+ {
+ user->WriteServ("NOTICE %s :*** E-Line for %s already exists",user->nick,parameters[0]);
+ }
}
else
{