Fix SF bug #2793176 by making sure check_loop_and_lh() returns non-1 when it kills...
authorMichael Poole <mdpoole@troilus.org>
Sun, 3 Jan 2010 20:43:17 +0000 (20:43 +0000)
committerMichael Poole <mdpoole@troilus.org>
Sun, 3 Jan 2010 20:43:17 +0000 (20:43 +0000)
git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/branches/u2_10_12_branch@1927 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

ChangeLog
ircd/m_server.c

index 4fa0b8bdb779589f6b6568593139940c63c8bff0..fe178de3ae0a774a59e001046f1f9408a45018a2 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2010-01-03  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/m_server.c (check_loop_and_lh): Never return 1 when we kill
+       another server.  Update the squit message text for maxhops and hub
+       violations.
+
 2010-01-03  Michael Poole <mdpoole@troilus.org>
 
        * ircd/Makefile.in (IRCD_SRC): Add m_xquery.c and m_xreply.c to
index 51ed2c881b45c3dd00b141a6d6ac1fad4465ec50..1e38d39746079a768573c3e51e432d62175c62a0 100644 (file)
@@ -407,14 +407,14 @@ check_loop_and_lh(struct Client* cptr, struct Client *sptr, time_t *ghost, const
     if (active_lh_line == 1)
     {
       if (exit_client_msg(cptr, LHcptr, &me,
-                          "Leaf-only link %s <- %s, check L:",
+                          "Maximum hops exceeded for %s at %s",
                           cli_name(cptr), host) == CPTR_KILLED)
         return CPTR_KILLED;
     }
     else if (active_lh_line == 2)
     {
       if (exit_client_msg(cptr, LHcptr, &me,
-                          "Non-Hub link %s <- %s, check H:",
+                          "%s is not allowed to hub for %s",
                           cli_name(cptr), host) == CPTR_KILLED)
         return CPTR_KILLED;
     }
@@ -424,11 +424,8 @@ check_loop_and_lh(struct Client* cptr, struct Client *sptr, time_t *ghost, const
       if (exit_client(cptr, LHcptr, &me, "I'm a leaf, define HUB") == CPTR_KILLED)
         return CPTR_KILLED;
     }
-    /*
-     * Did we kill the incoming server off already ?
-     */
-    if (killed)
-      return 0;
+    /* We just squit somebody, and it wasn't cptr. */
+    return 0;
   }
 
   return 1;