summaryrefslogtreecommitdiff
path: root/modules/protocol
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2011-10-14 12:20:07 -0400
committerAdam <Adam@anope.org>2011-10-14 12:20:07 -0400
commitddc3c2f38cf6ddc0c1f8ad82489a281e01ef50fc (patch)
tree832b02a62d2da9078b7ab5f9d4d5d99e15570294 /modules/protocol
parent53275c362c521807b70e1eb7cf936f35593dd4dc (diff)
Added options:nonicknameownership config option
Diffstat (limited to 'modules/protocol')
-rw-r--r--modules/protocol/bahamut.cpp29
-rw-r--r--modules/protocol/inspircd-ts6.h9
-rw-r--r--modules/protocol/inspircd11.cpp8
-rw-r--r--modules/protocol/inspircd12.cpp2
-rw-r--r--modules/protocol/inspircd20.cpp2
-rw-r--r--modules/protocol/plexus.cpp11
-rw-r--r--modules/protocol/ratbox.cpp13
-rw-r--r--modules/protocol/unreal.cpp14
8 files changed, 51 insertions, 37 deletions
diff --git a/modules/protocol/bahamut.cpp b/modules/protocol/bahamut.cpp
index 2ae061009..7b9f1495c 100644
--- a/modules/protocol/bahamut.cpp
+++ b/modules/protocol/bahamut.cpp
@@ -218,13 +218,6 @@ class BahamutIRCdProto : public IRCDProto
send_cmd("", "NICK %s 1 %ld %s %s %s %s 0 0 :%s", u->nick.c_str(), static_cast<long>(u->timestamp), modes.c_str(), u->GetIdent().c_str(), u->host.c_str(), u->server->GetName().c_str(), u->realname.c_str());
}
- /* SVSMODE +d */
- /* nc_change was = 1, and there is no na->status */
- void SendUnregisteredNick(const User *u)
- {
- ircdproto->SendMode(findbot(Config->NickServ), u, "+d 1");
- }
-
/* SERVER */
void SendServer(const Server *server)
{
@@ -240,14 +233,6 @@ class BahamutIRCdProto : public IRCDProto
bahamut_cmd_burst();
}
- void SetAutoIdentificationToken(User *u)
- {
- if (!u->Account())
- return;
-
- ircdproto->SendMode(findbot(Config->NickServ), u, "+d %d", u->timestamp);
- }
-
void SendChannel(Channel *c)
{
Anope::string modes = c->GetModes(true, true);
@@ -255,6 +240,18 @@ class BahamutIRCdProto : public IRCDProto
modes = "+";
send_cmd("", "SJOIN %ld %s %s :", static_cast<long>(c->creation_time), c->name.c_str(), modes.c_str());
}
+
+ void SendLogin(User *u)
+ {
+ BotInfo *ns = findbot(Config->NickServ);
+ ircdproto->SendMode(ns, u, "+d %d", u->timestamp);
+ }
+
+ void SendLogout(User *u)
+ {
+ BotInfo *ns = findbot(Config->NickServ);
+ ircdproto->SendMode(ns, u, "+d 1");
+ }
};
class BahamutIRCdMessage : public IRCdMessage
@@ -303,7 +300,7 @@ class BahamutIRCdMessage : public IRCdMessage
if (user->timestamp == convertTo<time_t>(params[7]) && (na = findnick(user->nick)))
{
user->Login(na->nc);
- if (na->nc->HasFlag(NI_UNCONFIRMED) == false)
+ if (!Config->NoNicknameOwnership && na->nc->HasFlag(NI_UNCONFIRMED) == false)
user->SetMode(findbot(Config->NickServ), UMODE_REGISTERED);
}
else
diff --git a/modules/protocol/inspircd-ts6.h b/modules/protocol/inspircd-ts6.h
index 2eab151cf..f8e64e935 100644
--- a/modules/protocol/inspircd-ts6.h
+++ b/modules/protocol/inspircd-ts6.h
@@ -239,12 +239,15 @@ class InspIRCdTS6Proto : public IRCDProto
send_cmd(source ? source->GetUID() : Config->Numeric, "SNONOTICE A :%s", buf.c_str());
}
- void SendAccountLogin(const User *u, const NickCore *account)
+ void SendLogin(User *u)
{
- send_cmd(Config->Numeric, "METADATA %s accountname :%s", u->GetUID().c_str(), account->display.c_str());
+ if (!u->Account() || u->Account()->HasFlag(NI_UNCONFIRMED))
+ return;
+
+ send_cmd(Config->Numeric, "METADATA %s accountname :%s", u->GetUID().c_str(), u->Account()->display.c_str());
}
- void SendAccountLogout(const User *u, const NickCore *account)
+ void SendLogout(User *u)
{
send_cmd(Config->Numeric, "METADATA %s accountname :", u->GetUID().c_str());
}
diff --git a/modules/protocol/inspircd11.cpp b/modules/protocol/inspircd11.cpp
index 062ad92f0..88371759b 100644
--- a/modules/protocol/inspircd11.cpp
+++ b/modules/protocol/inspircd11.cpp
@@ -261,16 +261,18 @@ class InspIRCdProto : public IRCDProto
send_cmd("", "ENDBURST");
}
- void SetAutoIdentificationToken(User *u)
+ void SendLogin(User *u)
{
if (!u->Account())
return;
Anope::string svidbuf = stringify(u->timestamp);
-
u->Account()->Extend("authenticationtoken", new ExtensibleString(svidbuf));
}
+ void SendLogout(User *u)
+ {
+ }
};
class ChannelModeFlood : public ChannelModeParam
@@ -324,7 +326,7 @@ class InspircdIRCdMessage : public IRCdMessage
if (na && svidbuf && *svidbuf == params[0])
{
user->Login(na->nc);
- if (na->nc->HasFlag(NI_UNCONFIRMED))
+ if (!Config->NoNicknameOwnership && na->nc->HasFlag(NI_UNCONFIRMED) == false)
user->SetMode(findbot(Config->NickServ), UMODE_REGISTERED);
}
else if (nickserv)
diff --git a/modules/protocol/inspircd12.cpp b/modules/protocol/inspircd12.cpp
index 6175e2f52..80a40311c 100644
--- a/modules/protocol/inspircd12.cpp
+++ b/modules/protocol/inspircd12.cpp
@@ -269,7 +269,7 @@ bool event_metadata(const Anope::string &source, const std::vector<Anope::string
u->Login(nc);
NickAlias *user_na = findnick(u->nick);
- if (nickserv && user_na && user_na->nc == nc && user_na->nc->HasFlag(NI_UNCONFIRMED) == false)
+ if (!Config->NoNicknameOwnership && nickserv && user_na && user_na->nc == nc && user_na->nc->HasFlag(NI_UNCONFIRMED) == false)
u->SetMode(findbot(Config->NickServ), UMODE_REGISTERED);
}
}
diff --git a/modules/protocol/inspircd20.cpp b/modules/protocol/inspircd20.cpp
index 852f0c4e0..6586044aa 100644
--- a/modules/protocol/inspircd20.cpp
+++ b/modules/protocol/inspircd20.cpp
@@ -280,7 +280,7 @@ bool event_metadata(const Anope::string &source, const std::vector<Anope::string
u->Login(nc);
NickAlias *user_na = findnick(u->nick);
- if (nickserv && user_na && user_na->nc == nc && user_na->nc->HasFlag(NI_UNCONFIRMED) == false)
+ if (!Config->NoNicknameOwnership && nickserv && user_na && user_na->nc == nc && user_na->nc->HasFlag(NI_UNCONFIRMED) == false)
u->SetMode(findbot(Config->NickServ), UMODE_REGISTERED);
}
}
diff --git a/modules/protocol/plexus.cpp b/modules/protocol/plexus.cpp
index 3b108b470..df03ce940 100644
--- a/modules/protocol/plexus.cpp
+++ b/modules/protocol/plexus.cpp
@@ -226,12 +226,15 @@ class PlexusProto : public IRCDProto
send_cmd(source->GetUID(), "INVITE %s %s", u ? u->GetUID().c_str() : nick.c_str(), chan.c_str());
}
- void SendAccountLogin(const User *u, const NickCore *account)
+ void SendLogin(User *u)
{
- send_cmd(Config->Numeric, "ENCAP * SU %s %s", u->GetUID().c_str(), account->display.c_str());
+ if (!u->Account())
+ return;
+
+ send_cmd(Config->Numeric, "ENCAP * SU %s %s", u->GetUID().c_str(), u->Account()->display.c_str());
}
- void SendAccountLogout(const User *u, const NickCore *account)
+ void SendLogout(User *u)
{
send_cmd(Config->Numeric, "ENCAP * SU %s", u->GetUID().c_str());
}
@@ -558,7 +561,7 @@ bool event_encap(const Anope::string &source, const std::vector<Anope::string> &
if (u && nc)
{
u->Login(nc);
- if (user_na && user_na->nc == nc && user_na->nc->HasFlag(NI_UNCONFIRMED) == false)
+ if (!Config->NoNicknameOwnership && user_na && user_na->nc == nc && user_na->nc->HasFlag(NI_UNCONFIRMED) == false)
u->SetMode(findbot(Config->NickServ), UMODE_REGISTERED);
}
}
diff --git a/modules/protocol/ratbox.cpp b/modules/protocol/ratbox.cpp
index 2a135287b..e5f7a759a 100644
--- a/modules/protocol/ratbox.cpp
+++ b/modules/protocol/ratbox.cpp
@@ -207,12 +207,15 @@ class RatboxProto : public IRCDProto
send_cmd(source->GetUID(), "INVITE %s %s", u ? u->GetUID().c_str() : nick.c_str(), chan.c_str());
}
- void SendAccountLogin(const User *u, const NickCore *account)
+ void SendLogin(User *u)
{
- send_cmd(Config->Numeric, "ENCAP * SU %s %s", u->GetUID().c_str(), account->display.c_str());
+ if (!u->Account())
+ return;
+
+ send_cmd(Config->Numeric, "ENCAP * SU %s %s", u->GetUID().c_str(), u->Account()->display.c_str());
}
- void SendAccountLogout(const User *u, const NickCore *account)
+ void SendLogout(User *u)
{
send_cmd(Config->Numeric, "ENCAP * SU %s", u->GetUID().c_str());
}
@@ -479,6 +482,10 @@ bool event_encap(const Anope::string &source, const std::vector<Anope::string> &
if (!u || !nc)
return true;
u->Login(nc);
+
+ NickAlias *user_na = findnick(u->nick);
+ if (!Config->NoNicknameOwnership && user_na && user_na->nc == nc && user_na->nc->HasFlag(NI_UNCONFIRMED) == false)
+ u->SetMode(findbot(Config->NickServ), UMODE_REGISTERED);
}
return true;
diff --git a/modules/protocol/unreal.cpp b/modules/protocol/unreal.cpp
index d3d0ba1dd..aa806fe21 100644
--- a/modules/protocol/unreal.cpp
+++ b/modules/protocol/unreal.cpp
@@ -318,17 +318,19 @@ class UnrealIRCdProto : public IRCDProto
return true;
}
- void SetAutoIdentificationToken(User *u)
+ void SendLogin(User *u)
{
if (!u->Account())
return;
- ircdproto->SendMode(findbot(Config->NickServ), u, "+d %d", u->timestamp);
+ BotInfo *ns = findbot(Config->NickServ);
+ ircdproto->SendMode(ns, u, "+d %d", u->timestamp);
}
- void SendUnregisteredNick(const User *u)
+ void SendLogout(User *u)
{
- ircdproto->SendMode(findbot(Config->NickServ), u, "+d 1");
+ BotInfo *ns = findbot(Config->NickServ);
+ ircdproto->SendMode(ns, u, "+d 1");
}
void SendChannel(Channel *c)
@@ -532,7 +534,7 @@ class Unreal32IRCdMessage : public IRCdMessage
if (na && user->timestamp == convertTo<time_t>(params[6]))
{
user->Login(na->nc);
- if (na->nc->HasFlag(NI_UNCONFIRMED) == false && nickserv)
+ if (!Config->NoNicknameOwnership && na->nc->HasFlag(NI_UNCONFIRMED) == false && nickserv)
user->SetMode(findbot(Config->NickServ), UMODE_REGISTERED);
}
else if (nickserv)
@@ -554,7 +556,7 @@ class Unreal32IRCdMessage : public IRCdMessage
if (na && user->timestamp == convertTo<time_t>(params[6]))
{
user->Login(na->nc);
- if (na->nc->HasFlag(NI_UNCONFIRMED) == false && nickserv)
+ if (!Config->NoNicknameOwnership && na->nc->HasFlag(NI_UNCONFIRMED) == false && nickserv)
user->SetMode(findbot(Config->NickServ), UMODE_REGISTERED);
}
else if (nickserv)