sendto_one(sptr, rpl_str(p[1]),
me.name, sptr->name, c, host, pass, name, port,
get_conf_class(tmp));
+ else if ((tmp->status & (CONF_CONNECT_SERVER|CONF_NOCONNECT_SERVER)))
+ sendto_one(sptr, rpl_str(p[1]), me.name, sptr->name, c, "*", name,
+ port, get_conf_class(tmp));
else
sendto_one(sptr, rpl_str(p[1]), me.name, sptr->name, c, host, name,
port, get_conf_class(tmp));
if (!(doall || wilds) && strCasediff(name, acptr->name))
continue;
sendto_one(sptr, Lformat, me.name, RPL_STATSLINKINFO, parv[0],
- (isUpper(stat)) ?
- get_client_name(acptr, TRUE) : get_client_name(acptr, FALSE),
+ acptr->name,
(int)DBufLength(&acptr->sendQ), (int)acptr->sendM,
(int)acptr->sendK, (int)acptr->receiveM, (int)acptr->receiveK,
time(NULL) - acptr->firsttime);
*
* parv[0] = sender prefix
* parv[1] = servername
- * parv[2] = [IP-number:]port number
+ * parv[2] = port number
* parv[3] = remote server
*/
int m_connect(aClient *cptr, aClient *sptr, int parc, char *parv[])
unsigned short int port, tmpport;
aConfItem *aconf, *cconf;
aClient *acptr;
- char *p;
if (!IsPrivileged(sptr))
{
return 0;
}
- if (parc > 2 && !BadPtr(parv[2]))
- p = strchr(parv[2], ':');
- else
- p = 0;
- if (p)
- *p = 0;
for (aconf = conf; aconf; aconf = aconf->next)
if (aconf->status == CONF_CONNECT_SERVER &&
- match(parv[1], aconf->name) == 0 &&
- (!p || match(parv[2], aconf->host) == 0 ||
- match(parv[2], strchr(aconf->host, '@') + 1) == 0))
+ match(parv[1], aconf->name) == 0)
break;
/* Checked first servernames, then try hostnames. */
if (!aconf)
(match(parv[1], aconf->host) == 0 ||
match(parv[1], strchr(aconf->host, '@') + 1) == 0))
break;
- if (p)
- *p = ':';
if (!aconf)
{
tmpport = port = aconf->port;
if (parc > 2 && !BadPtr(parv[2]))
{
- p = strchr(parv[2], ':');
- if (!p)
- p = parv[2];
- else
- p = p + 1;
- if ((port = atoi(p)) == 0)
+ if ((port = atoi(parv[2])) == 0)
{
if (MyUser(sptr) || Protocol(cptr) < 10)
sendto_one(sptr,
case 0:
if (MyUser(sptr) || Protocol(cptr) < 10)
sendto_one(sptr,
- ":%s NOTICE %s :*** Connecting to %s[%s].",
- me.name, parv[0], aconf->host, aconf->name);
+ ":%s NOTICE %s :*** Connecting to %s.",
+ me.name, parv[0], aconf->name);
else
sendto_one(sptr,
- "%s NOTICE %s%s :*** Connecting to %s[%s].",
- NumServ(&me), NumNick(sptr), aconf->host, aconf->name);
+ "%s NOTICE %s%s :*** Connecting to %s.",
+ NumServ(&me), NumNick(sptr), aconf->name);
break;
case -1:
/* Comments already sent */
case -2:
if (MyUser(sptr) || Protocol(cptr) < 10)
sendto_one(sptr, ":%s NOTICE %s :*** Host %s is unknown.",
- me.name, parv[0], aconf->host);
+ me.name, parv[0], aconf->name);
else
sendto_one(sptr, "%s NOTICE %s%s :*** Host %s is unknown.",
- NumServ(&me), NumNick(sptr), aconf->host);
+ NumServ(&me), NumNick(sptr), aconf->name);
break;
default:
if (MyUser(sptr) || Protocol(cptr) < 10)
sendto_one(sptr,
":%s NOTICE %s :*** Connection to %s failed: %s",
- me.name, parv[0], aconf->host, strerror(retval));
+ me.name, parv[0], aconf->name, strerror(retval));
else
sendto_one(sptr,
"%s NOTICE %s%s :*** Connection to %s failed: %s",
- NumServ(&me), NumNick(sptr), aconf->host, strerror(retval));
+ NumServ(&me), NumNick(sptr), aconf->name, strerror(retval));
}
aconf->port = tmpport;
return 0;
}
#else
sendto_ops("SETTIME from %s, clock is set %ld seconds %s",
- get_client_name(sptr, FALSE), (dt < 0) ? -dt : dt,
+ sptr->name, (dt < 0) ? -dt : dt,
(dt < 0) ? "forwards" : "backwards");
TSoffset -= dt;
if (IsUser(sptr))
for (i = 0; i <= highest_fd; i++)
{
- char *name;
unsigned int conClass;
if (!(acptr = loc_clients[i])) /* Local Connection? */
continue;
if (!dow && strCasediff(tname, acptr->name))
continue;
- name = get_client_name(acptr, FALSE);
conClass = get_client_class(acptr);
switch (acptr->status)
{
case STAT_CONNECTING:
sendto_one(sptr, rpl_str(RPL_TRACECONNECTING),
- me.name, parv[0], conClass, name);
+ me.name, parv[0], conClass, acptr->name);
cnt++;
break;
case STAT_HANDSHAKE:
sendto_one(sptr, rpl_str(RPL_TRACEHANDSHAKE),
- me.name, parv[0], conClass, name);
+ me.name, parv[0], conClass, acptr->name);
cnt++;
break;
case STAT_ME:
break;
case STAT_UNKNOWN:
case STAT_UNKNOWN_USER:
+ sendto_one(sptr, rpl_str(RPL_TRACEUNKNOWN),
+ me.name, parv[0], conClass, get_client_name(acptr, FALSE));
+ cnt++;
+ break;
case STAT_UNKNOWN_SERVER:
sendto_one(sptr, rpl_str(RPL_TRACEUNKNOWN),
- me.name, parv[0], conClass, name);
+ me.name, parv[0], conClass, acptr->name);
cnt++;
break;
case STAT_USER:
{
if (IsAnOper(acptr))
sendto_one(sptr, rpl_str(RPL_TRACEOPERATOR),
- me.name, parv[0], conClass, name, now - acptr->lasttime);
+ me.name, parv[0], conClass, get_client_name(acptr, FALSE), now - acptr->lasttime);
else
sendto_one(sptr, rpl_str(RPL_TRACEUSER),
- me.name, parv[0], conClass, name, now - acptr->lasttime);
+ me.name, parv[0], conClass, get_client_name(acptr, FALSE), now - acptr->lasttime);
cnt++;
}
break;
if (acptr->serv->user)
sendto_one(sptr, rpl_str(RPL_TRACESERVER),
me.name, parv[0], conClass, link_s[i],
- link_u[i], name, acptr->serv->by,
+ link_u[i], acptr->name, acptr->serv->by,
acptr->serv->user->username,
acptr->serv->user->host,
now - acptr->lasttime, now - acptr->serv->timestamp);
else
sendto_one(sptr, rpl_str(RPL_TRACESERVER),
me.name, parv[0], conClass, link_s[i],
- link_u[i], name, *(acptr->serv->by) ?
+ link_u[i], acptr->name, *(acptr->serv->by) ?
acptr->serv->by : "*", "*", me.name,
now - acptr->lasttime, now - acptr->serv->timestamp);
cnt++;
break;
case STAT_PING:
sendto_one(sptr, rpl_str(RPL_TRACEPING), me.name,
- parv[0], name, (acptr->acpt) ? acptr->acpt->name : "<null>");
+ parv[0], acptr->name, (acptr->acpt) ? acptr->acpt->name : "<null>");
break;
default: /* We actually shouldn't come here, -msa */
- sendto_one(sptr, rpl_str(RPL_TRACENEWTYPE), me.name, parv[0], name);
+ sendto_one(sptr, rpl_str(RPL_TRACENEWTYPE), me.name, parv[0], acptr->name);
cnt++;
break;
}
if (!IsUnknown(acptr) && !IsConnecting(acptr) && !IsHandshake(acptr))
continue;
sendto_one(sptr, rpl_str(RPL_CLOSING), me.name, parv[0],
- get_client_name(acptr, TRUE), acptr->status);
+ get_client_name(acptr, FALSE), acptr->status);
exit_client(cptr, acptr, &me, "Oper Closing");
closed++;
}
continue;
if (IsUser(acptr))
sendto_one(acptr, ":%s NOTICE %s :Server Terminating. %s",
- me.name, acptr->name, get_client_name(sptr, TRUE));
+ me.name, acptr->name, get_client_name(sptr, FALSE));
else if (IsServer(acptr))
sendto_one(acptr, ":%s ERROR :Terminated by %s",
- me.name, get_client_name(sptr, TRUE));
+ me.name, get_client_name(sptr, FALSE));
}
#ifdef __cplusplus
s_die(0);