X-Git-Url: https://jfr.im/git/solanum.git/blobdiff_plain/4562c604897f18f08e1bee993d455d9c1774f9ad..b2c208be091670e3c5259eba77187bae6ac6eece:/modules/m_signon.c diff --git a/modules/m_signon.c b/modules/m_signon.c index 51d79714..79480d94 100644 --- a/modules/m_signon.c +++ b/modules/m_signon.c @@ -152,7 +152,11 @@ me_svslogin(struct Client *client_p, struct Client *source_p, int valid = 0; if(!(source_p->flags & FLAGS_SERVICE)) + { + sendto_realops_snomask(SNO_GENERAL, L_ALL, + "Non-service server %s attempting to execute services-only command SVSLOGIN", source_p->name); return 0; + } if((target_p = find_client(parv[1])) == NULL) return 0; @@ -213,8 +217,11 @@ me_svslogin(struct Client *client_p, struct Client *source_p, exist_p->flags |= FLAGS_KILLED; kill_client_serv_butone(NULL, exist_p, "%s (Nickname regained by services)", me.name); + sendto_realops_snomask(SNO_SKILL, L_ALL, + "Nick collision due to SVSLOGIN on %s", + nick); - snprintf(buf, sizeof(buf), "Killed (%s (Nickname regained by services))", + rb_snprintf(buf, sizeof(buf), "Killed (%s (Nickname regained by services))", me.name); exit_client(NULL, exist_p, &me, buf); }else if((exist_p = find_client(nick)) && IsUnknown(exist_p) && exist_p != target_p) { @@ -431,9 +438,6 @@ send_signon(struct Client *client_p, struct Client *target_p, sendto_server(client_p, NULL, CAP_TS6, NOCAPS, ":%s SIGNON %s %s %s %ld %s", use_id(target_p), nick, user, host, (long) target_p->tsinfo, *login ? login : "0"); - sendto_server(client_p, NULL, NOCAPS, CAP_TS6, ":%s SIGNON %s %s %s %ld %s", - target_p->name, nick, user, host, - (long) target_p->tsinfo, *login ? login : "0"); strcpy(target_p->user->suser, login);