]> jfr.im git - irc/rqf/shadowircd.git/blobdiff - src/s_user.c
[svn] - change some sendto_one() to sendto_one_numeric().
[irc/rqf/shadowircd.git] / src / s_user.c
index a6196d6028f142cb6b24e3c38ed6f0b4c0e037a8..35807179bf25a45fa419d3ca24536c3d7958ef4d 100644 (file)
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: s_user.c 3219 2007-02-24 19:34:28Z jilles $
+ *  $Id: s_user.c 3368 2007-04-03 10:11:06Z nenolod $
  */
 
 #include "stdinc.h"
@@ -415,21 +415,6 @@ register_local_user(struct Client *client_p, struct Client *source_p, const char
                return (CLIENT_EXITED);
        }
 
-       /* valid user name check */
-
-       if(!valid_username(source_p->username))
-       {
-               sendto_realops_snomask(SNO_REJ, L_ALL,
-                                    "Invalid username: %s (%s@%s)",
-                                    source_p->name, source_p->username, source_p->host);
-               ServerStats->is_ref++;
-               ircsprintf(tmpstr2, "Invalid username [%s]", source_p->username);
-               exit_client(client_p, source_p, &me, tmpstr2);
-               return (CLIENT_EXITED);
-       }
-
-       /* end of valid user name check */
-
        /* kline exemption extends to xline too */
        if(!IsExemptKline(source_p) &&
           find_xline(source_p->info, 1) != NULL)
@@ -448,7 +433,7 @@ register_local_user(struct Client *client_p, struct Client *source_p, const char
                                        source_p->sockhost, source_p->preClient->dnsbl_listed->host);
                else
                {
-                       dlink_list varlist;
+                       dlink_list varlist = { NULL, NULL, 0 };
 
                        substitution_append_var(&varlist, "nick", source_p->name);
                        substitution_append_var(&varlist, "ip", source_p->sockhost);
@@ -473,6 +458,21 @@ register_local_user(struct Client *client_p, struct Client *source_p, const char
                }
        }
 
+       /* valid user name check */
+
+       if(!valid_username(source_p->username))
+       {
+               sendto_realops_snomask(SNO_REJ, L_ALL,
+                                    "Invalid username: %s (%s@%s)",
+                                    source_p->name, source_p->username, source_p->host);
+               ServerStats->is_ref++;
+               ircsprintf(tmpstr2, "Invalid username [%s]", source_p->username);
+               exit_client(client_p, source_p, &me, tmpstr2);
+               return (CLIENT_EXITED);
+       }
+
+       /* end of valid user name check */
+
        /* Store original hostname -- jilles */
        strlcpy(source_p->orighost, source_p->host, HOSTLEN + 1);
 
@@ -942,9 +942,11 @@ user_mode(struct Client *client_p, struct Client *source_p, int parc, const char
 
                *m = '\0';
                sendto_one(source_p, form_str(RPL_UMODEIS), me.name, source_p->name, buf);
+
                if (source_p->snomask != 0)
-                       sendto_one(source_p, form_str(RPL_SNOMASK), me.name, source_p->name,
+                       sendto_one_numeric(source_p, RPL_SNOMASK, form_str(RPL_SNOMASK),
                                construct_snobuf(source_p->snomask));
+
                return 0;
        }
 
@@ -1117,7 +1119,7 @@ user_mode(struct Client *client_p, struct Client *source_p, int parc, const char
         */
        send_umode_out(client_p, source_p, setflags);
        if (showsnomask && MyConnect(source_p))
-               sendto_one(source_p, form_str(RPL_SNOMASK), me.name, source_p->name,
+               sendto_one_numeric(source_p, RPL_SNOMASK, form_str(RPL_SNOMASK),
                        construct_snobuf(source_p->snomask));
 
        return (0);
@@ -1217,14 +1219,11 @@ send_umode_out(struct Client *client_p, struct Client *source_p, int old)
 void
 user_welcome(struct Client *source_p)
 {
-       sendto_one(source_p, form_str(RPL_WELCOME), me.name, source_p->name,
-                  ServerInfo.network_name, source_p->name);
-       sendto_one(source_p, form_str(RPL_YOURHOST), me.name,
-                  source_p->name,
+       sendto_one_numeric(source_p, RPL_WELCOME, form_str(RPL_WELCOME), ServerInfo.network_name, source_p->name);
+       sendto_one_numeric(source_p, RPL_YOURHOST, form_str(RPL_YOURHOST),
                   get_listener_name(source_p->localClient->listener), ircd_version);
-
-       sendto_one(source_p, form_str(RPL_CREATED), me.name, source_p->name, creation);
-       sendto_one(source_p, form_str(RPL_MYINFO), me.name, source_p->name, me.name, ircd_version, umodebuf);
+       sendto_one_numeric(source_p, RPL_CREATED, form_str(RPL_CREATED), creation);
+       sendto_one_numeric(source_p, RPL_MYINFO, form_str(RPL_MYINFO), me.name, ircd_version, umodebuf);
 
        show_isupport(source_p);
 
@@ -1312,7 +1311,7 @@ oper_up(struct Client *source_p, struct oper_conf *oper_p)
        if((old & UMODE_INVISIBLE) && !IsInvisible(source_p))
                --Count.invisi;
        send_umode_out(source_p, source_p, old);
-       sendto_one(source_p, form_str(RPL_SNOMASK), me.name, source_p->name,
+       sendto_one_numeric(source_p, RPL_SNOMASK, form_str(RPL_SNOMASK),
                   construct_snobuf(source_p->snomask));
        sendto_one(source_p, form_str(RPL_YOUREOPER), me.name, source_p->name);
        sendto_one_notice(source_p, ":*** Oper privs are %s", get_oper_privs(oper_p->flags));
@@ -1452,8 +1451,8 @@ change_nick_user_host(struct Client *target_p,    const char *nick, const char *use
                                target_p->host, nick);
        }
 
-       strlcpy(target_p->username, user, USERLEN);
-       strlcpy(target_p->host, host, HOSTLEN);
+       strlcpy(target_p->username, user, sizeof target_p->username);
+       strlcpy(target_p->host, host, sizeof target_p->host);
 
        if (changed)
                add_history(target_p, 1);