summaryrefslogtreecommitdiff
path: root/src/commands
diff options
context:
space:
mode:
authordanieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7>2009-10-21 23:45:32 +0000
committerdanieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7>2009-10-21 23:45:32 +0000
commitff3eef491aa9e107d09d9dd9560ef7715b37b3b3 (patch)
tree76532ed5d9dd8ec0deb86793bc72d548e7a4c76a /src/commands
parent123eac3f25ce4dd3142b4ac66eb321f7df1e23e4 (diff)
Move all local-only fields to LocalUser
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11944 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/commands')
-rw-r--r--src/commands/cmd_invite.cpp7
-rw-r--r--src/commands/cmd_nick.cpp3
-rw-r--r--src/commands/cmd_oper.cpp2
-rw-r--r--src/commands/cmd_pass.cpp8
-rw-r--r--src/commands/cmd_pong.cpp3
5 files changed, 13 insertions, 10 deletions
diff --git a/src/commands/cmd_invite.cpp b/src/commands/cmd_invite.cpp
index 9da6096a4..84c522754 100644
--- a/src/commands/cmd_invite.cpp
+++ b/src/commands/cmd_invite.cpp
@@ -90,7 +90,8 @@ CmdResult CommandInvite::Handle (const std::vector<std::string>& parameters, Use
}
}
- u->InviteTo(c->name.c_str(), timeout);
+ if (IS_LOCAL(u))
+ IS_LOCAL(u)->InviteTo(c->name.c_str(), timeout);
u->WriteFrom(user,"INVITE %s :%s",u->nick.c_str(),c->name.c_str());
user->WriteNumeric(RPL_INVITING, "%s %s %s",user->nick.c_str(),u->nick.c_str(),c->name.c_str());
switch (ServerInstance->Config->AnnounceInvites)
@@ -113,11 +114,11 @@ CmdResult CommandInvite::Handle (const std::vector<std::string>& parameters, Use
}
FOREACH_MOD(I_OnUserInvite,OnUserInvite(user,u,c,timeout));
}
- else
+ else if (IS_LOCAL(user))
{
// pinched from ircu - invite with not enough parameters shows channels
// youve been invited to but haven't joined yet.
- InvitedList* il = user->GetInviteList();
+ InvitedList* il = IS_LOCAL(user)->GetInviteList();
for (InvitedList::iterator i = il->begin(); i != il->end(); i++)
{
user->WriteNumeric(RPL_INVITELIST, "%s :%s",user->nick.c_str(),i->first.c_str());
diff --git a/src/commands/cmd_nick.cpp b/src/commands/cmd_nick.cpp
index ee8c4625c..489551dd1 100644
--- a/src/commands/cmd_nick.cpp
+++ b/src/commands/cmd_nick.cpp
@@ -202,7 +202,8 @@ CmdResult CommandNick::Handle (const std::vector<std::string>& parameters, User
if (user->registered == REG_ALL)
{
- user->IncreasePenalty(10);
+ if (IS_LOCAL(user))
+ IS_LOCAL(user)->Penalty += 10;
FOREACH_MOD(I_OnUserPostNick,OnUserPostNick(user, oldnick));
}
diff --git a/src/commands/cmd_oper.cpp b/src/commands/cmd_oper.cpp
index dc15a5415..428e7b109 100644
--- a/src/commands/cmd_oper.cpp
+++ b/src/commands/cmd_oper.cpp
@@ -124,7 +124,7 @@ CmdResult CommandOper::HandleLocal(const std::vector<std::string>& parameters, L
// tell them they suck, and lag them up to help prevent brute-force attacks
user->WriteNumeric(491, "%s :Invalid oper credentials",user->nick.c_str());
- user->IncreasePenalty(10);
+ user->Penalty += 10;
snprintf(broadcast, MAXBUF, "WARNING! Failed oper attempt by %s!%s@%s using login '%s': The following fields do not match: %s", user->nick.c_str(), user->ident.c_str(), user->host.c_str(), parameters[0].c_str(), fields.c_str());
ServerInstance->SNO->WriteToSnoMask('o',std::string(broadcast));
diff --git a/src/commands/cmd_pass.cpp b/src/commands/cmd_pass.cpp
index 21b5b2759..0bf1b46a4 100644
--- a/src/commands/cmd_pass.cpp
+++ b/src/commands/cmd_pass.cpp
@@ -18,23 +18,23 @@
* the same way, however, they can be fully unloaded, where these
* may not.
*/
-class CommandPass : public Command
+class CommandPass : public SplitCommand
{
public:
/** Constructor for pass.
*/
- CommandPass ( Module* parent) : Command(parent,"PASS",1,1) { works_before_reg = true; Penalty = 0; syntax = "<password>"; }
+ CommandPass (Module* parent) : SplitCommand(parent,"PASS",1,1) { works_before_reg = true; Penalty = 0; syntax = "<password>"; }
/** Handle command.
* @param parameters The parameters to the comamnd
* @param pcnt The number of parameters passed to teh command
* @param user The user issuing the command
* @return A value from CmdResult to indicate command success or failure.
*/
- CmdResult Handle(const std::vector<std::string>& parameters, User *user);
+ CmdResult HandleLocal(const std::vector<std::string>& parameters, LocalUser *user);
};
-CmdResult CommandPass::Handle (const std::vector<std::string>& parameters, User *user)
+CmdResult CommandPass::HandleLocal(const std::vector<std::string>& parameters, LocalUser *user)
{
// Check to make sure they haven't registered -- Fix by FCS
if (user->registered == REG_ALL)
diff --git a/src/commands/cmd_pong.cpp b/src/commands/cmd_pong.cpp
index 225be147a..9bff00ed2 100644
--- a/src/commands/cmd_pong.cpp
+++ b/src/commands/cmd_pong.cpp
@@ -36,7 +36,8 @@ class CommandPong : public Command
CmdResult CommandPong::Handle (const std::vector<std::string>&, User *user)
{
// set the user as alive so they survive to next ping
- user->lastping = 1;
+ if (IS_LOCAL(user))
+ IS_LOCAL(user)->lastping = 1;
return CMD_SUCCESS;
}