From: Kevin L. Mitchell Date: Tue, 2 May 2000 20:09:31 +0000 (+0000) Subject: Author: Kev X-Git-Url: http://git.pk910.de/?a=commitdiff_plain;h=583a9e32f05276009791bb504b9e8330202c5378;p=ircu2.10.12-pk.git Author: Kev Log message: Conversion to new send.c routines; you do *not* want to know what I went through to debug these. Man, and I thought m_server was complex... Status: Tested on a homogeneous network Testing needed: Test on a mixed network. Note: assertion bug may cause /rping local.server to core; it did happen to me. I added IsMe() to the tests to fix it, but look out on other servers. git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@228 c9e4aea6-c8fd-4c43-8297-357d70d61c8c --- diff --git a/ChangeLog b/ChangeLog index 34518b9..3721a13 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2000-05-02 Kevin L. Mitchell + + * ircd/m_rping.c: convert to sendcmdto_one / send_reply / + hunt_server_cmd + + * ircd/m_rpong.c: convert to sendcmdto_one / send_reply + 2000-05-01 Kevin L. Mitchell * ircd/m_stats.c: convert to sendcmdto_one / send_reply @@ -1062,7 +1069,7 @@ # # ChangeLog for ircu2.10.11 # -# $Id: ChangeLog,v 1.125 2000-05-01 20:51:38 kev Exp $ +# $Id: ChangeLog,v 1.126 2000-05-02 20:09:30 kev Exp $ # # Insert new changes at beginning of the change list. # diff --git a/ircd/m_rping.c b/ircd/m_rping.c index 9638afc..905dbf5 100644 --- a/ircd/m_rping.c +++ b/ircd/m_rping.c @@ -128,7 +128,7 @@ */ int ms_rping(struct Client* cptr, struct Client* sptr, int parc, char* parv[]) { - struct Client* destination = FindNServer(parv[1]); + struct Client* destination = 0; assert(0 != cptr); assert(0 != sptr); assert(IsServer(cptr)); @@ -151,11 +151,11 @@ int ms_rping(struct Client* cptr, struct Client* sptr, int parc, char* parv[]) * if it's not for me, pass it on */ if (IsMe(destination)) - sendto_one(cptr, "%s " TOK_RPONG " %s %s %s %s :%s", NumServ(&me), - parv[0], parv[2], parv[3], parv[4], parv[5]); + sendcmdto_one(&me, CMD_RPONG, sptr, "%s %s %s %s :%s", sptr->name, + parv[2], parv[3], parv[4], parv[5]); else - sendto_one(destination, "%s " TOK_RPING " %s %s %s %s :%s", - NumServ(sptr), parv[1], parv[2], parv[3], parv[4], parv[5]); + sendcmdto_one(sptr, CMD_RPING, destination, "%C %s %s %s :%s", + destination, parv[2], parv[3], parv[4], parv[5]); } } else { @@ -169,18 +169,19 @@ int ms_rping(struct Client* cptr, struct Client* sptr, int parc, char* parv[]) * Haven't made it to the start server yet, if I'm not the start server * pass it on. */ - if (hunt_server(1, cptr, sptr, "%s%s " TOK_RPING " %s %s :%s", 2, parc, parv) != HUNTED_ISME) + if (hunt_server_cmd(sptr, CMD_RPING, cptr, 1, "%s %C :%s", 2, parc, parv) + != HUNTED_ISME) return 0; /* * otherwise ping the destination from here */ if ((destination = find_match_server(parv[1]))) { - assert(IsServer(destination)); - sendto_one(destination, "%s " TOK_RPING " %s %s%s %s :%s", - NumServ(&me), NumServ(destination), NumNick(sptr), militime(0, 0), parv[3]); + assert(IsServer(destination) || IsMe(destination)); + sendcmdto_one(&me, CMD_RPING, destination, "%C %C %s :%s", destination, + sptr, militime(0, 0), parv[3]); } else - sendto_one(sptr, err_str(ERR_NOSUCHSERVER), me.name, parv[0], parv[1]); + send_reply(sptr, ERR_NOSUCHSERVER, parv[1]); } return 0; } @@ -225,7 +226,7 @@ int mo_rping(struct Client* cptr, struct Client* sptr, int parc, char* parv[]) */ parv[parc++] = (char*) start_time; } - hunt_server(1, cptr, sptr, "%s%s " TOK_RPING " %s %s :%s", 2, parc, parv); + hunt_server_cmd(sptr, CMD_RPING, cptr, 1, "%s %C :%s", 2, parc, parv); return 0; } else @@ -233,12 +234,12 @@ int mo_rping(struct Client* cptr, struct Client* sptr, int parc, char* parv[]) } if ((acptr = find_match_server(parv[1]))) { - assert(IsServer(acptr)); - sendto_one(acptr, "%s " TOK_RPING " %s %s%s %s :%s", - NumServ(&me), NumServ(acptr), NumNick(sptr), militime(0, 0), start_time); + assert(IsServer(acptr) || IsMe(acptr)); + sendcmdto_one(&me, CMD_RPING, acptr, "%C %C %s :%s", acptr, sptr, + militime(0, 0), start_time); } else - sendto_one(sptr, err_str(ERR_NOSUCHSERVER), me.name, parv[0], parv[1]); + send_reply(sptr, ERR_NOSUCHSERVER, parv[1]); return 0; } @@ -289,23 +290,23 @@ int m_rping(struct Client *cptr, struct Client *sptr, int parc, char *parv[]) if (IsAnOper(sptr)) { - if (hunt_server(1, cptr, sptr, "%s%s " TOK_RPING " %s %s :%s", 2, parc, parv) != + if (hunt_server(1, cptr, sptr, "%s%s " TOK_RPING " %s %s :%s", 2, parc, parv) != /* XXX DEAD */ HUNTED_ISME) return 0; if (!(acptr = find_match_server(parv[1])) || !IsServer(acptr)) { - sendto_one(sptr, err_str(ERR_NOSUCHSERVER), me.name, parv[0], parv[1]); + sendto_one(sptr, err_str(ERR_NOSUCHSERVER), me.name, parv[0], parv[1]); /* XXX DEAD */ return 0; } - sendto_one(acptr, ":%s RPING %s %s %s :%s", + sendto_one(acptr, ":%s RPING %s %s %s :%s", /* XXX DEAD */ me.name, NumServ(acptr), sptr->name, militime(0, 0), parv[3]); } else { - if (hunt_server(1, cptr, sptr, "%s%s " TOK_RPING " %s %s %s %s :%s", 1, parc, parv) + if (hunt_server(1, cptr, sptr, "%s%s " TOK_RPING " %s %s %s %s :%s", 1, parc, parv) /* XXX DEAD */ != HUNTED_ISME) return 0; - sendto_one(cptr, ":%s RPONG %s %s %s %s :%s", me.name, parv[0], + sendto_one(cptr, ":%s RPONG %s %s %s %s :%s", me.name, parv[0], /* XXX DEAD */ parv[2], parv[3], parv[4], parv[5]); } return 0; diff --git a/ircd/m_rpong.c b/ircd/m_rpong.c index 6e91221..877c7a6 100644 --- a/ircd/m_rpong.c +++ b/ircd/m_rpong.c @@ -127,37 +127,27 @@ int ms_rpong(struct Client* cptr, struct Client* sptr, int parc, char* parv[]) /* * from pinged server to source server */ - if (!(acptr = FindServer(parv[1]))) + if (!(acptr = FindServer(parv[1])) && !(acptr = FindNServer(parv[1]))) return 0; if (IsMe(acptr)) { if (!(acptr = findNUser(parv[2]))) return 0; - if (MyConnect(acptr)) - sendto_one(acptr, ":%s " MSG_RPONG " %s %s %s :%s", - me.name, acptr->name, sptr->name, - militime(parv[3], parv[4]), parv[5]); - else - sendto_one(acptr, "%s " TOK_RPONG " %s%s %s %s :%s", - NumServ(&me), NumNick(acptr), sptr->name, - militime(parv[3], parv[4]), parv[5]); - } - else - sendto_one(acptr, "%s " TOK_RPONG " %s %s %s %s :%s", - NumServ(sptr), parv[1], parv[2], parv[3], parv[4], parv[5]); - } - else { + + sendcmdto_one(&me, CMD_RPONG, acptr, "%C %s %s :%s", acptr, sptr->name, + militime(parv[3], parv[4]), parv[5]); + } else + sendcmdto_one(sptr, CMD_RPONG, acptr, "%s %s %s %s :%s", parv[1], + parv[2], parv[3], parv[4], parv[5]); + } else { /* * returned from source server to client */ if (!(acptr = findNUser(parv[1]))) return 0; - if (MyConnect(acptr)) - sendto_one(acptr, ":%s " MSG_RPONG " %s %s %s :%s", - sptr->name, acptr->name, parv[2], parv[3], parv[4]); - else - sendto_one(acptr, "%s " TOK_RPONG " %s %s %s :%s", - NumServ(sptr), parv[1], parv[2], parv[3], parv[4]); + + sendcmdto_one(sptr, CMD_RPONG, acptr, "%C %s %s :%s", acptr, parv[2], + parv[3], parv[4]); } return 0; } @@ -190,7 +180,7 @@ int m_rpong(struct Client *cptr, struct Client *sptr, int parc, char *parv[]) { if (IsServer(acptr) && parc > 5) { - sendto_one(acptr, ":%s RPONG %s %s %s %s :%s", + sendto_one(acptr, ":%s RPONG %s %s %s %s :%s", /* XXX DEAD */ parv[0], parv[1], parv[2], parv[3], parv[4], parv[5]); return 0; } @@ -206,7 +196,7 @@ int m_rpong(struct Client *cptr, struct Client *sptr, int parc, char *parv[]) return 0; /* No bouncing between servers ! */ } - sendto_one(acptr, ":%s RPONG %s %s %s :%s", + sendto_one(acptr, ":%s RPONG %s %s %s :%s", /* XXX DEAD */ parv[0], parv[1], parv[2], parv[3], parv[4]); return 0; }