diff --git a/Changes b/Changes index 210a839a9..9b6337673 100644 --- a/Changes +++ b/Changes @@ -685,3 +685,5 @@ - Removed aClient->history, not used (saves 4 bytes for every user/server) - Fixed compile error with SSL - Fixed a /list and /quit bug +- Fixed the masskill bug with replacing "Server Exists" code.. i removed it + accidentialy last time diff --git a/src/s_serv.c b/src/s_serv.c index cd468d2bc..8f58bf17c 100644 --- a/src/s_serv.c +++ b/src/s_serv.c @@ -728,15 +728,16 @@ int m_server(cptr, sptr, parc, parv) * access through another path -- multiple paths not accepted * currently, kill this link immeatedly!! */ - sendto_one(cptr, "ERROR :Server %s already exists from %s", - host, acptr->from->name); - sendto_ops - ("Link %s cancelled, server %s already exists from %s", - get_client_name(acptr, TRUE), host, - (acptr->from ? acptr->from->name : "")); - return exit_client(acptr, acptr, acptr, "Server Exists"); + acptr = acptr->from; + ocptr = (cptr->firsttime > acptr->firsttime) ? acptr : cptr; + acptr = (cptr->firsttime > acptr->firsttime) ? cptr : acptr; + sendto_one(acptr,"ERROR :Server %s already exists from %s", + host, + (ocptr->from ? ocptr->from->name : "")); + sendto_ops("Link %s cancelled, server %s already exists from %s$ get_client_name(acptr, TRUE), host, + (ocptr->from ? ocptr->from->name : "")); + return exit_client(acptr, acptr, acptr, "Server Exists"); } - /* if ((acptr = find_client(host, NULL))) { sendto_one(cptr, "ERROR :Nickname %s already exists!", host);