diff --git a/Changes b/Changes index 8e3f1a183..638324561 100644 --- a/Changes +++ b/Changes @@ -553,4 +553,5 @@ - Added #undef SHUN_NOTICES, to add notices for users who are shunned - Fixed bug with U:Lines should be able to privmsg/notice and recieve badwords :P, does not work in channels -- Removed the old GLINE system, TKL is now standard. \ No newline at end of file +- Removed the old GLINE system, TKL is now standard. +- Added INV_TRACK define, we want people testing this. diff --git a/src/fdlist.c b/src/fdlist.c index b57c34f49..6603a61f6 100644 --- a/src/fdlist.c +++ b/src/fdlist.c @@ -37,7 +37,7 @@ void addto_fdlist(int fd, fdlist * listp) * list too big.. must exit */ --listp->last_entry; - + ircd_log("fdlist.c list too big, must exit..."); #ifdef USE_SYSLOG (void)syslog(LOG_CRIT, "fdlist.c list too big.. must exit"); #endif diff --git a/src/list.c b/src/list.c index 32397cd30..5d2e2b703 100644 --- a/src/list.c +++ b/src/list.c @@ -271,7 +271,13 @@ void remove_client_from_list(cptr) if (IsClient(cptr)) { if (IsInvisible(cptr)) + { IRCstats.invisible--; +#ifdef INV_TRACK + ircd_log("invisible-- in %s at %s, for %s client", + __FILE__, __LINE__, (MyClient(cptr) ? "MY" : "REMOTE")); +#endif + } if (IsOper(cptr)) IRCstats.operators--; IRCstats.clients--; diff --git a/src/s_user.c b/src/s_user.c index d9237fd26..7b32f7c88 100644 --- a/src/s_user.c +++ b/src/s_user.c @@ -2908,7 +2908,6 @@ int m_user(cptr, sptr, parc, parv) if (!IsServer(cptr)) { - sptr->umodes |= (UFLAGS & atoi(host)); if (MODE_I == 1) { sptr->umodes |= UMODE_INVISIBLE; @@ -2927,6 +2926,10 @@ int m_user(cptr, sptr, parc, parv) if (sptr->umodes & UMODE_INVISIBLE) { +#ifdef INV_TRACK + ircd_log("invisible++ in %s:%s for %s client", + __FILE__, __LINE__, MyClient(sptr) ? "MY" : "REMOTE"); +#endif IRCstats.invisible++; } @@ -4433,10 +4436,22 @@ int m_umode(cptr, sptr, parc, parv) } if (!(setflags & UMODE_INVISIBLE) && IsInvisible(sptr)) + { +#ifdef INV_TRACK + ircd_log("invisible++ in %s:%s for %s client", + __FILE__, __LINE__, MyClient(sptr) ? "MY" : "REMOTE"); +#endif IRCstats.invisible++; + } if ((setflags & UMODE_INVISIBLE) && !IsInvisible(sptr)) - IRCstats.invisible--; + { +#ifdef INV_TRACK + ircd_log("invisible-- in %s:%s for %s client", + __FILE__, __LINE__, MyClient(sptr) ? "MY" : "REMOTE"); +#endif + IRCstats.invisible--; + } /* * compare new flags with old flags and send string which * will cause servers to update correctly. @@ -4535,9 +4550,21 @@ int m_svs2mode(cptr, sptr, parc, parv) break; case 'i': if (what == MODE_ADD) + { +#ifdef INV_TRACK + ircd_log("invisible++ in %s:%s for %s client", + __FILE__, __LINE__, MyClient(sptr) ? "MY" : "REMOTE"); +#endif IRCstats.invisible++; + } if (what == MODE_DEL) + { +#ifdef INV_TRACK + ircd_log("invisible-- in %s:%s for %s client", + __FILE__, __LINE__, MyClient(sptr) ? "MY" : "REMOTE"); +#endif IRCstats.invisible--; + } goto setmodey; case 'o': if (what == MODE_ADD) @@ -4628,15 +4655,29 @@ int m_svsmode(cptr, sptr, parc, parv) break; case 'i': if (what == MODE_ADD) + { +#ifdef INV_TRACK + ircd_log("invisible++ in %s:%s for %s client", + __FILE__, __LINE__, MyClient(sptr) ? "MY" : "REMOTE"); +#endif IRCstats.invisible++; + } if (what == MODE_DEL) + { +#ifdef INV_TRACK + ircd_log("invisible-- in %s:%s for %s client", + __FILE__, __LINE__, MyClient(sptr) ? "MY" : "REMOTE"); +#endif + IRCstats.invisible--; + } goto setmodex; case 'o': if (what == MODE_ADD) IRCstats.operators++; if (what == MODE_DEL) IRCstats.operators--; + goto setmodex; case 'd': if (parv[3] && isdigit(*parv[3])) {