diff options
author | peavey <peavey@e03df62e-2008-0410-955e-edbf42e46eb7> | 2007-07-16 17:30:04 +0000 |
---|---|---|
committer | peavey <peavey@e03df62e-2008-0410-955e-edbf42e46eb7> | 2007-07-16 17:30:04 +0000 |
commit | f2acdbc3820f0f4f5ef76a0a64e73d2a320df91f (patch) | |
tree | 0602469ef10e4dab4b3975599eb4f919a501c1eb /src/cmd_die.cpp | |
parent | 387f54199e9f335c58af888bdad5ddc1f5cf9bec (diff) |
OOPS! We try again, since I'm smoking craq. LF is 0x0a NOT CR.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7456 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/cmd_die.cpp')
-rw-r--r-- | src/cmd_die.cpp | 48 |
1 files changed, 47 insertions, 1 deletions
diff --git a/src/cmd_die.cpp b/src/cmd_die.cpp index c8195a41c..7f0a81df8 100644 --- a/src/cmd_die.cpp +++ b/src/cmd_die.cpp @@ -1 +1,47 @@ -/* +------------------------------------+
* | Inspire Internet Relay Chat Daemon |
* +------------------------------------+
*
* InspIRCd: (C) 2002-2007 InspIRCd Development Team
* See: http://www.inspircd.org/wiki/index.php/Credits
*
* This program is free but copyrighted software; see
* the file COPYING for details.
*
* ---------------------------------------------------
*/
#include "inspircd.h"
#include "configreader.h"
#include "users.h"
#include "commands/cmd_die.h"
#include "exitcodes.h"
extern "C" DllExport command_t* init_command(InspIRCd* Instance)
{
return new cmd_die(Instance);
}
/** Handle /DIE
*/
CmdResult cmd_die::Handle (const char** parameters, int pcnt, userrec *user)
{
if (!strcmp(parameters[0],ServerInstance->Config->diepass))
{
std::string diebuf = std::string("*** DIE command from ") + user->nick + "!" + user->ident + "@" + user->dhost + ". Terminating in " + ConvToStr(ServerInstance->Config->DieDelay) + " seconds.";
ServerInstance->Log(SPARSE, diebuf);
ServerInstance->SendError(diebuf);
if (ServerInstance->Config->DieDelay)
sleep(ServerInstance->Config->DieDelay);
InspIRCd::Exit(EXIT_STATUS_DIE);
}
else
{
ServerInstance->Log(SPARSE, "Failed /DIE command from %s!%s@%s", user->nick, user->ident, user->host);
ServerInstance->WriteOpers("*** Failed DIE Command from %s!%s@%s.",user->nick,user->ident,user->host);
return CMD_FAILURE;
}
return CMD_SUCCESS;
}
\ No newline at end of file +/* +------------------------------------+ + * | Inspire Internet Relay Chat Daemon | + * +------------------------------------+ + * + * InspIRCd: (C) 2002-2007 InspIRCd Development Team + * See: http://www.inspircd.org/wiki/index.php/Credits + * + * This program is free but copyrighted software; see + * the file COPYING for details. + * + * --------------------------------------------------- + */ + +#include "inspircd.h" +#include "configreader.h" +#include "users.h" +#include "commands/cmd_die.h" +#include "exitcodes.h" + +extern "C" DllExport command_t* init_command(InspIRCd* Instance) +{ + return new cmd_die(Instance); +} + +/** Handle /DIE + */ +CmdResult cmd_die::Handle (const char** parameters, int pcnt, userrec *user) +{ + if (!strcmp(parameters[0],ServerInstance->Config->diepass)) + { + std::string diebuf = std::string("*** DIE command from ") + user->nick + "!" + user->ident + "@" + user->dhost + ". Terminating in " + ConvToStr(ServerInstance->Config->DieDelay) + " seconds."; + ServerInstance->Log(SPARSE, diebuf); + ServerInstance->SendError(diebuf); + + if (ServerInstance->Config->DieDelay) + sleep(ServerInstance->Config->DieDelay); + + InspIRCd::Exit(EXIT_STATUS_DIE); + } + else + { + ServerInstance->Log(SPARSE, "Failed /DIE command from %s!%s@%s", user->nick, user->ident, user->host); + ServerInstance->WriteOpers("*** Failed DIE Command from %s!%s@%s.",user->nick,user->ident,user->host); + return CMD_FAILURE; + } + return CMD_SUCCESS; +} |