1
0
mirror of https://github.com/unrealircd/unrealircd.git synced 2026-07-08 06:03:12 +02:00

Fixed an SVSNICK bug that could lead to duplicate users in very rare circumstances

This commit is contained in:
codemastr
2004-06-18 17:02:01 +00:00
parent 54ff17f164
commit 05a96a3b56
2 changed files with 4 additions and 2 deletions
+2
View File
@@ -3281,3 +3281,5 @@ This is the 3.2 fixes branch.
- Fixed find_qline crashes regarding except tkl 'type qline', reported by Gilou (#0001882).
- Fixed some CIDR bugs causing things not to match.
- Fixed a CIDR bug when compiled without IPv6 support
- Fixed an SVSNICK bug that could lead to duplicate users in very rare circumstances
(#0001874) reported by Jiuka.
+2 -2
View File
@@ -97,14 +97,14 @@ int m_svsnick(aClient *cptr, aClient *sptr, int parc, char *parv[])
if (!hunt_server_token(cptr, sptr, MSG_SVSNICK, TOK_SVSNICK, "%s %s :%s", 1, parc,
parv) != HUNTED_ISME)
{
if (do_nick_name(parv[2]) == 0)
return 0;
if ((acptr = find_person(parv[1], NULL)))
{
if (find_client(parv[2], NULL)) /* Collision */
return exit_client(cptr, acptr, sptr,
"Nickname collision due to Services enforced "
"nickname change, your nick was overruled");
if (do_nick_name(parv[2]) == 0)
return 0;
acptr->umodes &= ~UMODE_REGNICK;
acptr->lastnick = TS2ts(parv[3]);
sendto_common_channels(acptr, ":%s NICK :%s", parv[1],