implemented custom KeepConn Time Mode (+K <time>) and relay command for external...
[ircu2.10.12-pk.git] / ircd / ircd.c
index 91ab9b41f6d5de57e42b85ce7153e62713039b5f..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 (15 minutes) */
-      if ((CurrentTime - cli_user(cptr)->last) >= 900) {
+      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;
     }