Author: Maniac <maniac@cetlink.net>
authorBleep <twhelvey1@home.com>
Tue, 21 Mar 2000 03:48:11 +0000 (03:48 +0000)
committerBleep <twhelvey1@home.com>
Tue, 21 Mar 2000 03:48:11 +0000 (03:48 +0000)
Log message:
Ignore info requests from server, names escape /names 0

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@43 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

ChangeLog
ircd/m_info.c
ircd/m_names.c

index b9b9993b519b2c4f7aeaada710ba6bcac13f9b50..ff9a21d20e4c6c09fe623601e5bdd8f929616316 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,11 +1,13 @@
 #
 # ChangeLog for ircu2.10.11
 #
-# $Id: ChangeLog,v 1.17 2000-03-21 01:05:16 bleep Exp $
+# $Id: ChangeLog,v 1.18 2000-03-21 03:48:11 bleep Exp $
 #
 # Insert new changes at beginning of the change list.
 #
 #-----------------------------------------------------------------------------
+* Escape /names 0 to mean /names --Maniac
+* Don't core when server asks for info --Maniac 
 * Add Kev's jupe patch --Bleep
 * Add Maniacs squit patch --Bleep
 * Merge in u2_10_10_beta07 changes --Bleep
index a81e62370a7af2362fb30595e37864f075da2cde..f06d0bb9a5e3dbfe2080cca5f10cd9b97f65f1e0 100644 (file)
@@ -144,6 +144,9 @@ int ms_info(struct Client* cptr, struct Client* sptr, int parc, char* parv[])
 {
   const char **text = infotext;
 
+  if (IsServer(sptr))
+    return 0;
+
   if (hunt_server(1, cptr, sptr, "%s%s " TOK_INFO " :%s", 1, parc, parv) == HUNTED_ISME)
   {
     while (text[2])
index 160bbef086b124e045b2d5a18f42534b397213c1..5d6f3a12d6db7e12bf5481775c47da29e2433a39 100644 (file)
@@ -114,8 +114,12 @@ int m_names(struct Client* cptr, struct Client* sptr, int parc, char* parv[])
   struct Client *c2ptr;
   struct Membership* member;
   struct Channel *ch2ptr = 0;
-  int idx, flag, len, mlen;
-  char *s, *para = parc > 1 ? parv[1] : 0;
+  int idx;
+  int flag;
+  int len;
+  int mlen;
+  char* s;
+  char* para = parc > 1 ? parv[1] : 0;
   char buf[BUFSIZE];
 
   if (parc > 2 && hunt_server(1, cptr, sptr, "%s%s " TOK_NAMES " %s %s", 2, parc, parv))
@@ -123,17 +127,18 @@ int m_names(struct Client* cptr, struct Client* sptr, int parc, char* parv[])
 
   mlen = strlen(me.name) + 10 + strlen(sptr->name);
 
-  if (!EmptyString(para))
-  {
-    s = strchr(para, ',');
-    if (s)
-    {
-      parv[1] = ++s;
-      m_names(cptr, sptr, parc, parv);
-    }
-    clean_channelname(para);
-    ch2ptr = FindChannel(para);
+  if (EmptyString(para))
+    return 0;
+  else if (*para == '0')
+    *para = '\0';
+  
+  s = strchr(para, ',');
+  if (s) {
+    parv[1] = ++s;
+    m_names(cptr, sptr, parc, parv);
   }
+  clean_channelname(para);
+  ch2ptr = FindChannel(para);
 
   /*
    * First, do all visible channels (public and the one user self is)