* note: it is guaranteed that parv[0]..parv[parc-1] are all
* non-NULL pointers.
*/
-#if 0
-/*
- * No need to include handlers.h here the signatures must match
- * and we don't need to force a rebuild of all the handlers everytime
- * we add a new one to the list. --Bleep
- */
-#include "handlers.h"
-#endif /* 0 */
+#include "config.h"
+
#include "client.h"
#include "hash.h"
#include "ircd.h"
+#include "ircd_log.h"
#include "ircd_reply.h"
#include "ircd_string.h"
#include "msg.h"
#include "opercmds.h"
#include "send.h"
-#include <assert.h>
+/* #include <assert.h> -- Now using assert in ircd_log.h */
/*
* ms_rpong - server message handler
/*
* 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, cli_name(sptr),
+ 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]);
- }
- return 0;
-}
-
-
-#if 0
-/*
- * m_rpong -- by Run too :)
- *
- * parv[0] = sender prefix
- * parv[1] = from pinged server: start server; from start server: sender
- * parv[2] = from pinged server: sender; from start server: pinged server
- * parv[3] = pingtime in ms
- * parv[4] = client info (for instance start time)
- */
-int m_rpong(struct Client *cptr, struct Client *sptr, int parc, char *parv[])
-{
- struct Client *acptr;
-
- if (!IsServer(sptr))
- return 0;
- if (parc < 5)
- return need_more_params(sptr, "RPING");
-
- if (!(acptr = FindClient(parv[1])))
- return 0;
-
- if (!IsMe(acptr))
- {
- if (IsServer(acptr) && parc > 5)
- {
- sendto_one(acptr, ":%s RPONG %s %s %s %s :%s",
- parv[0], parv[1], parv[2], parv[3], parv[4], parv[5]);
- return 0;
- }
+ sendcmdto_one(sptr, CMD_RPONG, acptr, "%C %s %s :%s", acptr, parv[2],
+ parv[3], parv[4]);
}
- else
- {
- parv[1] = parv[2];
- parv[2] = sptr->name;
- parv[0] = me.name;
- parv[3] = militime(parv[3], parv[4]);
- parv[4] = parv[5];
- if (!(acptr = FindUser(parv[1])))
- return 0; /* No bouncing between servers ! */
- }
-
- sendto_one(acptr, ":%s RPONG %s %s %s :%s",
- parv[0], parv[1], parv[2], parv[3], parv[4]);
return 0;
}
-#endif /* 0 */
-