Author: Kev <klmitch@mit.edu>
authorKevin L. Mitchell <klmitch@mit.edu>
Tue, 2 May 2000 20:09:31 +0000 (20:09 +0000)
committerKevin L. Mitchell <klmitch@mit.edu>
Tue, 2 May 2000 20:09:31 +0000 (20:09 +0000)
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

ChangeLog
ircd/m_rping.c
ircd/m_rpong.c

index 34518b9393726d734f34a8b6ff338e285e9ecee3..3721a133ea927c355a341f8da24568763bc0b04f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2000-05-02  Kevin L. Mitchell  <klmitch@mit.edu>
+
+       * 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  <klmitch@mit.edu>
 
        * ircd/m_stats.c: convert to sendcmdto_one / send_reply
 #
 # 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.
 #
index 9638afc56c00dc5bae5d81f958930a60e971a0bc..905dbf565474de3de673f36d6e05e1b700a9e572 100644 (file)
  */
 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;
index 6e91221ec4f42dd6a867c4c210db4d54393900d0..877c7a647291896ac50dd74d5dc0827c37ac2381 100644 (file)
@@ -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;
 }