if (do_floodcount &&
flood_attack_client(msgtype, source_p, target_p))
return;
+
+ if (IsCapable(source_p, CLICAP_ECHO_MESSAGE) && target_p != source_p)
+ sendto_anywhere_echo(target_p, source_p, cmdname[msgtype], ":%s", text);
}
else if(source_p->from == target_p->from)
{
{
struct Client *target_p;
char *server;
- char *s;
/* user[%host]@server addressed?
* NOTE: users can send to user@server, but not user%host@server
return;
}
- if((s = strrchr(nick, '.')) == NULL)
- {
- sendto_one_numeric(source_p, ERR_NOTOPLEVEL,
- form_str(ERR_NOTOPLEVEL), nick);
- return;
- }
- while(*++s)
- if(*s == '.' || *s == '*' || *s == '?')
- break;
- if(*s == '*' || *s == '?')
- {
- sendto_one_numeric(source_p, ERR_WILDTOPLEVEL,
- form_str(ERR_WILDTOPLEVEL), nick);
- return;
- }
-
sendto_match_butone(IsServer(client_p) ? client_p : NULL, source_p,
nick + 1,
(*nick == '#') ? MATCH_HOST : MATCH_SERVER,