879 |
|
return; |
880 |
|
} |
881 |
|
|
882 |
+ |
void |
883 |
+ |
rfc1459_command_send_error(struct Client *client_p, struct Client *source_p, |
884 |
+ |
int parc, char *parv[]) |
885 |
+ |
{ |
886 |
+ |
const char *para; |
887 |
+ |
|
888 |
+ |
para = (parc > 1 && *parv[1] != '\0') ? parv[1] : "<>"; |
889 |
+ |
|
890 |
+ |
ilog(L_ERROR, "Received ERROR message from %s: %s", |
891 |
+ |
source_p->name, para); |
892 |
+ |
|
893 |
+ |
if (client_p == source_p) |
894 |
+ |
{ |
895 |
+ |
sendto_realops_flags(UMODE_ALL, L_ADMIN, "ERROR :from %s -- %s", |
896 |
+ |
get_client_name(client_p, HIDE_IP), para); |
897 |
+ |
sendto_realops_flags(UMODE_ALL, L_OPER, "ERROR :from %s -- %s", |
898 |
+ |
get_client_name(client_p, MASK_IP), para); |
899 |
+ |
} |
900 |
+ |
else |
901 |
+ |
{ |
902 |
+ |
sendto_realops_flags(UMODE_ALL, L_OPER, "ERROR :from %s via %s -- %s", |
903 |
+ |
source_p->name, get_client_name(client_p, MASK_IP), para); |
904 |
+ |
sendto_realops_flags(UMODE_ALL, L_ADMIN, "ERROR :from %s via %s -- %s", |
905 |
+ |
source_p->name, get_client_name(client_p, HIDE_IP), para); |
906 |
+ |
} |
907 |
+ |
|
908 |
+ |
if (MyClient(source_p)) |
909 |
+ |
exit_client(source_p, source_p, "ERROR"); |
910 |
+ |
} |