X-Git-Url: https://jfr.im/git/irc/rqf/shadowircd.git/blobdiff_plain/3c80e9d634777b98f91ab22120066fdf965ffe6e..ab45668d6a80c475818e929175ef19da4e0bf63e:/modules/m_stats.c diff --git a/modules/m_stats.c b/modules/m_stats.c index b1c68ec..29e7c7e 100644 --- a/modules/m_stats.c +++ b/modules/m_stats.c @@ -101,6 +101,7 @@ static void stats_klines(struct Client *); static void stats_messages(struct Client *); static void stats_dnsbl(struct Client *); static void stats_oper(struct Client *); +static void stats_privset(struct Client *); static void stats_operedup(struct Client *); static void stats_ports(struct Client *); static void stats_tresv(struct Client *); @@ -148,7 +149,7 @@ static struct StatsStruct stats_cmd_table[] = { {'M', stats_messages, 0, 0, }, {'n', stats_dnsbl, 0, 0, }, {'o', stats_oper, 0, 0, }, - {'O', stats_oper, 0, 0, }, + {'O', stats_privset, 1, 0, }, {'p', stats_operedup, 0, 0, }, {'P', stats_ports, 0, 0, }, {'q', stats_tresv, 1, 0, }, @@ -173,7 +174,6 @@ static struct StatsStruct stats_cmd_table[] = { /* * m_stats by fl_ - * parv[0] = sender prefix * parv[1] = stat letter/command * parv[2] = (if present) server/mask in stats L, or target * @@ -678,6 +678,11 @@ stats_oper(struct Client *source_p) } } +static void +stats_privset(struct Client *source_p) +{ + privilegeset_report(source_p); +} /* stats_operedup() * @@ -852,7 +857,7 @@ stats_tstats (struct Client *source_p) sp.is_sbs += target_p->localClient->sendB; sp.is_sbr += target_p->localClient->receiveB; - sp.is_sti += rb_current_time() - target_p->localClient->firsttime; + sp.is_sti += (unsigned long long)(rb_current_time() - target_p->localClient->firsttime); sp.is_sv++; } @@ -862,7 +867,7 @@ stats_tstats (struct Client *source_p) sp.is_cbs += target_p->localClient->sendB; sp.is_cbr += target_p->localClient->receiveB; - sp.is_cti += rb_current_time() - target_p->localClient->firsttime; + sp.is_cti += (unsigned long long)(rb_current_time() - target_p->localClient->firsttime); sp.is_cl++; } @@ -876,6 +881,8 @@ stats_tstats (struct Client *source_p) sendto_one_numeric(source_p, RPL_STATSDEBUG, "T :rejected %u delaying %lu", sp.is_rej, delay_exit_length()); + sendto_one_numeric(source_p, RPL_STATSDEBUG, + "T :throttled refused %u throttle list size %lu", sp.is_thr, throttle_size()); sendto_one_numeric(source_p, RPL_STATSDEBUG, "T :nicks being delayed %lu", get_nd_count()); @@ -911,8 +918,8 @@ stats_tstats (struct Client *source_p) sp.is_cbr / 1024, sp.is_sbr / 1024); sendto_one_numeric(source_p, RPL_STATSDEBUG, - "T :time connected %lu %lu", - (long int)sp.is_cti, (long int)sp.is_sti); + "T :time connected %llu %llu", + sp.is_cti, sp.is_sti); } static void