summaryrefslogtreecommitdiff
path: root/modules/protocol/unreal32.cpp
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2010-09-27 17:02:36 -0400
committerAdam <Adam@anope.org>2010-09-27 17:02:36 -0400
commit6ca09be66341fd9f568fb0ac754df4f4c561bc1f (patch)
treeda58c10795eaa5ed9298c84d8a49f089018164ff /modules/protocol/unreal32.cpp
parent7db5e19f7499cce5b86d63f8af5ae5ecf7245bf0 (diff)
Cleaned up some unused code, moved handling of user modes around so we dont get log messages about user modes when users connect, and fixed tracking some umodes on Unreal
Diffstat (limited to 'modules/protocol/unreal32.cpp')
-rw-r--r--modules/protocol/unreal32.cpp28
1 files changed, 12 insertions, 16 deletions
diff --git a/modules/protocol/unreal32.cpp b/modules/protocol/unreal32.cpp
index 81bd74aaa..d44eeca4b 100644
--- a/modules/protocol/unreal32.cpp
+++ b/modules/protocol/unreal32.cpp
@@ -33,7 +33,6 @@ IRCDVar myIrcd[] = {
1, /* time stamp on mode */
1, /* O:LINE */
1, /* UMODE */
- 1, /* VHOST ON NICK */
1, /* No Knock requires +i */
1, /* Can remove User Channel Modes with SVSMODE */
0, /* Sglines are not enforced until user reconnects */
@@ -679,10 +678,10 @@ int anope_event_umode2(const Anope::string &source, int ac, const char **av)
if (ac < 1)
return MOD_CONT;
- const char *newav[4];
+ const char *newav[2];
newav[0] = source.c_str();
newav[1] = av[0];
- do_umode(source, ac, newav);
+ do_umode(source, 2, newav);
return MOD_CONT;
}
@@ -841,11 +840,6 @@ int anope_event_sethost(const Anope::string &source, int ac, const char **av)
** parv[0] = new nickname
** parv[1] = hopcount
*/
-/*
- do_nick(const char *source, char *nick, char *username, char *host,
- char *server, char *realname, time_t ts,
- uint32 ip, char *vhost, char *uid)
-*/
int anope_event_nick(const Anope::string &source, int ac, const char **av)
{
User *user;
@@ -860,7 +854,7 @@ int anope_event_nick(const Anope::string &source, int ac, const char **av)
<codemastr> it's sent when a nick collision occurs
- so we have to leave it around for now -TSL
*/
- do_nick(source, av[0], av[3], av[4], av[5], av[6], Anope::string(av[2]).is_pos_number_only() ? convertTo<time_t>(av[2]) : 0, "", "*", "");
+ do_nick(source, av[0], av[3], av[4], av[5], av[6], Anope::string(av[2]).is_pos_number_only() ? convertTo<time_t>(av[2]) : 0, "", "*", "", "");
}
else if (ac == 11)
{
@@ -869,12 +863,13 @@ int anope_event_nick(const Anope::string &source, int ac, const char **av)
sockaddrs ip;
ip.ntop(strlen(av[9]) == 8 ? AF_INET : AF_INET6, decoded_ip.c_str());
+
+ if (av[8] && !strcmp(av[8], "*"))
+ av[8] = "";
- user = do_nick(source, av[0], av[3], av[4], av[5], av[10], Anope::string(av[2]).is_pos_number_only() ? convertTo<time_t>(av[2]) : 0, ip.addr(), av[8], "");
+ user = do_nick(source, av[0], av[3], av[4], av[5], av[10], Anope::string(av[2]).is_pos_number_only() ? convertTo<time_t>(av[2]) : 0, ip.addr(), av[8], "", av[7]);
if (user)
{
- UserSetInternalModes(user, 1, &av[7]);
-
NickAlias *na = findnick(user->nick);
if (na && user->timestamp == convertTo<time_t>(av[6]))
@@ -888,12 +883,13 @@ int anope_event_nick(const Anope::string &source, int ac, const char **av)
}
else
{
+ if (av[8] && !strcmp(av[8], "*"))
+ av[8] = "";
+
/* NON NICKIP */
- user = do_nick(source, av[0], av[3], av[4], av[5], av[9], Anope::string(av[2]).is_pos_number_only() ? convertTo<time_t>(av[2]) : 0, "", av[8], "");
+ user = do_nick(source, av[0], av[3], av[4], av[5], av[9], Anope::string(av[2]).is_pos_number_only() ? convertTo<time_t>(av[2]) : 0, "", av[8], "", av[7]);
if (user)
{
- UserSetInternalModes(user, 1, &av[7]);
-
NickAlias *na = findnick(user->nick);
if (na && user->timestamp == convertTo<time_t>(av[6]))
@@ -907,7 +903,7 @@ int anope_event_nick(const Anope::string &source, int ac, const char **av)
}
}
else
- do_nick(source, av[0], "", "", "", "", Anope::string(av[1]).is_pos_number_only() ? convertTo<time_t>(av[1]) : 0, "", "", "");
+ do_nick(source, av[0], "", "", "", "", Anope::string(av[1]).is_pos_number_only() ? convertTo<time_t>(av[1]) : 0, "", "", "", "");
return MOD_CONT;
}