#include "irc_string.h"
#include "ircd.h" /* me */
#include "listener.h" /* show_ports */
-#include "s_gline.h"
#include "msg.h" /* Message */
#include "hostmask.h" /* report_mtrie_conf_links */
#include "numeric.h" /* ERR_xxx */
static void stats_deny(struct Client *);
static void stats_exempt(struct Client *);
static void stats_events(struct Client *);
-static void stats_glines(struct Client *);
-static void stats_pending_glines(struct Client *);
static void stats_hubleaf(struct Client *);
static void stats_auth(struct Client *);
static void stats_tklines(struct Client *);
{'E', stats_events, 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, },
{'H', stats_hubleaf, 0, 0, },
{'i', stats_auth, 0, 0, },
{
if(ServerConfAutoconn(server_p))
*s++ = 'A';
- if(ServerConfSSL(server_p))\r
+ if(ServerConfSSL(server_p))
*s++ = 'S';
if(ServerConfTb(server_p))
*s++ = 'T';
rb_dump_events(stats_events_cb, source_p);
}
-/* stats_pending_glines()
- *
- * input - client pointer
- * output - none
- * side effects - client is shown list of pending glines
- */
-static void
-stats_pending_glines (struct Client *source_p)
-{
- if(ConfigFileEntry.glines)
- {
- rb_dlink_node *pending_node;
- struct gline_pending *glp_ptr;
- char timebuffer[MAX_DATE_STRING];
- struct tm *tmptr;
-
- RB_DLINK_FOREACH (pending_node, pending_glines.head)
- {
- glp_ptr = pending_node->data;
-
- tmptr = localtime (&glp_ptr->time_request1);
- strftime (timebuffer, MAX_DATE_STRING, "%Y/%m/%d %H:%M:%S", tmptr);
-
- sendto_one_notice(source_p,
- ":1) %s!%s@%s on %s requested gline at %s for %s@%s [%s]",
- glp_ptr->oper_nick1,
- glp_ptr->oper_user1, glp_ptr->oper_host1,
- glp_ptr->oper_server1, timebuffer,
- glp_ptr->user, glp_ptr->host, glp_ptr->reason1);
-
- if(glp_ptr->oper_nick2[0])
- {
- tmptr = localtime (&glp_ptr->time_request2);
- strftime (timebuffer, MAX_DATE_STRING, "%Y/%m/%d %H:%M:%S", tmptr);
- sendto_one_notice(source_p,
- ":2) %s!%s@%s on %s requested gline at %s for %s@%s [%s]",
- glp_ptr->oper_nick2,
- glp_ptr->oper_user2, glp_ptr->oper_host2,
- glp_ptr->oper_server2, timebuffer,
- glp_ptr->user, glp_ptr->host, glp_ptr->reason2);
- }
- }
-
- if(rb_dlink_list_length (&pending_glines) > 0)
- sendto_one_notice(source_p, ":End of Pending G-lines");
- }
- else
- sendto_one_notice(source_p, ":This server does not support G-Lines");
-
-}
-
-/* stats_glines()
- *
- * input - client pointer
- * output - none
- * side effects - client is shown list of glines
- */
-static void
-stats_glines (struct Client *source_p)
-{
- if(ConfigFileEntry.glines)
- {
- rb_dlink_node *gline_node;
- struct ConfItem *kill_ptr;
-
- RB_DLINK_FOREACH_PREV (gline_node, glines.tail)
- {
- kill_ptr = gline_node->data;
-
- sendto_one_numeric(source_p, RPL_STATSKLINE,
- form_str(RPL_STATSKLINE), 'G',
- kill_ptr->host ? kill_ptr->host : "*",
- kill_ptr->user ? kill_ptr->user : "*",
- kill_ptr->passwd ? kill_ptr->passwd : "No Reason",
- kill_ptr->spasswd ? "|" : "",
- kill_ptr->spasswd ? kill_ptr->spasswd : "");
- }
- }
- else
- sendto_one_notice(source_p, ":This server does not support G-Lines");
-}
-
-
static void
stats_hubleaf(struct Client *source_p)
{
memcpy(&sp, &ServerStats, sizeof(struct ServerStatistics));
- RB_DLINK_FOREACH(ptr, serv_list.head)\r
- {\r
- target_p = ptr->data;\r
-\r
- sp.is_sbs += target_p->localClient->sendB;\r
- sp.is_sbr += target_p->localClient->receiveB;\r
- sp.is_sti += rb_current_time() - target_p->localClient->firsttime;\r
- sp.is_sv++;\r
- }\r
-\r
- RB_DLINK_FOREACH(ptr, lclient_list.head)\r
- {\r
- target_p = ptr->data;\r
-\r
- sp.is_cbs += target_p->localClient->sendB;\r
- sp.is_cbr += target_p->localClient->receiveB;\r
- sp.is_cti += rb_current_time() - target_p->localClient->firsttime;\r
- sp.is_cl++;\r
+ RB_DLINK_FOREACH(ptr, serv_list.head)
+ {
+ target_p = ptr->data;
+
+ 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_sv++;
+ }
+
+ RB_DLINK_FOREACH(ptr, lclient_list.head)
+ {
+ target_p = ptr->data;
+
+ 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_cl++;
}
RB_DLINK_FOREACH(ptr, unknown_list.head)
sendto_one_numeric(source_p, RPL_STATSDEBUG, "T :Client Server");
sendto_one_numeric(source_p, RPL_STATSDEBUG,
"T :connected %u %u", sp.is_cl, sp.is_sv);
- sendto_one_numeric(source_p, RPL_STATSDEBUG,\r
- "T :bytes sent %lluK %lluK",\r
- sp.is_cbs / 1024, \r
- sp.is_sbs / 1024);\r
- sendto_one_numeric(source_p, RPL_STATSDEBUG,\r
- "T :bytes recv %lluK %lluK",\r
- sp.is_cbr / 1024, \r
+ sendto_one_numeric(source_p, RPL_STATSDEBUG,
+ "T :bytes sent %lluK %lluK",
+ sp.is_cbs / 1024,
+ sp.is_sbs / 1024);
+ sendto_one_numeric(source_p, RPL_STATSDEBUG,
+ "T :bytes recv %lluK %lluK",
+ sp.is_cbr / 1024,
sp.is_sbr / 1024);
- sendto_one_numeric(source_p, RPL_STATSDEBUG,\r
- "T :time connected %lu %lu",\r
- sp.is_cti, sp.is_sti);
+ sendto_one_numeric(source_p, RPL_STATSDEBUG,
+ "T :time connected %lu %lu",
+ (long int)sp.is_cti, (long int)sp.is_sti);
}
static void