Forward port 2.10.11 fixes for registration failures.
authorMichael Poole <mdpoole@troilus.org>
Sat, 15 May 2004 21:39:16 +0000 (21:39 +0000)
committerMichael Poole <mdpoole@troilus.org>
Sat, 15 May 2004 21:39:16 +0000 (21:39 +0000)
git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@1061 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

ChangeLog
ircd/s_user.c

index e9b09e810f0d2f11159f07efecf2d0226d036104..8dc2146b41b31dd44fd43cb99e19611d6edb965a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,22 @@
-2004-05-15 beware <steendijk@xs4all.nl>
+2004-05-15 Isomer <isomer@undernet.org>
+
+       [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 <jeekay@netgamers.org>
+
+       [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 <mdpoole@troilus.org>
+
+       * ircd/s_user.c (hide_hostmask): Never send rejoins to a channel
+       when a zombie hides his hostmask.
+
+2004-05-15  beware <steendijk@xs4all.nl>
 
        [Original ChangeLog date: 2003-10-25 -MDP]
        
index 7134b256d7155847309fbc098a852300020e62d7..f28d9af0213172d9548e132f2a0e7881cb3143d4 100644 (file)
@@ -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)