Fix SF bug #2793176 by making sure check_loop_and_lh() returns non-1 when it kills...
[ircu2.10.12-pk.git] / ircd / m_server.c
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;