Index: src/hash.c =================================================================== --- src/hash.c (revision 235) +++ src/hash.c (working copy) @@ -489,6 +489,7 @@ /* find_any_client() * * finds a client/server/masked server entry from the hash + * only used for prefixes -- jilles */ struct Client * find_any_client(const char *name) @@ -512,7 +513,12 @@ target_p = ptr->data; if(irccmp(name, target_p->name) == 0) + { + if (has_id(target_p)) + sendto_realops_flags(UMODE_DEBUG, L_ALL, + "find_any_client(): got TS5 prefix for IDed client %s", name); return target_p; + } } /* wasnt found, look for a masked server */ @@ -545,7 +551,12 @@ target_p = ptr->data; if(irccmp(name, target_p->name) == 0) + { + if (has_id(target_p)) + sendto_realops_flags(UMODE_DEBUG, L_ALL, + "find_client(): looking up IDed client %s by name", name); return target_p; + } } return NULL; @@ -608,7 +619,13 @@ if((IsServer(target_p) || IsMe(target_p)) && irccmp(name, target_p->name) == 0) - return target_p; + { + if (has_id(target_p) && (source_p == NULL || + !MyClient(source_p))) + sendto_realops_flags(UMODE_DEBUG, L_ALL, + "find_server(): looking up IDed server %s by name for %s", name, source_p ? source_p->name : ""); + return target_p; + } } /* wasnt found, look for a masked server */