IPv6 support (hopefully with fewer future transition pains)
[ircu2.10.12-pk.git] / ircd / s_misc.c
index bf37eb95eb42a68aee0c542c3bf17593c75fa08e..16162a6de1ec40469fc6f874aa0cb8bb1ef21a66 100644 (file)
 #include "hash.h"
 #include "ircd.h"
 #include "ircd_alloc.h"
+#include "ircd_auth.h"
 #include "ircd_features.h"
 #include "ircd_log.h"
 #include "ircd_reply.h"
 #include "ircd_snprintf.h"
 #include "ircd_string.h"
 #include "list.h"
-#include "map.h"
 #include "match.h"
 #include "msg.h"
 #include "numeric.h"
@@ -296,6 +296,8 @@ static void exit_one_client(struct Client* bcptr, const char* comment)
     assert(!IsServer(bcptr));
     /* bcptr->user->server->serv->client_list[IndexYXX(bcptr)] = NULL; */
     RemoveYXXClient(cli_user(bcptr)->server, cli_yxx(bcptr));
+    if (IsIAuthed(bcptr) || cli_iauth(bcptr))
+        iauth_exit_client(bcptr);
   }
 
   /* Remove bcptr from the client list */
@@ -401,7 +403,7 @@ int exit_client(struct Client *cptr,    /* Connection being handled by
                            "Client exiting: %s (%s@%s) [%s] [%s] <%s%s>",
                            cli_name(victim), cli_user(victim)->username,
                            cli_user(victim)->host, comment,
-                           ircd_ntoa((const char*) &(cli_ip(victim))),
+                           ircd_ntoa(&cli_ip(victim)),
                            NumNick(victim) /* two %s's */);
     update_load();
 
@@ -411,7 +413,7 @@ int exit_client(struct Client *cptr,    /* Connection being handled by
       log_write(LS_USER, L_TRACE, 0, "%Tu %i %s@%s %s %s %s%s %s :%s",
                cli_firsttime(victim), on_for,
                cli_user(victim)->username, cli_sockhost(victim),
-                ircd_ntoa((const char*) &(cli_ip(victim))),
+                ircd_ntoa(&cli_ip(victim)),
                 IsAccount(victim) ? cli_username(victim) : "0",
                 NumNick(victim), /* two %s's */
                 cli_name(victim), cli_info(victim));
@@ -492,9 +494,6 @@ int exit_client(struct Client *cptr,    /* Connection being handled by
                           get_client_name(killer, HIDE_IP));
     sendto_opmask_butone(0, SNO_NETWORK, "Net break: %C %C (%s)",
                         cli_serv(victim)->up, victim, comment);
-
-    if (feature_bool(FEAT_HIS_MAP) || feature_bool(FEAT_HIS_LINKS))
-      map_update(victim);
   }
 
   /*