diff options
author | Adam <Adam@anope.org> | 2010-09-27 17:02:36 -0400 |
---|---|---|
committer | Adam <Adam@anope.org> | 2010-09-27 17:02:36 -0400 |
commit | 6ca09be66341fd9f568fb0ac754df4f4c561bc1f (patch) | |
tree | da58c10795eaa5ed9298c84d8a49f089018164ff /modules/protocol | |
parent | 7db5e19f7499cce5b86d63f8af5ae5ecf7245bf0 (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')
-rw-r--r-- | modules/protocol/bahamut.cpp | 9 | ||||
-rw-r--r-- | modules/protocol/inspircd11.cpp | 6 | ||||
-rw-r--r-- | modules/protocol/inspircd12.cpp | 9 | ||||
-rw-r--r-- | modules/protocol/inspircd20.cpp | 9 | ||||
-rw-r--r-- | modules/protocol/ratbox.cpp | 7 | ||||
-rw-r--r-- | modules/protocol/unreal32.cpp | 28 |
6 files changed, 29 insertions, 39 deletions
diff --git a/modules/protocol/bahamut.cpp b/modules/protocol/bahamut.cpp index c1a223672..efe5e4d16 100644 --- a/modules/protocol/bahamut.cpp +++ b/modules/protocol/bahamut.cpp @@ -33,7 +33,6 @@ IRCDVar myIrcd[] = { 1, /* time stamp on mode */ 0, /* O:LINE */ 1, /* UMODE */ - 0, /* VHOST ON NICK */ 1, /* No Knock requires +i */ 0, /* Can remove User Channel Modes with SVSMODE */ 0, /* Sglines are not enforced until user reconnects */ @@ -446,23 +445,21 @@ int anope_event_nick(const Anope::string &source, int ac, const char **av) if (ac != 2) { - user = do_nick(source, av[0], av[4], av[5], av[6], 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[4], av[5], av[6], av[9], Anope::string(av[2]).is_pos_number_only() ? convertTo<time_t>(av[2]) : 0, av[8], "", "", av[3]); if (user) { - UserSetInternalModes(user, 1, &av[3]); - NickAlias *na; if (user->timestamp == convertTo<time_t>(av[7]) && (na = findnick(user->nick))) { user->Login(na->nc); - user->SetMode(NickServ, CMODE_REGISTERED); + user->SetMode(NickServ, UMODE_REGISTERED); } else validate_user(user); } } 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; } diff --git a/modules/protocol/inspircd11.cpp b/modules/protocol/inspircd11.cpp index 8053a577a..c468c0f9a 100644 --- a/modules/protocol/inspircd11.cpp +++ b/modules/protocol/inspircd11.cpp @@ -34,7 +34,6 @@ IRCDVar myIrcd[] = { 0, /* time stamp on mode */ 1, /* O:LINE */ 1, /* UMODE */ - 1, /* VHOST ON NICK */ 1, /* No Knock requires +i */ 0, /* Can remove User Channel Modes with SVSMODE */ 0, /* Sglines are not enforced until user reconnects */ @@ -693,10 +692,9 @@ int anope_event_nick(const Anope::string &source, int ac, const char **av) { time_t ts = Anope::string(av[0]).is_pos_number_only() ? convertTo<time_t>(av[0]) : 0; - user = do_nick("", av[1], av[4], av[2], source, av[7], ts, av[6], av[3], ""); + user = do_nick("", av[1], av[4], av[2], source, av[7], ts, av[6], av[3], "", av[5]); if (user) { - UserSetInternalModes(user, 1, &av[5]); user->SetCloakedHost(av[3]); NickAlias *na = findnick(user->nick); @@ -712,7 +710,7 @@ int anope_event_nick(const Anope::string &source, int ac, const char **av) } } else - do_nick(source, av[0], "", "", "", "", 0, "", "", ""); + do_nick(source, av[0], "", "", "", "", 0, "", "", "", ""); return MOD_CONT; } diff --git a/modules/protocol/inspircd12.cpp b/modules/protocol/inspircd12.cpp index 574fa7791..dc5e0f613 100644 --- a/modules/protocol/inspircd12.cpp +++ b/modules/protocol/inspircd12.cpp @@ -34,7 +34,6 @@ IRCDVar myIrcd[] = { 0, /* time stamp on mode */ 0, /* O:LINE */ 1, /* UMODE */ - 1, /* VHOST ON NICK */ 1, /* No Knock requires +i */ 0, /* Can remove User Channel Modes with SVSMODE */ 0, /* Sglines are not enforced until user reconnects */ @@ -695,7 +694,7 @@ int anope_event_sethost(const Anope::string &source, int ac, const char **av) int anope_event_nick(const Anope::string &source, int ac, const char **av) { - do_nick(source, av[0], "", "", "", "", 0, "", "", ""); + do_nick(source, av[0], "", "", "", "", 0, "", "", "", ""); return MOD_CONT; } @@ -738,10 +737,12 @@ int anope_event_uid(const Anope::string &source, int ac, const char **av) user->SetMode(NickServ, UMODE_REGISTERED); } - user = do_nick("", av[2], av[5], av[3], s->GetName(), av[ac - 1], ts, av[6], av[4], av[0]); + Anope::string modes = av[8]; + for (int i = 9; i < ac - 1; ++i) + modes += Anope::string(" ") + av[i]; + user = do_nick("", av[2], av[5], av[3], s->GetName(), av[ac - 1], ts, av[6], av[4], av[0], modes); if (user) { - UserSetInternalModes(user, 1, &av[8]); if (!user->server->IsSynced()) prev_u_intro = user; else diff --git a/modules/protocol/inspircd20.cpp b/modules/protocol/inspircd20.cpp index 4ebd9711c..5740c43b8 100644 --- a/modules/protocol/inspircd20.cpp +++ b/modules/protocol/inspircd20.cpp @@ -34,7 +34,6 @@ IRCDVar myIrcd[] = { 0, /* time stamp on mode */ 0, /* O:LINE */ 1, /* UMODE */ - 1, /* VHOST ON NICK */ 1, /* No Knock requires +i */ 0, /* Can remove User Channel Modes with SVSMODE */ 0, /* Sglines are not enforced until user reconnects */ @@ -692,7 +691,7 @@ int anope_event_sethost(const Anope::string &source, int ac, const char **av) int anope_event_nick(const Anope::string &source, int ac, const char **av) { - do_nick(source, av[0], "", "", "", "", 0, "", "", ""); + do_nick(source, av[0], "", "", "", "", 0, "", "", "", ""); return MOD_CONT; } @@ -735,10 +734,12 @@ int anope_event_uid(const Anope::string &source, int ac, const char **av) user->SetMode(NickServ, UMODE_REGISTERED); } - user = do_nick("", av[2], av[5], av[3], s->GetName(), av[ac - 1], ts, av[6], av[4], av[0]); + Anope::string modes = av[8]; + for (int i = 9; i < ac - 1; ++i) + modes += Anope::string(" ") + av[i]; + user = do_nick("", av[2], av[5], av[3], s->GetName(), av[ac - 1], ts, av[6], av[4], av[0], modes); if (user) { - UserSetInternalModes(user, 1, &av[8]); if (!user->server->IsSynced()) prev_u_intro = user; else diff --git a/modules/protocol/ratbox.cpp b/modules/protocol/ratbox.cpp index 807abf202..cb937cf02 100644 --- a/modules/protocol/ratbox.cpp +++ b/modules/protocol/ratbox.cpp @@ -33,7 +33,6 @@ IRCDVar myIrcd[] = { 0, /* time stamp on mode */ 0, /* UMODE */ 0, /* O:LINE */ - 0, /* VHOST ON NICK */ 0, /* No Knock requires +i */ 0, /* Can remove User Channel Modes with SVSMODE */ 0, /* Sglines are not enforced until user reconnects */ @@ -405,11 +404,9 @@ int anope_event_nick(const Anope::string &source, int ac, const char **av) { Server *s = Server::Find(source); /* Source is always the server */ - user = do_nick("", av[0], av[4], av[5], s->GetName(), av[8], Anope::string(av[2]).is_pos_number_only() ? convertTo<time_t>(av[2]) : 0, av[6], "*", av[7]); + user = do_nick("", av[0], av[4], av[5], s->GetName(), av[8], Anope::string(av[2]).is_pos_number_only() ? convertTo<time_t>(av[2]) : 0, av[6], "*", av[7], av[3]); if (user) { - UserSetInternalModes(user, 1, &av[3]); - NickAlias *na = findnick(user->nick); Anope::string svidbuf; if (na && na->nc->GetExtRegular("authenticationtoken", svidbuf) && svidbuf == av[2]) @@ -421,7 +418,7 @@ int anope_event_nick(const Anope::string &source, int ac, const char **av) } } else if (ac == 2) - 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; } 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; } |