]> jfr.im git - irc/rqf/shadowircd.git/blobdiff - src/s_user.c
Automated merge with ssh://hg.atheme.org//hg/charybdis
[irc/rqf/shadowircd.git] / src / s_user.c
index 6e25ced11e174b470bcaf5412081ff150c567a8c..ef413d514b5b2bbd4d8256322388b5bdda4203b6 100644 (file)
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: s_user.c 3542 2007-08-01 20:18:12Z jilles $
+ *  $Id: s_user.c 3586 2007-11-20 11:16:43Z nenolod $
  */
 
 #include "stdinc.h"
@@ -464,6 +464,8 @@ register_local_user(struct Client *client_p, struct Client *source_p, const char
                                     "Invalid username: %s (%s@%s)",
                                     source_p->name, source_p->username, source_p->host);
                ServerStats->is_ref++;
+               sendto_one_notice(source_p, ":*** Your username is invalid. Please make sure that your username contains "
+                                           "only alphanumeric characters.");
                ircsprintf(tmpstr2, "Invalid username [%s]", source_p->username);
                exit_client(client_p, source_p, &me, tmpstr2);
                return (CLIENT_EXITED);
@@ -532,12 +534,13 @@ register_local_user(struct Client *client_p, struct Client *source_p, const char
        dlinkMoveNode(&source_p->localClient->tnode, &unknown_list, &lclient_list);
        SetClient(source_p);
 
-       /* XXX source_p->servptr is &me, since local client */
-       source_p->servptr = find_server(NULL, user->server);
+       source_p->servptr = &me;
        dlinkAdd(source_p, &source_p->lnode, &source_p->servptr->serv->users);
+
        /* Increment our total user count here */
        if(++Count.total > Count.max_tot)
                Count.max_tot = Count.total;
+
        source_p->localClient->allow_read = MAX_FLOOD_BURST;
 
        Count.totalrestartcount++;
@@ -634,7 +637,7 @@ introduce_client(struct Client *client_p, struct Client *source_p, struct User *
                              nick, source_p->hopcount + 1,
                              (long) source_p->tsinfo,
                              ubuf, source_p->username, source_p->host,
-                             user->server, source_p->info);
+                             source_p->servptr->name, source_p->info);
        }
        else
                sendto_server(client_p, NULL, NOCAPS, NOCAPS,
@@ -642,7 +645,7 @@ introduce_client(struct Client *client_p, struct Client *source_p, struct User *
                              nick, source_p->hopcount + 1,
                              (long) source_p->tsinfo,
                              ubuf, source_p->username, source_p->host,
-                             user->server, source_p->info);
+                             source_p->servptr->name, source_p->info);
 
        if (IsDynSpoof(source_p))
        {