From 3e1d1aedb4418168ef418a11dbeceb6750e1ac76 Mon Sep 17 00:00:00 2001 From: Michael Poole Date: Sat, 15 May 2004 21:39:16 +0000 Subject: [PATCH] Forward port 2.10.11 fixes for registration failures. git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@1061 c9e4aea6-c8fd-4c43-8297-357d70d61c8c --- ChangeLog | 20 +++++++++++++++++++- ircd/s_user.c | 11 +++++++---- 2 files changed, 26 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index e9b09e8..8dc2146 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,22 @@ -2004-05-15 beware +2004-05-15 Isomer + + [Original ChangeLog date: 2003-11-23 -MDP] + + * ircd/s_user.c: Don't credit users with an extra attempt if they + are klined/glined, throttle them! + +2004-05-15 Jeekay + + [Original ChangeLog date: 2003-04-24 -MDP] + + * ircd/s_user.c: Altered (K-lined) to depend on find_kill type + +2004-05-15 Michael Poole + + * ircd/s_user.c (hide_hostmask): Never send rejoins to a channel + when a zombie hides his hostmask. + +2004-05-15 beware [Original ChangeLog date: 2003-10-25 -MDP] diff --git a/ircd/s_user.c b/ircd/s_user.c index 7134b25..f28d9af 100644 --- a/ircd/s_user.c +++ b/ircd/s_user.c @@ -362,6 +362,7 @@ int register_user(struct Client *cptr, struct Client *sptr, short badid = 0; short digitgroups = 0; struct User* user = cli_user(sptr); + int killreason; char ip_base64[8]; user->last = CurrentTime; @@ -432,7 +433,6 @@ int register_user(struct Client *cptr, struct Client *sptr, && strcmp(cli_passwd(sptr), aconf->passwd)) { ServerStats->is_ref++; - IPcheck_connect_fail(cli_ip(sptr)); send_reply(sptr, ERR_PASSWDMISMATCH); return exit_client(cptr, sptr, &me, "Bad Password"); } @@ -440,10 +440,11 @@ int register_user(struct Client *cptr, struct Client *sptr, /* * following block for the benefit of time-dependent K:-lines */ - if (find_kill(sptr)) { + killreason = find_kill(sptr); + if (killreason) { ServerStats->is_ref++; - IPcheck_connect_fail(cli_ip(sptr)); - return exit_client(cptr, sptr, &me, "K-lined"); + return exit_client(cptr, sptr, &me, + (killreason == -1 ? "K-lined" : "G-lined")); } /* * Check for mixed case usernames, meaning probably hacked. Jon2 3-94 @@ -1085,6 +1086,8 @@ hide_hostmask(struct Client *cptr, unsigned int flag) */ for (chan = cli_user(cptr)->channel; chan; chan = chan->next_channel) { + if (IsZombie(chan)) + continue; /* For a user with no modes in a join-delayed channel, do not show * the rejoin. */ if (!IsChanOp(chan) && !HasVoice(chan) -- 2.20.1