/* just "TRACE" without parameters. Must be from local client */
parc = 1;
acptr = &me;
- tname = me.name;
+ tname = cli_name(&me);
i = HUNTED_ISME;
} else if (parc < 3 || BadPtr(parv[2])) {
/* No target specified. Make one before propagating. */
if ((acptr = find_match_server(parv[1])) ||
((acptr = FindClient(parv[1])) && !MyUser(acptr))) {
if (IsUser(acptr))
- parv[2] = acptr->user->server->name;
+ parv[2] = cli_name(cli_user(acptr)->server);
else
- parv[2] = acptr->name;
+ parv[2] = cli_name(acptr);
parc = 3;
parv[3] = 0;
if ((i = hunt_server_cmd(sptr, CMD_TRACE, cptr, IsServer(acptr),
if (!acptr)
acptr = next_client(GlobalClientList, tname);
else
- acptr = acptr->from;
+ acptr = cli_from(acptr);
send_reply(sptr, RPL_TRACELINK,
-#ifndef GODMODE
- version, debugmode, tname, acptr ? acptr->from->name : "<No_match>"
-#else /* GODMODE */
- version, debugmode, tname, acptr ? acptr->from->name : "<No_match>",
- (acptr && acptr->from->serv) ? acptr->from->serv->timestamp : 0
-#endif /* GODMODE */
- ); /* I really could do without GODMODE */
+ version, debugmode, tname,
+ acptr ? cli_name(cli_from(acptr)) : "<No_match>");
return 0;
}
- doall = (parv[1] && (parc > 1)) ? !match(tname, me.name) : 1;
+ doall = (parv[1] && (parc > 1)) ? !match(tname, cli_name(&me)) : 1;
wilds = !parv[1] || strchr(tname, '*') || strchr(tname, '?');
dow = wilds || doall;
link_s[i] = 0, link_u[i] = 0;
if (doall) {
- for (acptr = GlobalClientList; acptr; acptr = acptr->next) {
+ for (acptr = GlobalClientList; acptr; acptr = cli_next(acptr)) {
if (IsUser(acptr))
- link_u[acptr->from->fd]++;
+ link_u[cli_fd(cli_from(acptr))]++;
else if (IsServer(acptr))
- link_s[acptr->from->fd]++;
+ link_s[cli_fd(cli_from(acptr))]++;
}
}
if (IsInvisible(acptr) && dow && !(MyConnect(sptr) && IsOper(sptr)) &&
!IsAnOper(acptr) && (acptr != sptr))
continue;
- if (!doall && wilds && match(tname, acptr->name))
+ if (!doall && wilds && match(tname, cli_name(acptr)))
continue;
- if (!dow && 0 != ircd_strcmp(tname, acptr->name))
+ if (!dow && 0 != ircd_strcmp(tname, cli_name(acptr)))
continue;
conClass = get_client_class(acptr);
- switch (acptr->status) {
+ switch (cli_status(acptr)) {
case STAT_CONNECTING:
- send_reply(sptr, RPL_TRACECONNECTING, conClass, acptr->name);
+ send_reply(sptr, RPL_TRACECONNECTING, conClass, cli_name(acptr));
cnt++;
break;
case STAT_HANDSHAKE:
- send_reply(sptr, RPL_TRACEHANDSHAKE, conClass, acptr->name);
+ send_reply(sptr, RPL_TRACEHANDSHAKE, conClass, cli_name(acptr));
cnt++;
break;
case STAT_ME:
if (IsAnOper(acptr))
send_reply(sptr, RPL_TRACEOPERATOR, conClass,
get_client_name(acptr, HIDE_IP),
- CurrentTime - acptr->lasttime);
+ CurrentTime - cli_lasttime(acptr));
else
send_reply(sptr, RPL_TRACEUSER, conClass,
get_client_name(acptr, HIDE_IP),
- CurrentTime - acptr->lasttime);
+ CurrentTime - cli_lasttime(acptr));
cnt++;
}
break;
*/
case STAT_SERVER:
- if (acptr->serv->user)
+ if (cli_serv(acptr)->user)
send_reply(sptr, RPL_TRACESERVER, conClass, link_s[i],
- link_u[i], acptr->name,
- (*acptr->serv->by) ? acptr->serv->by : "*",
- acptr->serv->user->username, acptr->serv->user->host,
- CurrentTime - acptr->lasttime,
- CurrentTime - acptr->serv->timestamp);
+ link_u[i], cli_name(acptr),
+ (*(cli_serv(acptr))->by) ? cli_serv(acptr)->by : "*",
+ cli_serv(acptr)->user->username, cli_serv(acptr)->user->host,
+ CurrentTime - cli_lasttime(acptr),
+ CurrentTime - cli_serv(acptr)->timestamp);
else
send_reply(sptr, RPL_TRACESERVER, conClass, link_s[i],
- link_u[i], acptr->name,
- (*acptr->serv->by) ? acptr->serv->by : "*", "*",
- me.name, CurrentTime - acptr->lasttime,
- CurrentTime - acptr->serv->timestamp);
+ link_u[i], cli_name(acptr),
+ (*(cli_serv(acptr))->by) ? cli_serv(acptr)->by : "*", "*",
+ cli_name(&me), CurrentTime - cli_lasttime(acptr),
+ CurrentTime - cli_serv(acptr)->timestamp);
cnt++;
break;
default: /* We actually shouldn't come here, -msa */
if (!IsAnOper(sptr) || !cnt) {
if (!cnt)
/* let the user have some idea that its at the end of the trace */
- send_reply(sptr, RPL_TRACESERVER, 0, link_s[me.fd],
- link_u[me.fd], "<No_match>", *(me.serv->by) ?
- me.serv->by : "*", "*", me.name, 0, 0);
+ send_reply(sptr, RPL_TRACESERVER, 0, link_s[cli_fd(&me)],
+ link_u[cli_fd(&me)], "<No_match>", *(cli_serv(&me)->by) ?
+ cli_serv(&me)->by : "*", "*", cli_name(&me), 0, 0);
return 0;
}
if (doall) {
/* just "TRACE" without parameters. Must be from local client */
parc = 1;
acptr = &me;
- tname = me.name;
+ tname = cli_name(&me);
i = HUNTED_ISME;
} else if (parc < 3 || BadPtr(parv[2])) {
/* No target specified. Make one before propagating. */
if ((acptr = find_match_server(parv[1])) ||
((acptr = FindClient(parv[1])) && !MyUser(acptr))) {
if (IsUser(acptr))
- parv[2] = acptr->user->server->name;
+ parv[2] = cli_name(cli_user(acptr)->server);
else
- parv[2] = acptr->name;
+ parv[2] = cli_name(acptr);
parc = 3;
parv[3] = 0;
if (!acptr)
acptr = next_client(GlobalClientList, tname);
else
- acptr = acptr->from;
+ acptr = cli_from(acptr);
send_reply(sptr, RPL_TRACELINK,
-#ifndef GODMODE
- version, debugmode, tname, acptr ? acptr->from->name : "<No_match>"
-#else /* GODMODE */
- version, debugmode, tname, acptr ? acptr->from->name : "<No_match>",
- (acptr && acptr->from->serv) ? acptr->from->serv->timestamp : 0
-#endif /* GODMODE */
- ); /* I really could do without GODMODE */
+ version, debugmode, tname,
+ acptr ? cli_name(cli_from(acptr)) : "<No_match>");
return 0;
}
- doall = (parv[1] && (parc > 1)) ? !match(tname, me.name) : 1;
+ doall = (parv[1] && (parc > 1)) ? !match(tname, cli_name(&me)) : 1;
wilds = !parv[1] || strchr(tname, '*') || strchr(tname, '?');
dow = wilds || doall;
link_s[i] = 0, link_u[i] = 0;
if (doall) {
- for (acptr = GlobalClientList; acptr; acptr = acptr->next) {
+ for (acptr = GlobalClientList; acptr; acptr = cli_next(acptr)) {
if (IsUser(acptr))
- link_u[acptr->from->fd]++;
+ link_u[cli_fd(cli_from(acptr))]++;
else if (IsServer(acptr))
- link_s[acptr->from->fd]++;
+ link_s[cli_fd(cli_from(acptr))]++;
}
}
if (IsInvisible(acptr) && dow && !(MyConnect(sptr) && IsOper(sptr)) &&
!IsAnOper(acptr) && (acptr != sptr))
continue;
- if (!doall && wilds && match(tname, acptr->name))
+ if (!doall && wilds && match(tname, cli_name(acptr)))
continue;
- if (!dow && 0 != ircd_strcmp(tname, acptr->name))
+ if (!dow && 0 != ircd_strcmp(tname, cli_name(acptr)))
continue;
conClass = get_client_class(acptr);
- switch (acptr->status) {
+ switch (cli_status(acptr)) {
case STAT_CONNECTING:
- send_reply(sptr, RPL_TRACECONNECTING, conClass, acptr->name);
+ send_reply(sptr, RPL_TRACECONNECTING, conClass, cli_name(acptr));
cnt++;
break;
case STAT_HANDSHAKE:
- send_reply(sptr, RPL_TRACEHANDSHAKE, conClass, acptr->name);
+ send_reply(sptr, RPL_TRACEHANDSHAKE, conClass, cli_name(acptr));
cnt++;
break;
case STAT_ME:
if (IsAnOper(acptr))
send_reply(sptr, RPL_TRACEOPERATOR, conClass,
get_client_name(acptr, HIDE_IP),
- CurrentTime - acptr->lasttime);
+ CurrentTime - cli_lasttime(acptr));
else
send_reply(sptr, RPL_TRACEUSER, conClass,
get_client_name(acptr, HIDE_IP),
- CurrentTime - acptr->lasttime);
+ CurrentTime - cli_lasttime(acptr));
cnt++;
}
break;
*/
case STAT_SERVER:
- if (acptr->serv->user)
+ if (cli_serv(acptr)->user)
send_reply(sptr, RPL_TRACESERVER, conClass, link_s[i],
- link_u[i], acptr->name,
- (*acptr->serv->by) ? acptr->serv->by : "*",
- acptr->serv->user->username, acptr->serv->user->host,
- CurrentTime - acptr->lasttime,
- CurrentTime - acptr->serv->timestamp);
+ link_u[i], cli_name(acptr),
+ (*(cli_serv(acptr))->by) ? cli_serv(acptr)->by : "*",
+ cli_serv(acptr)->user->username, cli_serv(acptr)->user->host,
+ CurrentTime - cli_lasttime(acptr),
+ CurrentTime - cli_serv(acptr)->timestamp);
else
send_reply(sptr, RPL_TRACESERVER, conClass, link_s[i],
- link_u[i], acptr->name,
- (*acptr->serv->by) ? acptr->serv->by : "*", "*",
- me.name, CurrentTime - acptr->lasttime,
- CurrentTime - acptr->serv->timestamp);
+ link_u[i], cli_name(acptr),
+ (*(cli_serv(acptr))->by) ? cli_serv(acptr)->by : "*", "*",
+ cli_name(&me), CurrentTime - cli_lasttime(acptr),
+ CurrentTime - cli_serv(acptr)->timestamp);
cnt++;
break;
default: /* We actually shouldn't come here, -msa */
if (!IsAnOper(sptr) || !cnt) {
if (!cnt)
/* let the user have some idea that its at the end of the trace */
- send_reply(sptr, RPL_TRACESERVER, 0, link_s[me.fd],
- link_u[me.fd], "<No_match>", *(me.serv->by) ?
- me.serv->by : "*", "*", me.name, 0, 0);
+ send_reply(sptr, RPL_TRACESERVER, 0, link_s[cli_fd(&me)],
+ link_u[cli_fd(&me)], "<No_match>", *(cli_serv(&me)->by) ?
+ cli_serv(&me)->by : "*", "*", cli_name(&me), 0, 0);
return 0;
}
if (doall) {
/* just "TRACE" without parameters. Must be from local client */
parc = 1;
acptr = &me;
- tname = me.name;
+ tname = cli_name(&me);
i = HUNTED_ISME;
} else if (parc < 3 || BadPtr(parv[2])) {
/* No target specified. Make one before propagating. */
if ((acptr = find_match_server(parv[1])) ||
((acptr = FindClient(parv[1])) && !MyUser(acptr))) {
if (IsUser(acptr))
- parv[2] = acptr->user->server->name;
+ parv[2] = cli_name(cli_user(acptr)->server);
else
- parv[2] = acptr->name;
+ parv[2] = cli_name(acptr);
parc = 3;
parv[3] = 0;
if ((i = hunt_server_cmd(sptr, CMD_TRACE, cptr, IsServer(acptr),
if (!acptr)
acptr = next_client(GlobalClientList, tname);
else
- acptr = acptr->from;
+ acptr = cli_from(acptr);
send_reply(sptr, RPL_TRACELINK,
-#ifndef GODMODE
- version, debugmode, tname, acptr ? acptr->from->name : "<No_match>"
-#else /* GODMODE */
- version, debugmode, tname, acptr ? acptr->from->name : "<No_match>",
- (acptr && acptr->from->serv) ? acptr->from->serv->timestamp : 0
-#endif /* GODMODE */
- ); /* I really could do without GODMODE */
+ version, debugmode, tname,
+ acptr ? cli_name(cli_from(acptr)) : "<No_match>");
return 0;
}
- doall = (parv[1] && (parc > 1)) ? !match(tname, me.name) : 1;
+ doall = (parv[1] && (parc > 1)) ? !match(tname, cli_name(&me)) : 1;
wilds = !parv[1] || strchr(tname, '*') || strchr(tname, '?');
dow = wilds || doall;
link_s[i] = 0, link_u[i] = 0;
if (doall) {
- for (acptr = GlobalClientList; acptr; acptr = acptr->next) {
+ for (acptr = GlobalClientList; acptr; acptr = cli_next(acptr)) {
if (IsUser(acptr))
- link_u[acptr->from->fd]++;
+ link_u[cli_fd(cli_from(acptr))]++;
else if (IsServer(acptr))
- link_s[acptr->from->fd]++;
+ link_s[cli_fd(cli_from(acptr))]++;
}
}
if (IsInvisible(acptr) && dow && !(MyConnect(sptr) && IsOper(sptr)) &&
!IsAnOper(acptr) && (acptr != sptr))
continue;
- if (!doall && wilds && match(tname, acptr->name))
+ if (!doall && wilds && match(tname, cli_name(acptr)))
continue;
- if (!dow && 0 != ircd_strcmp(tname, acptr->name))
+ if (!dow && 0 != ircd_strcmp(tname, cli_name(acptr)))
continue;
conClass = get_client_class(acptr);
- switch (acptr->status) {
+ switch (cli_status(acptr)) {
case STAT_CONNECTING:
- send_reply(sptr, RPL_TRACECONNECTING, conClass, acptr->name);
+ send_reply(sptr, RPL_TRACECONNECTING, conClass, cli_name(acptr));
cnt++;
break;
case STAT_HANDSHAKE:
- send_reply(sptr, RPL_TRACEHANDSHAKE, conClass, acptr->name);
+ send_reply(sptr, RPL_TRACEHANDSHAKE, conClass, cli_name(acptr));
cnt++;
break;
case STAT_ME:
if (IsAnOper(acptr))
send_reply(sptr, RPL_TRACEOPERATOR, conClass,
get_client_name(acptr, HIDE_IP),
- CurrentTime - acptr->lasttime);
+ CurrentTime - cli_lasttime(acptr));
else
send_reply(sptr, RPL_TRACEUSER, conClass,
get_client_name(acptr, HIDE_IP),
- CurrentTime - acptr->lasttime);
+ CurrentTime - cli_lasttime(acptr));
cnt++;
}
break;
*/
case STAT_SERVER:
- if (acptr->serv->user)
+ if (cli_serv(acptr)->user)
send_reply(sptr, RPL_TRACESERVER, conClass, link_s[i],
- link_u[i], acptr->name,
- (*acptr->serv->by) ? acptr->serv->by : "*",
- acptr->serv->user->username, acptr->serv->user->host,
- CurrentTime - acptr->lasttime,
- CurrentTime - acptr->serv->timestamp);
+ link_u[i], cli_name(acptr),
+ (*(cli_serv(acptr))->by) ? cli_serv(acptr)->by : "*",
+ cli_serv(acptr)->user->username, cli_serv(acptr)->user->host,
+ CurrentTime - cli_lasttime(acptr),
+ CurrentTime - cli_serv(acptr)->timestamp);
else
send_reply(sptr, RPL_TRACESERVER, conClass, link_s[i],
- link_u[i], acptr->name,
- (*acptr->serv->by) ? acptr->serv->by : "*", "*",
- me.name, CurrentTime - acptr->lasttime,
- CurrentTime - acptr->serv->timestamp);
+ link_u[i], cli_name(acptr),
+ (*(cli_serv(acptr))->by) ? cli_serv(acptr)->by : "*", "*",
+ cli_name(&me), CurrentTime - cli_lasttime(acptr),
+ CurrentTime - cli_serv(acptr)->timestamp);
cnt++;
break;
default: /* We actually shouldn't come here, -msa */
if (!IsAnOper(sptr) || !cnt) {
if (!cnt)
/* let the user have some idea that its at the end of the trace */
- send_reply(sptr, RPL_TRACESERVER, 0, link_s[me.fd],
- link_u[me.fd], "<No_match>", *(me.serv->by) ?
- me.serv->by : "*", "*", me.name, 0, 0);
+ send_reply(sptr, RPL_TRACESERVER, 0, link_s[cli_fd(&me)],
+ link_u[cli_fd(&me)], "<No_match>", *(cli_serv(&me)->by) ?
+ cli_serv(&me)->by : "*", "*", cli_name(&me), 0, 0);
return 0;
}
if (doall) {