if(has_id(client_p) && (target_p = find_id(client_p->id)) != NULL)
{
sendto_realops_snomask(SNO_GENERAL, is_remote_connect(client_p) ? L_NETWIDE : L_ALL,
- "Attempt to re-introduce SID %s from %s%s",
+ "Attempt to re-introduce SID %s from %s%s (already in use by %s)",
client_p->id,
EmptyString(client_p->name) ? name : "",
- client_p->name);
- ilog(L_SERVER, "Attempt to re-introduce SID %s from %s%s",
+ client_p->name, target_p->name);
+ ilog(L_SERVER, "Attempt to re-introduce SID %s from %s%s (already in use by %s)",
client_p->id,
EmptyString(client_p->name) ? name : "",
- log_client_name(client_p, SHOW_IP));
+ log_client_name(client_p, SHOW_IP),
+ target_p->name);
sendto_one(client_p, "ERROR :SID already exists.");
exit_client(client_p, client_p, client_p, "SID Exists");
int hop;
int hlined = 0;
int llined = 0;
+ char squitreason[160];
hop = atoi(parv[2]);
/* collision on the SID? */
if((target_p = find_id(parv[3])) != NULL)
{
- sendto_one(client_p, "ERROR :SID %s already exists", parv[3]);
- sendto_realops_snomask(SNO_GENERAL, L_ALL,
- "Link %s cancelled, SID %s already exists",
- client_p->name, parv[3]);
- ilog(L_SERVER, "Link %s cancelled, SID %s already exists",
- client_p->name, parv[3]);
-
- exit_client(NULL, client_p, &me, "SID Exists");
+ sendto_wallops_flags(UMODE_WALLOP, &me,
+ "Link %s cancelled, SID %s for server %s already in use by %s",
+ client_p->name, parv[3], parv[1], target_p->name);
+ sendto_server(NULL, NULL, CAP_TS6, NOCAPS,
+ ":%s WALLOPS :Link %s cancelled, SID %s for server %s already in use by %s",
+ me.id, client_p->name, parv[3], parv[1], target_p->name);
+ ilog(L_SERVER, "Link %s cancelled, SID %s for server %s already in use by %s",
+ client_p->name, parv[3], parv[1], target_p->name);
+
+ snprintf(squitreason, sizeof squitreason,
+ "SID %s for %s already in use by %s",
+ parv[3], parv[1], target_p->name);
+ exit_client(NULL, client_p, &me, squitreason);
return 0;
}