diff options
author | Adam <Adam@anope.org> | 2010-08-05 23:18:36 -0400 |
---|---|---|
committer | Adam <Adam@anope.org> | 2010-08-05 23:18:36 -0400 |
commit | 94f7962e1abc12db7dd4adabcd35c067ad17889e (patch) | |
tree | cfeea7aa747d3329c537cf6d48817d78359d343e | |
parent | 3308ab715393e6da5bda085026b4d5d4085890e7 (diff) |
Fixed bug #1180 - Fixed tracking of internal clients when they change nicks on TS6 IRCds
-rw-r--r-- | Changes | 1 | ||||
-rw-r--r-- | src/protocol/charybdis.c | 6 | ||||
-rw-r--r-- | src/protocol/inspircd12.c | 2 | ||||
-rw-r--r-- | src/protocol/ratbox.c | 6 | ||||
-rw-r--r-- | src/protocol/shadowircd.c | 6 | ||||
-rw-r--r-- | version.log | 3 |
6 files changed, 23 insertions, 1 deletions
@@ -17,6 +17,7 @@ Anope Version 1.8 - SVN 06/24 F Fixed pseudo-client kills not being detected on some TS6 IRCDs. [ #00] 07/01 F Fixed encrypting very long passwords when registering [#1172] 08/03 F Fixed tracking users vhosts when there is no vhost mode [#1178] +08/05 F Fixed tracking of our clients after nick changing on InspIRCd [#1180] Anope Version 1.8.4 ------------------- diff --git a/src/protocol/charybdis.c b/src/protocol/charybdis.c index e302f57f5..8ae557d40 100644 --- a/src/protocol/charybdis.c +++ b/src/protocol/charybdis.c @@ -1692,10 +1692,16 @@ void charybdis_cmd_svid_umode3(User * u, char *ts) /* NICK <newnick> */ void charybdis_cmd_chg_nick(char *oldnick, char *newnick) { + Uid *ud; + if (!oldnick || !newnick) { return; } + ud = find_uid(oldnick); + if (ud) + strscpy(ud->nick, newnick, NICKMAX); + send_cmd(oldnick, "NICK %s", newnick); } diff --git a/src/protocol/inspircd12.c b/src/protocol/inspircd12.c index e5722c236..5eb9cc5ab 100644 --- a/src/protocol/inspircd12.c +++ b/src/protocol/inspircd12.c @@ -1309,6 +1309,8 @@ void inspircd_cmd_chg_nick(char *oldnick, char *newnick) if (!ud) ud = find_uid(newnick); + if (ud) + strscpy(ud->nick, newnick, NICKMAX); send_cmd(ud ? ud->uid : oldnick, "NICK %s %ld", newnick, time(NULL)); } diff --git a/src/protocol/ratbox.c b/src/protocol/ratbox.c index 42a00d2f2..231899d3f 100644 --- a/src/protocol/ratbox.c +++ b/src/protocol/ratbox.c @@ -1621,10 +1621,16 @@ void ratbox_cmd_svid_umode3(User * u, char *ts) /* NICK <newnick> */ void ratbox_cmd_chg_nick(char *oldnick, char *newnick) { + Uid *ud; + if (!oldnick || !newnick) { return; } + ud = find_uid(oldnick); + if (ud) + strscpy(ud->nick, newnick, NICKMAX); + send_cmd(oldnick, "NICK %s", newnick); } diff --git a/src/protocol/shadowircd.c b/src/protocol/shadowircd.c index 2e0262046..a8fd02d4b 100644 --- a/src/protocol/shadowircd.c +++ b/src/protocol/shadowircd.c @@ -1567,10 +1567,16 @@ void shadowircd_cmd_svid_umode3(User * u, char *ts) /* NICK <newnick> */ void shadowircd_cmd_chg_nick(char *oldnick, char *newnick) { + Uid *ud; + if (!oldnick || !newnick) { return; } + ud = find_uid(oldnick); + if (ud) + strscpy(ud->nick, newnick, NICKMAX); + send_cmd(oldnick, "NICK %s", newnick); } diff --git a/version.log b/version.log index 498df5a51..b60d93fef 100644 --- a/version.log +++ b/version.log @@ -8,9 +8,10 @@ VERSION_MAJOR="1" VERSION_MINOR="8" VERSION_PATCH="4" VERSION_EXTRA="-git" -VERSION_BUILD="3019" +VERSION_BUILD="3020" # $Log$ # Changes since the 1.8.4 Release +#Revision 3020 - Fixed bug #1180 - Fixed tracking of internal clients when they change nicks on TS6 IRCds #Revision 3019 - Properly track users hosts when a user is -x and has a vhost via chghost #Revision 3018 - Accommodate for the InspIRCd 2.0 protocol being even more oversized then we previously thought.. #Revision 3017 - Log out super admins when someone forces them to logout |