summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2010-08-05 23:18:36 -0400
committerAdam <Adam@anope.org>2010-08-05 23:18:36 -0400
commit94f7962e1abc12db7dd4adabcd35c067ad17889e (patch)
treecfeea7aa747d3329c537cf6d48817d78359d343e
parent3308ab715393e6da5bda085026b4d5d4085890e7 (diff)
Fixed bug #1180 - Fixed tracking of internal clients when they change nicks on TS6 IRCds
-rw-r--r--Changes1
-rw-r--r--src/protocol/charybdis.c6
-rw-r--r--src/protocol/inspircd12.c2
-rw-r--r--src/protocol/ratbox.c6
-rw-r--r--src/protocol/shadowircd.c6
-rw-r--r--version.log3
6 files changed, 23 insertions, 1 deletions
diff --git a/Changes b/Changes
index 48489a8ce..6df6853c0 100644
--- a/Changes
+++ b/Changes
@@ -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