X-Git-Url: https://jfr.im/git/solanum.git/blobdiff_plain/abee738b7ddacb8cadd7525f215872f6b68d408d..b2c208be091670e3c5259eba77187bae6ac6eece:/modules/m_trace.c?ds=sidebyside diff --git a/modules/m_trace.c b/modules/m_trace.c index 1ae65dd9..c3a3891c 100644 --- a/modules/m_trace.c +++ b/modules/m_trace.c @@ -63,9 +63,10 @@ DECLARE_MODULE_AV1(trace, NULL, NULL, trace_clist, trace_hlist, NULL, "$Revision static void count_downlinks(struct Client *server_p, int *pservcount, int *pusercount); static int report_this_status(struct Client *source_p, struct Client *target_p); +static const char *empty_sockhost = "255.255.255.255"; + /* * m_trace - * parv[0] = sender prefix * parv[1] = servername */ static int @@ -110,7 +111,7 @@ m_trace(struct Client *client_p, struct Client *source_p, int parc, const char * if(ac2ptr == NULL) { - RB_DLINK_FOREACH(ptr, global_client_list.head) + RB_DLINK_FOREACH(ptr, global_serv_list.head) { ac2ptr = ptr->data; @@ -345,7 +346,7 @@ report_this_status(struct Client *source_p, struct Client *target_p) class_name = get_client_class(target_p); if(IsAnyServer(target_p)) - name = get_server_name(target_p, HIDE_IP); + name = target_p->name; else name = get_client_name(target_p, HIDE_IP); @@ -379,21 +380,14 @@ report_this_status(struct Client *source_p, struct Client *target_p) case STAT_CLIENT: { - if(IsOper(target_p)) - sendto_one_numeric(source_p, RPL_TRACEOPERATOR, - form_str(RPL_TRACEOPERATOR), - class_name, name, - show_ip(source_p, target_p) ? ip : "255.255.255.255", - rb_current_time() - target_p->localClient->lasttime, - rb_current_time() - target_p->localClient->last); + sendto_one_numeric(source_p, + IsOper(target_p) ? RPL_TRACEOPERATOR : RPL_TRACEUSER, + IsOper(target_p) ? form_str(RPL_TRACEOPERATOR) : form_str(RPL_TRACEUSER), + class_name, name, + show_ip(source_p, target_p) ? ip : empty_sockhost, + (unsigned long)(rb_current_time() - target_p->localClient->lasttime), + (unsigned long)(rb_current_time() - target_p->localClient->last)); - else - sendto_one_numeric(source_p, RPL_TRACEUSER, - form_str(RPL_TRACEUSER), - class_name, name, - show_ip(source_p, target_p) ? ip : "255.255.255.255", - rb_current_time() - target_p->localClient->lasttime, - rb_current_time() - target_p->localClient->last); cnt++; } break; @@ -408,7 +402,8 @@ report_this_status(struct Client *source_p, struct Client *target_p) sendto_one_numeric(source_p, RPL_TRACESERVER, form_str(RPL_TRACESERVER), class_name, servcount, usercount, name, *(target_p->serv->by) ? target_p->serv->by : "*", "*", - me.name, rb_current_time() - target_p->localClient->lasttime); + me.name, + (unsigned long)(rb_current_time() - target_p->localClient->lasttime)); cnt++; } @@ -416,8 +411,7 @@ report_this_status(struct Client *source_p, struct Client *target_p) default: /* ...we actually shouldn't come here... --msa */ sendto_one_numeric(source_p, RPL_TRACENEWTYPE, - form_str(RPL_TRACENEWTYPE), - me.name, source_p->name, name); + form_str(RPL_TRACENEWTYPE), name); cnt++; break; }