From: Perry Lorier Date: Sat, 1 Jul 2000 12:37:03 +0000 (+0000) Subject: Author: Isomer X-Git-Url: http://git.pk910.de/?p=ircu2.10.12-pk.git;a=commitdiff_plain;h=30379f0e863c642fe8843eaf2bdbba81dabf4465 Author: Isomer 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 --- diff --git a/ChangeLog b/ChangeLog index 670e415..5dcb425 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2000-07-01 Perry Lorier + * 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 * ircd/IPcheck.c: Large chunks redone. * ircd/s_conf.c: Changes due to IPcheck - ONE nolonger supported, @@ -1251,7 +1255,7 @@ # # 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. # diff --git a/include/IPcheck.h b/include/IPcheck.h index 088129a..e47eb31 100644 --- a/include/IPcheck.h +++ b/include/IPcheck.h @@ -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 */ diff --git a/ircd/s_conf.c b/ircd/s_conf.c index 284f01e..83b0b0f 100644 --- a/ircd/s_conf.c +++ b/ircd/s_conf.c @@ -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)