implemented custom KeepConn Time Mode (+K <time>) and relay command for external...
[ircu2.10.12-pk.git] / ircd / ircd.c
index ad6ae5fb5f9699e4f7e521575496efa005eb9e8a..2b6427de22592c7848e0ab6fc7fa3e1b5a322cb2 100644 (file)
@@ -343,11 +343,10 @@ static void check_pings(struct Event* ev) {
     /* We don't need to check zombies here */
     if (IsNotConn(cptr)) {
       assert(IsUser(cptr));
-      /* for now: reap after fixed time (5 minutes) */
-      if ((CurrentTime - cli_user(cptr)->last) >= 300) {
+      if ((CurrentTime - cli_user(cptr)->last) >= (IsKeepConnEnabled(cptr) ? cptr->keepconn : 300)) {
         SetFlag(cptr, FLAG_DEADSOCKET);
         /* this will be used as exit message */
-        ircd_strncpy(cli_info(cptr), "Ping timeout", REALLEN);
+        ircd_strncpy(cli_info(cptr), "Zombie timeout", REALLEN);
       } else
         continue;
     }