X-Git-Url: https://jfr.im/git/irc/rqf/shadowircd.git/blobdiff_plain/38e6acddad741b38a475fe3d10dfffb3c6d6c639..b8127271b78e9a53892cd34b977c3dee1741eec8:/modules/m_stats.c diff --git a/modules/m_stats.c b/modules/m_stats.c index f7c2c93..dd82e41 100644 --- a/modules/m_stats.c +++ b/modules/m_stats.c @@ -25,7 +25,6 @@ */ #include "stdinc.h" -#include "tools.h" /* rb_dlink_node/rb_dlink_list */ #include "class.h" /* report_classes */ #include "client.h" /* Client */ #include "common.h" /* TRUE/FALSE */ @@ -38,14 +37,11 @@ #include "numeric.h" /* ERR_xxx */ #include "scache.h" /* list_scache */ #include "send.h" /* sendto_one */ -#include "commio.h" /* highest_fd */ #include "s_conf.h" /* ConfItem */ #include "s_serv.h" /* hunt_server */ #include "s_stats.h" /* tstats */ #include "s_user.h" /* show_opers */ -#include "event.h" /* events */ #include "blacklist.h" /* dnsbl stuff */ -#include "linebuf.h" #include "parse.h" #include "modules.h" #include "hook.h" @@ -122,7 +118,7 @@ static void stats_memory(struct Client *); static void stats_servlinks(struct Client *); static void stats_ltrace(struct Client *, int, const char **); static void stats_ziplinks(struct Client *); - +static void stats_comm(struct Client *); /* This table contains the possible stats items, in order: * stats letter, function to call, operonly? adminonly? * case only matters in the stats letter column.. -- fl_ @@ -139,8 +135,8 @@ static struct StatsStruct stats_cmd_table[] = { {'D', stats_deny, 1, 0, }, {'e', stats_exempt, 1, 0, }, {'E', stats_events, 1, 1, }, - {'f', rb_dump, 1, 1, }, - {'F', rb_dump, 1, 1, }, + {'f', stats_comm, 1, 1, }, + {'F', stats_comm, 1, 1, }, {'g', stats_pending_glines, 1, 0, }, {'G', stats_glines, 1, 0, }, {'h', stats_hubleaf, 0, 0, }, @@ -1370,6 +1366,20 @@ stats_l_client(struct Client *source_p, struct Client *target_p, } } +static void +rb_dump_fd_callback(int fd, const char *desc, void *data) +{ + struct Client *source_p = data; + sendto_one_numeric(source_p, RPL_STATSDEBUG, "F :fd %-3d desc '%s'", fd, desc); +} + +static void +stats_comm(struct Client *source_p) +{ + rb_dump_fd(rb_dump_fd_callback, source_p); + send_pop_queue(source_p); +} + /* * stats_spy *