diff -ru irc2.10.3p5+hemp2+xline2/common/parse.c irc2.10.3p5+hemp2+xline2+kp/common/parse.c
--- irc2.10.3p5+hemp2+xline2/common/parse.c     Fri Jan 16 15:58:40 2004
+++ irc2.10.3p5+hemp2+xline2+kp/common/parse.c  Fri Jan 16 16:03:30 2004
@@ -104,8 +104,8 @@
 #endif
   { MSG_SQUERY,  m_squery,   MAXPARA, MSG_LAG|MSG_REGU, 0, 0, 0L},
   { MSG_SERVLIST,m_servlist, MAXPARA, MSG_LAG|MSG_REG, 0, 0, 0L},
-  { MSG_HASH,    m_hash,     MAXPARA, MSG_LAG|MSG_REG, 0, 0, 0L},
-  { MSG_DNS,     m_dns,      MAXPARA, MSG_LAG|MSG_REG, 0, 0, 0L},
+  { MSG_HASH,    m_hash,     MAXPARA, MSG_LAG|MSG_REG|MSG_OP, 0, 0, 0L},
+  { MSG_DNS,     m_dns,      MAXPARA, MSG_LAG|MSG_REG|MSG_OP, 0, 0, 0L},
 #ifdef OPER_REHASH
   { MSG_REHASH,  m_rehash,   MAXPARA, MSG_REGU|MSG_OP
 # ifdef        LOCOP_REHASH
diff -ru irc2.10.3p5+hemp2+xline2/common/struct_def.h irc2.10.3p5+hemp2+xline2+kp/common/struct_def.h
--- irc2.10.3p5+hemp2+xline2/common/struct_def.h        Fri Jan 16 15:58:40 2004
+++ irc2.10.3p5+hemp2+xline2+kp/common/struct_def.h     Fri Jan 16 21:29:32 2004
@@ -179,6 +179,7 @@
 #define        FLAGS_INVISIBLE  0x0008 /* makes user invisible */
 #define FLAGS_RESTRICTED 0x0010 /* Restricted user */
 #define FLAGS_AWAY       0x0020 /* user is away */
+#define FLAGS_NOIDLE     0x0100 /* user doesn't show idle time */

 #define FLAGS_BADBOY     0x10000 /* delay close this client */
 #ifdef ILINE_FLAGS
@@ -186,7 +187,7 @@

 #endif
 #define        SEND_UMODES     (FLAGS_INVISIBLE|FLAGS_OPER|FLAGS_WALLOP|FLAGS_AWAY)
-#define        ALL_UMODES      (SEND_UMODES|FLAGS_LOCOP|FLAGS_RESTRICTED)
+#define        ALL_UMODES      (SEND_UMODES|FLAGS_LOCOP|FLAGS_RESTRICTED|FLAGS_NOIDLE)

 /*
  * flags macros.
@@ -198,6 +199,7 @@
                                 (x)->user->flags & FLAGS_RESTRICTED)
 #define        IsAnOper(x)             ((x)->user && \
                                 (x)->user->flags & (FLAGS_OPER|FLAGS_LOCOP))
+#define        HasNoIdle(x)            ((x)->user->flags & FLAGS_NOIDLE)
 #define        IsPerson(x)             ((x)->user && IsClient(x))
 #define        IsPrivileged(x)         (IsServer(x) || IsAnOper(x))
 #define        SendWallops(x)          ((x)->user->flags & FLAGS_WALLOP)
@@ -213,6 +215,7 @@
 #define        SetInvisible(x)         ((x)->user->flags |= FLAGS_INVISIBLE)
 #define SetRestricted(x)        ((x)->user->flags |= FLAGS_RESTRICTED)
 #define        SetWallops(x)           ((x)->user->flags |= FLAGS_WALLOP)
+#define        SetNoIdle(x)            ((x)->user->flags |= FLAGS_NOIDLE)
 #define        SetUnixSock(x)          ((x)->flags |= FLAGS_UNIX)
 #define        SetDNS(x)               ((x)->flags |= FLAGS_DOINGDNS)
 #define        SetDoneXAuth(x)         ((x)->flags |= FLAGS_XAUTHDONE)
@@ -227,6 +230,7 @@
 #define        ClearInvisible(x)       ((x)->user->flags &= ~FLAGS_INVISIBLE)
 #define ClearRestricted(x)      ((x)->user->flags &= ~FLAGS_RESTRICTED)
 #define        ClearWallops(x)         ((x)->user->flags &= ~FLAGS_WALLOP)
+#define        ClearNoIdle(x)          ((x)->user->flags &= ~FLAGS_NOIDLE)
 #define        ClearDNS(x)             ((x)->flags &= ~FLAGS_DOINGDNS)
 #define        ClearAuth(x)            ((x)->flags &= ~FLAGS_AUTH)
 #define        ClearXAuth(x)           ((x)->flags &= ~FLAGS_XAUTH)
diff -ru irc2.10.3p5+hemp2+xline2/common/support.c irc2.10.3p5+hemp2+xline2+kp/common/support.c
--- irc2.10.3p5+hemp2+xline2/common/support.c   Fri Jan 16 15:58:30 2004
+++ irc2.10.3p5+hemp2+xline2+kp/common/support.c        Fri Jan 16 17:17:34 2004
@@ -849,7 +849,7 @@
 char *make_version()
 {
        int ve, re, mi, dv, pl;
-       char ver[50];
+       char ver[64];

        sscanf(PATCHLEVEL, "%2d%2d%2d%2d%2d", &ve, &re, &mi, &dv, &pl);
        /* version & revision */
@@ -861,7 +861,7 @@
                sprintf(ver + strlen(ver), "%c%d", DEVLEVEL, dv);
        if (pl) /* patchlevel */
                sprintf(ver + strlen(ver), "p%d", pl);
-       strcat(ver,"+hemp2");
+       strcat(ver,"+kp");
        return mystrdup(ver);
 }
 #ifndef CLIENTCOMPILE
Only in irc2.10.3p5+hemp2+xline2+kp/: i386-unknown-freebsd4.9
diff -ru irc2.10.3p5+hemp2+xline2/ircd/s_err.c irc2.10.3p5+hemp2+xline2+kp/ircd/s_err.c
--- irc2.10.3p5+hemp2+xline2/ircd/s_err.c       Fri Jan 16 15:58:30 2004
+++ irc2.10.3p5+hemp2+xline2+kp/ircd/s_err.c    Fri Jan 16 21:48:36 2004
@@ -40,7 +40,7 @@
 /* 001 */      { RPL_WELCOME, ":Welcome to the Internet Relay Network %s" },
 /* 002 */      { RPL_YOURHOST, ":Your host is %s, running version %s" },
 /* 003 */      { RPL_CREATED, ":This server was created %s" },
-/* 004 */      { RPL_MYINFO, "%s %s aoOirw abeiIklmnoOpqrstv" },
+/* 004 */      { RPL_MYINFO, "%s %s aoOirwt abeiIklmnoOpqrstv" },
 #ifdef SEND_ISUPPORT
 /* 005 */      //{ RPL_ISUPPORT, "MAP PREFIX=(ov)@+ MODES=3 CHANTYPES=#&!+ MAXCHANNELS=%d NICKLEN=%d TOPICLEN=%d KICKLEN=%d NETWORK=%s CHANMODES=beI,k,l,imnpstaqr :are supported by this server" },
 /* 005 */      { RPL_ISUPPORT, "%s :are supported by this server" },
diff -ru irc2.10.3p5+hemp2+xline2/ircd/s_user.c irc2.10.3p5+hemp2+xline2+kp/ircd/s_user.c
--- irc2.10.3p5+hemp2+xline2/ircd/s_user.c      Fri Jan 16 15:58:40 2004
+++ irc2.10.3p5+hemp2+xline2+kp/ircd/s_user.c   Fri Jan 16 17:16:55 2004
@@ -39,6 +39,7 @@
                                 FLAGS_WALLOP, 'w',
                                 FLAGS_RESTRICTED, 'r',
                                 FLAGS_AWAY, 'a',
+                                FLAGS_NOIDLE, 't',
                                 0, 0 };

 /*
@@ -1890,7 +1891,7 @@
        if (IsAnOper(acptr))
                sendto_one(sptr, rpl_str(RPL_WHOISOPERATOR, sptr->name), name);

-       if (acptr->user && MyConnect(acptr))
+       if (acptr->user && MyConnect(acptr) && (!HasNoIdle(acptr) || IsAnOper(sptr)))
                sendto_one(sptr, rpl_str(RPL_WHOISIDLE, sptr->name),
 #ifdef WHOIS_SIGNON_TIME
                           name, timeofday - user->last,acptr->firsttime);
@@ -3100,6 +3101,9 @@
                        ClearOper(sptr);
                if (!(setflags & FLAGS_LOCOP) && IsLocOp(sptr))
                        sptr->user->flags &= ~FLAGS_LOCOP;
+               if (!(setflags & FLAGS_NOIDLE) && HasNoIdle(sptr) &&
+                   !IsOper(sptr) && !IsLocOp(sptr))
+                       ClearNoIdle(sptr);
                if ((setflags & FLAGS_RESTRICTED) &&
                    !(sptr->user->flags & FLAGS_RESTRICTED))
                    {
