X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fcmd_stats.cpp;h=c83974ec425156aad3fefc34647b1d570b9f3c4a;hb=84a19a9ab6129deb71cdc24b216b74dd8eb80978;hp=98d3987e714b9e0b23b2f29abfea4e03311c3b39;hpb=1383dba43e463f292aea094d01f62f355946049d;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/cmd_stats.cpp b/src/cmd_stats.cpp index 98d3987e7..c83974ec4 100644 --- a/src/cmd_stats.cpp +++ b/src/cmd_stats.cpp @@ -14,18 +14,10 @@ * --------------------------------------------------- */ -using namespace std; - #include "inspircd_config.h" #include "inspircd.h" -#include "inspircd_io.h" -#include -#include -#ifdef GCC3 -#include -#else -#include -#endif +#include "configreader.h" +#include "hash_map.h" #include #include #include @@ -36,10 +28,7 @@ using namespace std; #define RUSAGE_SELF 0 #define RUSAGE_CHILDREN -1 #endif -#include -#include -#include -#include + #include "users.h" #include "ctables.h" #include "globals.h" @@ -55,22 +44,17 @@ using namespace std; #include "helperfuncs.h" #include "hashcomp.h" #include "socketengine.h" -#include "typedefs.h" #include "command_parse.h" #include "cmd_stats.h" extern ServerConfig* Config; extern InspIRCd* ServerInstance; extern int MODCOUNT; -extern std::vector modules; -extern std::vector factory; +extern ModuleList modules; +extern FactoryList factory; extern time_t TIME; extern user_hash clientlist; extern chan_hash chanlist; -extern whowas_hash whowas; -extern std::vector all_opers; -extern std::vector local_users; -extern userrec* fd_ref_table[MAX_DESCRIPTORS]; void cmd_stats::Handle (char **parameters, int pcnt, userrec *user) { @@ -78,10 +62,10 @@ void cmd_stats::Handle (char **parameters, int pcnt, userrec *user) { return; } - if (strlen(parameters[0])>1) + if (parameters[0][1]) { /* make the stats query 1 character long */ - parameters[0][1] = '\0'; + parameters[0][1] = 0; } if ((*Config->OperOnlyStats) && (strchr(Config->OperOnlyStats,*parameters[0])) && (!*user->oper)) @@ -124,9 +108,9 @@ void cmd_stats::Handle (char **parameters, int pcnt, userrec *user) if (*parameters[0] == 'U') { char ulined[MAXBUF]; - for (int i = 0; i < Config->ConfValueEnum("uline",&Config->config_f); i++) + for (int i = 0; i < Config->ConfValueEnum(Config->config_data, "uline"); i++) { - Config->ConfValue("uline","server",i,ulined,&Config->config_f); + Config->ConfValue(Config->config_data, "uline","server", i, ulined, MAXBUF); WriteServ(user->fd,"248 %s U %s",user->nick,ulined); } } @@ -136,7 +120,7 @@ void cmd_stats::Handle (char **parameters, int pcnt, userrec *user) int idx = 0; for (user_hash::iterator i = clientlist.begin(); i != clientlist.end(); i++) { - if (strchr(i->second->modes,'o')) + if (*i->second->oper) { WriteServ(user->fd,"249 %s :%s (%s@%s) Idle: %d",user->nick,i->second->nick,i->second->ident,i->second->dhost,(TIME - i->second->idle_lastmsg)); idx++; @@ -206,25 +190,25 @@ void cmd_stats::Handle (char **parameters, int pcnt, userrec *user) if (*parameters[0] == 'T') { - WriteServ(user->fd,"249 Brain :accepts %d refused %d",ServerInstance->stats->statsAccept,ServerInstance->stats->statsRefused); - WriteServ(user->fd,"249 Brain :unknown commands %d",ServerInstance->stats->statsUnknown); - WriteServ(user->fd,"249 Brain :nick collisions %d",ServerInstance->stats->statsCollisions); - WriteServ(user->fd,"249 Brain :dns requests %d succeeded %d failed %d",ServerInstance->stats->statsDns,ServerInstance->stats->statsDnsGood,ServerInstance->stats->statsDnsBad); - WriteServ(user->fd,"249 Brain :connections %d",ServerInstance->stats->statsConnects); - WriteServ(user->fd,"249 Brain :bytes sent %dK recv %dK",(ServerInstance->stats->statsSent / 1024),(ServerInstance->stats->statsRecv / 1024)); + WriteServ(user->fd,"249 %s :accepts %d refused %d",user->nick,ServerInstance->stats->statsAccept,ServerInstance->stats->statsRefused); + WriteServ(user->fd,"249 %s :unknown commands %d",user->nick,ServerInstance->stats->statsUnknown); + WriteServ(user->fd,"249 %s :nick collisions %d",user->nick,ServerInstance->stats->statsCollisions); + WriteServ(user->fd,"249 %s :dns requests %d succeeded %d failed %d",user->nick,ServerInstance->stats->statsDns,ServerInstance->stats->statsDnsGood,ServerInstance->stats->statsDnsBad); + WriteServ(user->fd,"249 %s :connections %d",user->nick,ServerInstance->stats->statsConnects); + WriteServ(user->fd,"249 %s :bytes sent %dK recv %dK",user->nick,(ServerInstance->stats->statsSent / 1024),(ServerInstance->stats->statsRecv / 1024)); } /* stats o */ if (*parameters[0] == 'o') { - for (int i = 0; i < Config->ConfValueEnum("oper",&Config->config_f); i++) + for (int i = 0; i < Config->ConfValueEnum(Config->config_data, "oper"); i++) { char LoginName[MAXBUF]; char HostName[MAXBUF]; char OperType[MAXBUF]; - Config->ConfValue("oper","name",i,LoginName,&Config->config_f); - Config->ConfValue("oper","host",i,HostName,&Config->config_f); - Config->ConfValue("oper","type",i,OperType,&Config->config_f); + Config->ConfValue(Config->config_data, "oper","name", i, LoginName, MAXBUF); + Config->ConfValue(Config->config_data, "oper","host", i, HostName, MAXBUF); + Config->ConfValue(Config->config_data, "oper","type", i, OperType, MAXBUF); WriteServ(user->fd,"243 %s O %s * %s %s 0",user->nick,HostName,LoginName,OperType); } } @@ -271,6 +255,3 @@ void cmd_stats::Handle (char **parameters, int pcnt, userrec *user) WriteOpers("*** Notice: Stats '%s' requested by %s (%s@%s)",parameters[0],user->nick,user->ident,user->host); } - - -