]> jfr.im git - irc/rqf/shadowircd.git/blobdiff - src/client.c
Automated merge with ssh://hg.atheme.org//hg/charybdis
[irc/rqf/shadowircd.git] / src / client.c
index 29e2fedcba50dbc130321c3524689dda0aaadf22..bb0f472f3a921f942a860b51f30ef1ce56ce40cc 100644 (file)
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: client.c 3319 2007-03-29 20:03:06Z jilles $
+ *  $Id: client.c 3514 2007-06-06 16:25:21Z nenolod $
  */
 #include "stdinc.h"
 #include "config.h"
@@ -58,6 +58,8 @@
 #include "msg.h"
 #include "monitor.h"
 #include "blacklist.h"
+#include "reject.h"
+#include "scache.h"
 
 #define DEBUG_EXITED_CLIENTS
 
@@ -1099,7 +1101,7 @@ free_exited_clients(void *unused)
                                                target_p->name, (unsigned int) target_p->status,
                                                target_p->flags, target_p->flags2, target_p->handler);
                                        sendto_realops_snomask(SNO_GENERAL, L_ALL,
-                                               "Please report this to the ratbox developers!");
+                                               "Please report this to the charybdis developers!");
                                        found++;
                                }
                        }
@@ -1284,7 +1286,7 @@ exit_aborted_clients(void *unused)
                                        abt->client->name, (unsigned int) abt->client->status,
                                        abt->client->flags, abt->client->flags2, abt->client->handler);
                                sendto_realops_snomask(SNO_GENERAL, L_ALL,
-                                       "Please report this to the ratbox developers!");
+                                       "Please report this to the charybdis developers!");
                                continue;
                        }
                }
@@ -1419,6 +1421,7 @@ exit_unknown_client(struct Client *client_p, struct Client *source_p, struct Cli
 {
        delete_auth_queries(source_p);
        client_flush_input(source_p);
+       del_unknown_ip(source_p);
        dlinkDelete(&source_p->localClient->tnode, &unknown_list);
 
        if(!IsIOError(source_p))
@@ -1434,7 +1437,6 @@ exit_unknown_client(struct Client *client_p, struct Client *source_p, struct Cli
        del_from_hostname_hash(source_p->host, source_p);
        del_from_client_hash(source_p->name, source_p);
        remove_client_from_list(source_p);
-       free_pre_client(source_p);
        SetDead(source_p);
        dlinkAddAlloc(source_p, &dead_list);
 
@@ -1454,11 +1456,7 @@ exit_remote_server(struct Client *client_p, struct Client *source_p, struct Clie
                strcpy(comment1, "*.net *.split");
        else
        {
-               if((source_p->serv) && (source_p->serv->up))
-                       strcpy(comment1, source_p->serv->up);
-               else
-                       strcpy(comment1, "<Unknown>");
-               
+               strcpy(comment1, source_p->servptr->name);
                strcat(comment1, " ");
                strcat(comment1, source_p->name);
        }
@@ -1490,6 +1488,7 @@ exit_remote_server(struct Client *client_p, struct Client *source_p, struct Clie
 
        del_from_client_hash(source_p->name, source_p);
        remove_client_from_list(source_p);  
+       scache_split(source_p->serv->nameinfo);
        
        SetDead(source_p);
 #ifdef DEBUG_EXITED_CLIENTS
@@ -1566,11 +1565,7 @@ exit_local_server(struct Client *client_p, struct Client *source_p, struct Clien
                strcpy(comment1, "*.net *.split");
        else
        {
-               if((source_p->serv) && (source_p->serv->up))
-                       strcpy(comment1, source_p->serv->up);
-               else
-                       strcpy(comment1, "<Unknown>");
-               
+               strcpy(comment1, source_p->servptr->name);
                strcat(comment1, " ");
                strcat(comment1, source_p->name);
        }
@@ -1590,6 +1585,7 @@ exit_local_server(struct Client *client_p, struct Client *source_p, struct Clien
 
        del_from_client_hash(source_p->name, source_p);
        remove_client_from_list(source_p);
+       scache_split(source_p->serv->nameinfo);
        
        SetDead(source_p);
        dlinkAddAlloc(source_p, &dead_list);