/* send_info_text() * * inputs - client pointer to send info text to * output - NONE * side effects - info text is sent to client */ static void send_info_text(struct Client *source_p) { sendto_realops_flags(UMODE_SPY, L_ALL, SEND_NOTICE, "INFO requested by %s (%s@%s) [%s]", source_p->name, source_p->username, source_p->host, source_p->servptr->name); for (const char **text = infotext; *text; ++text) { const char *line = *text; if (*line == '\0') line = " "; sendto_one_numeric(source_p, &me, RPL_INFO, line); } if (HasUMode(source_p, UMODE_OPER)) send_conf_options(source_p); send_birthdate_online_time(source_p); sendto_one_numeric(source_p, &me, RPL_ENDOFINFO); }
/* ** mo_info() ** parv[0] = sender prefix ** parv[1] = servername */ static void mo_info(struct Client *client_p, struct Client *source_p, int parc, char *parv[]) { if (hunt_server(client_p, source_p, ":%s INFO :%s", 1, parc, parv) == HUNTED_ISME) { info_spy(source_p); send_info_text(source_p); send_conf_options(source_p); send_birthdate_online_time(source_p); sendto_one(source_p, form_str(RPL_ENDOFINFO), me.name, source_p->name); } }
/* ** mo_info ** parv[0] = sender prefix ** parv[1] = servername */ static int mo_info(struct Client *client_p, struct Client *source_p, int parc, const char *parv[]) { if(hunt_server(client_p, source_p, ":%s INFO :%s", 1, parc, parv) == HUNTED_ISME) { info_spy(source_p); send_info_text(source_p); if(IsOper(source_p)) send_conf_options(source_p); send_birthdate_online_time(source_p); sendto_one_numeric(source_p, RPL_ENDOFINFO, form_str(RPL_ENDOFINFO)); } return 0; }
/* ** ms_info() ** parv[0] = sender prefix ** parv[1] = servername */ static void ms_info(struct Client *client_p, struct Client *source_p, int parc, char *parv[]) { if (!IsClient(source_p)) return; if (hunt_server(client_p, source_p, ":%s INFO :%s", 1, parc, parv) == HUNTED_ISME) { info_spy(source_p); send_info_text(source_p); if (IsOper(source_p)) send_conf_options(source_p); send_birthdate_online_time(source_p); sendto_one(source_p, form_str(RPL_ENDOFINFO), ID_or_name(&me, client_p), ID_or_name(source_p, client_p)); } }
/* ** mo_info ** parv[0] = sender prefix ** parv[1] = servername */ static int mo_info(struct Client *client_p, struct Client *source_p, int parc, const char *parv[]) { if(hunt_server(client_p, source_p, ":%s INFO :%s", 1, parc, parv) == HUNTED_ISME) { info_spy(source_p); SetCork(source_p); send_info_text(source_p); if(IsOper(source_p)) { send_conf_options(source_p); sendto_one(source_p, ":%s %d %s :%s", get_id(&me, source_p), RPL_INFO, get_id(source_p, source_p), rb_lib_version()); } send_birthdate_online_time(source_p); ClearCork(source_p); sendto_one_numeric(source_p, s_RPL(RPL_ENDOFINFO)); } return 0; }