Author: Isomer <isomer@coders.net>
authorPerry Lorier <isomer@undernet.org>
Sat, 1 Jul 2000 12:37:03 +0000 (12:37 +0000)
committerPerry Lorier <isomer@undernet.org>
Sat, 1 Jul 2000 12:37:03 +0000 (12:37 +0000)
Log message:

Fixed the "bug" that admin's keep reporting that people are slipping through
they're K:'s and when they /rehash they see a whole heap suddenly get removed.

What really happens:
 When a /rehash comes in everyones compared against all the glines and klines,
including unregistered people that haven't had the tests done yet.  So the
reason that they see people being 'glined' is because they haven't been tested
yet.

The fix?  We now say "Gline active for Unregistered Client foo" where
appropriate.  Thus making it more obvious to everyone whats going on.

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@262 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

ChangeLog
include/IPcheck.h
ircd/s_conf.c

index 670e415bb516445c2a6d52b5d002e1683cce0667..5dcb425039575c51d5a0178e9c4955a15fe24535 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2000-07-01  Perry Lorier       <Isomer@coders.net>
+       * ircd/s_conf.c: "Fixed" the "bug" where people would "evade" K:'s.
+       * ircd/s_conf.c, include/IPcheck.h: Fixed compile warnings.
+
 2000-06-22  Perry Lorier       <Isomer@coders.net>
        * ircd/IPcheck.c: Large chunks redone.
        * ircd/s_conf.c: Changes due to IPcheck - ONE nolonger supported,
 #
 # ChangeLog for ircu2.10.11
 #
-# $Id: ChangeLog,v 1.151 2000-07-01 05:24:55 isomer Exp $
+# $Id: ChangeLog,v 1.152 2000-07-01 12:37:02 isomer Exp $
 #
 # Insert new changes at beginning of the change list.
 #
index 088129a546bb07a717ff8575ead172f7edf8528f..e47eb31d3af72ed9388b9986573a35e0e91e2d5e 100644 (file)
@@ -23,5 +23,6 @@ extern void ip_registry_connect_succeeded(struct Client *cptr);
 extern void ip_registry_local_disconnect(struct Client *cptr);
 extern void ip_registry_remote_disconnect(struct Client *cptr);
 extern void ip_registry_connect_succeeded(struct Client *cptr);
+extern int ip_registry_count(unsigned int addr);
 
 #endif /* INCLUDED_ipcheck_h */
index 284f01e64bbd25978ec5c82a45d43797e28f8990..83b0b0fae09bedb0d2b82dbc7e6729e63ef49b6a 100644 (file)
@@ -785,7 +785,7 @@ struct ConfItem* find_conf_byname(struct SLink* lp, const char* name,
 struct ConfItem* find_conf_byhost(struct SLink* lp, const char* host,
                                   int statmask)
 {
-  struct ConfItem* tmp;
+  struct ConfItem* tmp = NULL;
   assert(0 != host);
 
   if (HOSTLEN < strlen(host))
@@ -963,10 +963,15 @@ int rehash(struct Client *cptr, int sig)
         attach_confs_byname(acptr, acptr->name,
                             CONF_HUB | CONF_LEAF | CONF_UWORLD);
       }
+      /* Because admin's are getting so uppity about people managing to
+       * get past K/G's etc, we'll "fix" the bug by actually explaining
+       * whats going on.
+       */
       if ((found_g = find_kill(acptr))) {
         sendto_opmask_butone(0, found_g == -2 ? SNO_GLINE : SNO_OPERKILL,
-                            found_g == -2 ? "G-line active for %s" :
-                            "K-line active for %s",
+                            found_g == -2 ? "G-line active for %s%s" :
+                            "K-line active for %s%s",
+                            IsUnknown(acptr) ? "Unregistered Client ":"",                   
                             get_client_name(acptr, HIDE_IP));
         if (exit_client(cptr, acptr, &me, found_g == -2 ? "G-lined" :
             "K-lined") == CPTR_KILLED)