]> jfr.im git - solanum.git/blobdiff - modules/m_signon.c
m_info: Correct description of general::client_exit like in example confs.
[solanum.git] / modules / m_signon.c
index 51d797148c7411cb332369f15ac94646890e2bf9..79480d94826468fb38febe794a1afcee6bdfa523 100644 (file)
@@ -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);