]> jfr.im git - irc/rqf/shadowircd.git/commitdiff
hunt_server: Disallow wildcarded nicknames.
authorJilles Tjoelker <redacted>
Sat, 8 Jan 2011 16:47:05 +0000 (17:47 +0100)
committerJilles Tjoelker <redacted>
Sat, 8 Jan 2011 16:47:05 +0000 (17:47 +0100)
Any hunted parameter with wildcards is now assumed
to be a server, never a user.

Reasons:
* fewer match() calls
* do not disclose existing nicknames
* more intuitive behaviour for CONNECT

m_trace has a copy of some hunt_server logic in it
(for the RPL_TRACELINK reply), so adjust that too.

modules/m_trace.c
src/s_serv.c

index e2c0e0b3a2be4f6b4855f2efc3e67e20cb7e8833..0482c1d6113c5f3ba0ef99954b167e15b1c35c3d 100644 (file)
@@ -110,7 +110,7 @@ m_trace(struct Client *client_p, struct Client *source_p, int parc, const char *
 
                        if(ac2ptr == NULL)
                        {
-                               RB_DLINK_FOREACH(ptr, global_client_list.head)
+                               RB_DLINK_FOREACH(ptr, global_serv_list.head)
                                {
                                        ac2ptr = ptr->data;
 
index 79a318c631f57eba07b3dcb78134821b05a4e957..161dc8105c47ba0a11db20e840cb5f295b0e5a63 100644 (file)
@@ -157,7 +157,7 @@ hunt_server(struct Client *client_p, struct Client *source_p,
         */
        if(!target_p && wilds)
        {
-               RB_DLINK_FOREACH(ptr, global_client_list.head)
+               RB_DLINK_FOREACH(ptr, global_serv_list.head)
                {
                        if(match(new, ((struct Client *) (ptr->data))->name))
                        {