]> jfr.im git - irc/rqf/shadowircd.git/commitdiff
[svn] Remove hash_find_masked_server(), which made it possible
authorjilles <redacted>
Thu, 1 Feb 2007 00:19:14 +0000 (16:19 -0800)
committerjilles <redacted>
Thu, 1 Feb 2007 00:19:14 +0000 (16:19 -0800)
to specify the full (unmasked) name of a server behind
a hostmask. As a result find_any_client() (for prefixes)
becomes equal to find_client(), so remove that too.

ChangeLog
include/hash.h
include/serno.h
src/hash.c
src/parse.c

index ec870a1d00278a91012eb2f69f3b93409cd956b6..9869ad5d360e20789cbe5ca244f657034bb1cdb1 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+jilles      2007/02/01 00:02:35 UTC    (20070201-3175)
+  Log:
+  Remove '*' from valid server name characters.
+  This makes it impossible to connect hostmasked servers.
+  (This support didn't work well anyway, was incompatible
+  with TS6 and we never masked ourselves.)
+  
+
+  Changes:     Modified:
+  +1 -1                trunk/src/match.c (File Modified) 
+
+
 jilles      2007/01/31 23:57:18 UTC    (20070131-3173)
   Log:
   Change spambot, flooder and jupe joiner notices from host to orighost.
index 584f855605b4d947b81433c0c562b34ad3558532..84d9f99bad7e8953f758e3423796471af93ec4f5 100644 (file)
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: hash.h 722 2006-02-08 21:51:28Z nenolod $
+ *  $Id: hash.h 3177 2007-02-01 00:19:14Z jilles $
  */
 
 #ifndef INCLUDED_hash_h
@@ -76,7 +76,6 @@ extern void init_hash(void);
 
 extern void add_to_client_hash(const char *name, struct Client *client);
 extern void del_from_client_hash(const char *name, struct Client *client);
-extern struct Client *find_any_client(const char *name);
 extern struct Client *find_client(const char *name);
 extern struct Client *find_named_client(const char *name);
 extern struct Client *find_server(struct Client *source_p, const char *name);
index a7b8cea3f39c0ea6d105d5ab8a36e8df0e4259e0..76d45273e24606faf0e0c2c0635d082f12e4193b 100644 (file)
@@ -1 +1 @@
-#define SERNO "20070131-3173"
+#define SERNO "20070201-3175"
index 86b22bcd2c4c1464e3f81904a8f0651983d9d915..95efc550f8b777fa897f28c274d98b485daea670 100644 (file)
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: hash.c 1321 2006-05-13 23:49:14Z nenolod $
+ *  $Id: hash.c 3177 2007-02-01 00:19:14Z jilles $
  */
 
 #include "stdinc.h"
@@ -447,79 +447,6 @@ find_id(const char *name)
        return NULL;
 }
 
-/* hash_find_masked_server()
- * 
- * Whats happening in this next loop ? Well, it takes a name like
- * foo.bar.edu and proceeds to earch for *.edu and then *.bar.edu.
- * This is for checking full server names against masks although
- * it isnt often done this way in lieu of using matches().
- *
- * Rewrote to do *.bar.edu first, which is the most likely case,
- * also made const correct
- * --Bleep
- */
-static struct Client *
-hash_find_masked_server(struct Client *source_p, const char *name)
-{
-       char buf[HOSTLEN + 1];
-       char *p = buf;
-       char *s;
-       struct Client *server;
-
-       if('*' == *name || '.' == *name)
-               return NULL;
-
-       /* copy it across to give us a buffer to work on */
-       strlcpy(buf, name, sizeof(buf));
-
-       while ((s = strchr(p, '.')) != 0)
-       {
-               *--s = '*';
-               /*
-                * Dont need to check IsServer() here since nicknames cant
-                * have *'s in them anyway.
-                */
-               if((server = find_server(source_p, s)))
-                       return server;
-               p = s + 2;
-       }
-
-       return NULL;
-}
-
-/* find_any_client()
- *
- * finds a client/server/masked server entry from the hash
- */
-struct Client *
-find_any_client(const char *name)
-{
-       struct Client *target_p;
-       dlink_node *ptr;
-       unsigned int hashv;
-
-       s_assert(name != NULL);
-       if(EmptyString(name))
-               return NULL;
-
-       /* hunting for an id, not a nick */
-       if(IsDigit(*name))
-               return (find_id(name));
-
-       hashv = hash_nick(name);
-
-       DLINK_FOREACH(ptr, clientTable[hashv].head)
-       {
-               target_p = ptr->data;
-
-               if(irccmp(name, target_p->name) == 0)
-                       return target_p;
-       }
-
-       /* wasnt found, look for a masked server */
-       return hash_find_masked_server(NULL, name);
-}
-
 /* find_client()
  *
  * finds a client/server entry from the client hash table
@@ -612,8 +539,7 @@ find_server(struct Client *source_p, const char *name)
                                return target_p;
        }
 
-       /* wasnt found, look for a masked server */
-       return hash_find_masked_server(source_p, name);
+       return NULL;
 }
 
 /* find_hostname()
index 7889f56b59ebe3bfe93353f1ed2e8d718f046abc..6f24d51bba1ec587c80e030eb7ac5b4693d318f7 100644 (file)
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: parse.c 2723 2006-11-09 23:35:48Z jilles $
+ *  $Id: parse.c 3177 2007-02-01 00:19:14Z jilles $
  */
 
 #include "stdinc.h"
@@ -162,7 +162,7 @@ parse(struct Client *client_p, char *pbuffer, char *bufend)
 
                if(*sender && IsServer(client_p))
                {
-                       from = find_any_client(sender);
+                       from = find_client(sender);
 
                        /* didnt find any matching client, issue a kill */
                        if(from == NULL)