0, /* SET TO ZERO -- number of times command used by clients */
0, /* SET TO ZERO -- number of times command used by clients */
0, /* SET TO ZERO -- number of times command used by clients */
- MFLG_SLOW, /* ALWAYS SET TO MFLG_SLOW */
+ 0, /* ALWAYS SET TO 0 */
/* the functions to call for each handler. If not using the generic
* handlers, the first param is the function to call, the second is the
static int UMODE_HELPOPS = 0;
struct Message dehelper_msgtab = {
- "DEHELPER", 0, 0, 0, MFLG_SLOW,
+ "DEHELPER", 0, 0, 0, 0,
{mg_unreg, mg_not_oper, mg_not_oper, mg_ignore, {me_dehelper, 2}, {mo_dehelper, 2}}
};
/* {{{ Messages */
struct Message hurt_msgtab = {
- "HURT", 0, 0, 0, MFLG_SLOW, {
+ "HURT", 0, 0, 0, 0, {
mg_ignore, mg_ignore, mg_ignore,
mg_ignore, {me_hurt, 0}, {mo_hurt, 3}
}
};
struct Message heal_msgtab = {
- "HEAL", 0, 0, 0, MFLG_SLOW, {
+ "HEAL", 0, 0, 0, 0, {
mg_ignore, mg_ignore, mg_ignore,
mg_ignore, {me_heal, 0}, {mo_heal, 2}
}
static int mclient_42(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *source_p, int parc, const char *parv[]);
struct Message hgtg_msgtab = {
- "42", 0, 0, 0, MFLG_SLOW,
+ "42", 0, 0, 0, 0,
{ mg_ignore, {mclient_42, 0}, mg_ignore, mg_ignore, mg_ignore, {mclient_42, 0}
}
};
static int me_adminwall(struct MsgBuf *, struct Client *, struct Client *, int, const char **);
struct Message adminwall_msgtab = {
- "ADMINWALL", 0, 0, 0, MFLG_SLOW,
+ "ADMINWALL", 0, 0, 0, 0,
{mg_unreg, mg_not_oper, mg_ignore, mg_ignore, {me_adminwall, 2}, {mo_adminwall, 2}}
};
static int m_echotags(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *source_p, int parc, const char *parv[]);
struct Message echotags_msgtab = {
- "ECHOTAGS", 0, 0, 0, MFLG_SLOW,
+ "ECHOTAGS", 0, 0, 0, 0,
{ mg_ignore, {m_echotags, 0}, mg_ignore, mg_ignore, mg_ignore, {m_echotags, 0} }
};
static int me_extendchans(struct MsgBuf *, struct Client *, struct Client *, int, const char **);
struct Message extendchans_msgtab = {
- "EXTENDCHANS", 0, 0, 0, MFLG_SLOW,
+ "EXTENDCHANS", 0, 0, 0, 0,
{ mg_unreg, mg_ignore, mg_ignore, mg_ignore, {me_extendchans, 2}, {mo_extendchans, 2}}
};
int parc, const char *parv[]);
struct Message findforwards_msgtab = {
- "FINDFORWARDS", 0, 0, 0, MFLG_SLOW,
+ "FINDFORWARDS", 0, 0, 0, 0,
{mg_unreg, {m_findforwards, 2}, mg_ignore, mg_ignore, mg_ignore, {m_findforwards, 2}}
};
static int m_identify(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *source_p, int parc, const char *parv[]);
struct Message identify_msgtab = {
- "IDENTIFY", 0, 0, 0, MFLG_SLOW,
+ "IDENTIFY", 0, 0, 0, 0,
{mg_unreg, {m_identify, 0}, mg_ignore, mg_ignore, mg_ignore, {m_identify, 0}}
};
/* 0 .. 63, ascii - 64 */
struct Message mkpasswd_msgtab = {
- "MKPASSWD", 0, 0, 0, MFLG_SLOW,
+ "MKPASSWD", 0, 0, 0, 0,
{mg_unreg, {m_mkpasswd, 2}, mg_ignore, mg_ignore, mg_ignore, {mo_mkpasswd, 2}}
};
struct Message ojoin_msgtab = {
- "OJOIN", 0, 0, 0, MFLG_SLOW,
+ "OJOIN", 0, 0, 0, 0,
{mg_unreg, mg_not_oper, mg_ignore, mg_ignore, mg_ignore, {mo_ojoin, 2}}
};
struct Message okick_msgtab = {
- "OKICK", 0, 0, 0, MFLG_SLOW,
+ "OKICK", 0, 0, 0, 0,
{mg_unreg, mg_not_oper, mg_ignore, mg_ignore, mg_ignore, {mo_okick, 4}}
};
static int mo_omode(struct MsgBuf *, struct Client *, struct Client *, int, const char **);
struct Message omode_msgtab = {
- "OMODE", 0, 0, 0, MFLG_SLOW,
+ "OMODE", 0, 0, 0, 0,
{mg_unreg, mg_not_oper, mg_ignore, mg_ignore, mg_ignore, {mo_omode, 3}}
};
static int mo_opme(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *source_p, int parc, const char *parv[]);
struct Message opme_msgtab = {
- "OPME", 0, 0, 0, MFLG_SLOW,
+ "OPME", 0, 0, 0, 0,
{mg_unreg, mg_not_oper, mg_ignore, mg_ignore, mg_ignore, {mo_opme, 2}}
};
static void remove_quote_part(hook_data_privmsg_channel *);
struct Message remove_msgtab = {
- "REMOVE", 0, 0, 0, MFLG_SLOW,
+ "REMOVE", 0, 0, 0, 0,
{mg_unreg, {m_remove, 3}, {m_remove, 3}, {m_remove, 3}, mg_ignore, {m_remove, 3}}
};
struct Message scene_msgtab = {
- "SCENE", 0, 0, 0, MFLG_SLOW,
+ "SCENE", 0, 0, 0, 0,
{mg_unreg, {m_scene, 3}, mg_ignore, mg_ignore, mg_ignore, {m_scene, 3}}
};
/* this serves as an alias for people who are used to inspircd/unreal m_roleplay */
struct Message ambiance_msgtab = {
- "AMBIANCE", 0, 0, 0, MFLG_SLOW,
+ "AMBIANCE", 0, 0, 0, 0,
{mg_unreg, {m_scene, 3}, mg_ignore, mg_ignore, mg_ignore, {m_scene, 3}}
};
struct Message fsay_msgtab = {
- "FSAY", 0, 0, 0, MFLG_SLOW,
+ "FSAY", 0, 0, 0, 0,
{mg_unreg, {m_npc, 4}, mg_ignore, mg_ignore, mg_ignore, {m_fsay, 4}}
};
struct Message faction_msgtab = {
- "FACTION", 0, 0, 0, MFLG_SLOW,
+ "FACTION", 0, 0, 0, 0,
{mg_unreg, {m_npca, 4}, mg_ignore, mg_ignore, mg_ignore, {m_faction, 4}}
};
struct Message npc_msgtab = {
- "NPC", 0, 0, 0, MFLG_SLOW,
+ "NPC", 0, 0, 0, 0,
{mg_unreg, {m_npc, 4}, mg_ignore, mg_ignore, mg_ignore, {m_npc, 4}}
};
struct Message npca_msgtab = {
- "NPCA", 0, 0, 0, MFLG_SLOW,
+ "NPCA", 0, 0, 0, 0,
{mg_unreg, {m_npca, 4}, mg_ignore, mg_ignore, mg_ignore, {m_npca, 4}}
};
struct Message roleplay_msgtab = {
- "ROLEPLAY", 0, 0, 0, MFLG_SLOW,
+ "ROLEPLAY", 0, 0, 0, 0,
{mg_ignore, mg_ignore, mg_ignore, mg_ignore, {me_roleplay, 4}, mg_ignore}
};
static int mo_sendbans(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *source_p, int parc, const char *parv[]);
struct Message sendbans_msgtab = {
- "SENDBANS", 0, 0, 0, MFLG_SLOW,
+ "SENDBANS", 0, 0, 0, 0,
{mg_unreg, mg_not_oper, mg_ignore, mg_ignore, mg_ignore, {mo_sendbans, 2}}
};
static int mr_webirc(struct MsgBuf *msgbuf_p, struct Client *, struct Client *, int, const char **);
struct Message webirc_msgtab = {
- "WEBIRC", 0, 0, 0, MFLG_SLOW | MFLG_UNREG,
+ "WEBIRC", 0, 0, 0, 0,
{{mr_webirc, 5}, mg_reg, mg_ignore, mg_ignore, mg_ignore, mg_reg}
};
unsigned int count; /* number of times command used */
unsigned int rcount; /* number of times command used by server */
unsigned long bytes; /* bytes received for this message */
- unsigned int flags; /* bit 0 set means that this command is allowed
- * to be used only on the average of once per 2
- * seconds -SRB
- */
+ unsigned int flags;
+
/* handlers:
* UNREGISTERED, CLIENT, RCLIENT, SERVER, OPER, LAST
*/
struct MessageEntry handlers[LAST_HANDLER_TYPE];
};
-#define MFLG_SLOW 0x01 /* executed roughly once per 2s */
-#define MFLG_UNREG 0x02 /* available to unregistered clients */
-
/* generic handlers */
extern int m_ignore(struct MsgBuf *, struct Client *, struct Client *, int, const char **);
extern int m_not_oper(struct MsgBuf *, struct Client *, struct Client *, int, const char **);
static int do_modrestart(struct Client *);
struct Message modload_msgtab = {
- "MODLOAD", 0, 0, 0, MFLG_SLOW,
+ "MODLOAD", 0, 0, 0, 0,
{mg_unreg, mg_not_oper, mg_ignore, mg_ignore, {me_modload, 2}, {mo_modload, 2}}
};
struct Message modunload_msgtab = {
- "MODUNLOAD", 0, 0, 0, MFLG_SLOW,
+ "MODUNLOAD", 0, 0, 0, 0,
{mg_unreg, mg_not_oper, mg_ignore, mg_ignore, {me_modunload, 2}, {mo_modunload, 2}}
};
struct Message modreload_msgtab = {
- "MODRELOAD", 0, 0, 0, MFLG_SLOW,
+ "MODRELOAD", 0, 0, 0, 0,
{mg_unreg, mg_not_oper, mg_ignore, mg_ignore, {me_modreload, 2}, {mo_modreload, 2}}
};
struct Message modlist_msgtab = {
- "MODLIST", 0, 0, 0, MFLG_SLOW,
+ "MODLIST", 0, 0, 0, 0,
{mg_unreg, mg_not_oper, mg_ignore, mg_ignore, {me_modlist, 0}, {mo_modlist, 0}}
};
struct Message modrestart_msgtab = {
- "MODRESTART", 0, 0, 0, MFLG_SLOW,
+ "MODRESTART", 0, 0, 0, 0,
{mg_unreg, mg_not_oper, mg_ignore, mg_ignore, {me_modrestart, 0}, {mo_modrestart, 0}}
};
mptr->count++;
- /* New patch to avoid server flooding from unregistered connects
- - Pie-Man 07/27/2000 */
-
- if(!IsRegistered(client_p))
- {
- /* if its from a possible server connection
- * ignore it.. more than likely its a header thats sneaked through
- */
-
- if(IsAnyServer(client_p) && !(mptr->flags & MFLG_UNREG))
- return (1);
- }
-
ehandler = mptr->handlers[from->handler];
handler = ehandler.handler;
static int ms_ban(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *source_p, int parc, const char *parv[]);
struct Message ban_msgtab = {
- "BAN", 0, 0, 0, MFLG_SLOW,
+ "BAN", 0, 0, 0, 0,
{mg_unreg, {m_ban, 0}, {ms_ban, 9}, {ms_ban, 9}, mg_ignore, {m_ban, 0}}
};
static int do_die(struct Client *, const char *);
static struct Message die_msgtab = {
- "DIE", 0, 0, 0, MFLG_SLOW,
+ "DIE", 0, 0, 0, 0,
{mg_unreg, mg_not_oper, mg_ignore, mg_ignore, {me_die, 1}, {mo_die, 0}}
};
static int ms_error(struct MsgBuf *, struct Client *, struct Client *, int, const char **);
struct Message error_msgtab = {
- "ERROR", 0, 0, 0, MFLG_SLOW | MFLG_UNREG,
+ "ERROR", 0, 0, 0, 0,
{{m_error, 0}, mg_ignore, mg_ignore, {ms_error, 0}, mg_ignore, mg_ignore}
};
static int h_channel_join;
struct Message join_msgtab = {
- "JOIN", 0, 0, 0, MFLG_SLOW,
+ "JOIN", 0, 0, 0, 0,
{mg_unreg, {m_join, 2}, {ms_join, 2}, mg_ignore, mg_ignore, {m_join, 2}}
};
struct Message sjoin_msgtab = {
- "SJOIN", 0, 0, 0, MFLG_SLOW,
+ "SJOIN", 0, 0, 0, 0,
{mg_unreg, mg_ignore, mg_ignore, {ms_sjoin, 4}, mg_ignore, mg_ignore}
};
#define mg_kick { m_kick, 3 }
struct Message kick_msgtab = {
- "KICK", 0, 0, 0, MFLG_SLOW,
+ "KICK", 0, 0, 0, 0,
{mg_unreg, mg_kick, mg_kick, mg_kick, mg_ignore, mg_kick}
};
const char *, const char *);
struct Message kill_msgtab = {
- "KILL", 0, 0, 0, MFLG_SLOW,
+ "KILL", 0, 0, 0, 0,
{mg_unreg, mg_not_oper, {ms_kill, 2}, {ms_kill, 2}, mg_ignore, {mo_kill, 2}}
};
}
struct Message privmsg_msgtab = {
- "PRIVMSG", 0, 0, 0, MFLG_SLOW | MFLG_UNREG,
+ "PRIVMSG", 0, 0, 0, 0,
{mg_unreg, {m_privmsg, 0}, {m_privmsg, 0}, mg_ignore, mg_ignore, {m_privmsg, 0}}
};
struct Message notice_msgtab = {
- "NOTICE", 0, 0, 0, MFLG_SLOW,
+ "NOTICE", 0, 0, 0, 0,
{mg_unreg, {m_notice, 0}, {m_notice, 0}, {m_notice, 0}, mg_ignore, {m_notice, 0}}
};
static int ms_bmask(struct MsgBuf *, struct Client *, struct Client *, int, const char **);
struct Message mode_msgtab = {
- "MODE", 0, 0, 0, MFLG_SLOW,
+ "MODE", 0, 0, 0, 0,
{mg_unreg, {m_mode, 2}, {m_mode, 3}, {ms_mode, 3}, mg_ignore, {m_mode, 2}}
};
struct Message tmode_msgtab = {
- "TMODE", 0, 0, 0, MFLG_SLOW,
+ "TMODE", 0, 0, 0, 0,
{mg_ignore, mg_ignore, {ms_tmode, 4}, {ms_tmode, 4}, mg_ignore, mg_ignore}
};
struct Message mlock_msgtab = {
- "MLOCK", 0, 0, 0, MFLG_SLOW,
+ "MLOCK", 0, 0, 0, 0,
{mg_ignore, mg_ignore, {ms_mlock, 3}, {ms_mlock, 3}, mg_ignore, mg_ignore}
};
struct Message bmask_msgtab = {
- "BMASK", 0, 0, 0, MFLG_SLOW,
+ "BMASK", 0, 0, 0, 0,
{mg_ignore, mg_ignore, mg_ignore, {ms_bmask, 5}, mg_ignore, mg_ignore}
};
static void bad_nickname(struct Client *, const char *);
struct Message nick_msgtab = {
- "NICK", 0, 0, 0, MFLG_SLOW,
+ "NICK", 0, 0, 0, 0,
{{mr_nick, 0}, {m_nick, 0}, {mc_nick, 3}, {ms_nick, 0}, mg_ignore, {m_nick, 0}}
};
struct Message uid_msgtab = {
- "UID", 0, 0, 0, MFLG_SLOW,
+ "UID", 0, 0, 0, 0,
{mg_ignore, mg_ignore, mg_ignore, {ms_uid, 9}, mg_ignore, mg_ignore}
};
struct Message euid_msgtab = {
- "EUID", 0, 0, 0, MFLG_SLOW,
+ "EUID", 0, 0, 0, 0,
{mg_ignore, mg_ignore, mg_ignore, {ms_euid, 12}, mg_ignore, mg_ignore}
};
struct Message save_msgtab = {
- "SAVE", 0, 0, 0, MFLG_SLOW,
+ "SAVE", 0, 0, 0, 0,
{mg_ignore, mg_ignore, mg_ignore, {ms_save, 3}, mg_ignore, mg_ignore}
};
static int m_part(struct MsgBuf *, struct Client *, struct Client *, int, const char **);
struct Message part_msgtab = {
- "PART", 0, 0, 0, MFLG_SLOW,
+ "PART", 0, 0, 0, 0,
{mg_unreg, {m_part, 2}, {m_part, 2}, mg_ignore, mg_ignore, {m_part, 2}}
};
static int ms_quit(struct MsgBuf *, struct Client *, struct Client *, int, const char **);
struct Message quit_msgtab = {
- "QUIT", 0, 0, 0, MFLG_SLOW | MFLG_UNREG,
+ "QUIT", 0, 0, 0, 0,
{{m_quit, 0}, {m_quit, 0}, {ms_quit, 0}, mg_ignore, mg_ignore, {m_quit, 0}}
};
static int ms_sid(struct MsgBuf *, struct Client *, struct Client *, int, const char **);
struct Message server_msgtab = {
- "SERVER", 0, 0, 0, MFLG_SLOW | MFLG_UNREG,
+ "SERVER", 0, 0, 0, 0,
{{mr_server, 4}, mg_reg, mg_ignore, {ms_server, 4}, mg_ignore, mg_reg}
};
struct Message sid_msgtab = {
- "SID", 0, 0, 0, MFLG_SLOW,
+ "SID", 0, 0, 0, 0,
{mg_ignore, mg_reg, mg_ignore, {ms_sid, 5}, mg_ignore, mg_reg}
};
static int mo_squit(struct MsgBuf *, struct Client *, struct Client *, int, const char **);
struct Message squit_msgtab = {
- "SQUIT", 0, 0, 0, MFLG_SLOW,
+ "SQUIT", 0, 0, 0, 0,
{mg_unreg, mg_not_oper, {ms_squit, 0}, {ms_squit, 0}, mg_ignore, {mo_squit, 2}}
};
static void list_accepts(struct Client *);
struct Message accept_msgtab = {
- "ACCEPT", 0, 0, 0, MFLG_SLOW | MFLG_UNREG,
+ "ACCEPT", 0, 0, 0, 0,
{mg_unreg, {m_accept, 2}, mg_ignore, mg_ignore, mg_ignore, {m_accept, 2}}
};
static void admin_spy(struct Client *);
struct Message admin_msgtab = {
- "ADMIN", 0, 0, 0, MFLG_SLOW | MFLG_UNREG,
+ "ADMIN", 0, 0, 0, 0,
{{mr_admin, 0}, {m_admin, 0}, {ms_admin, 0}, mg_ignore, mg_ignore, {ms_admin, 0}}
};
static int m_away(struct MsgBuf *, struct Client *, struct Client *, int, const char **);
struct Message away_msgtab = {
- "AWAY", 0, 0, 0, MFLG_SLOW,
+ "AWAY", 0, 0, 0, 0,
{mg_unreg, {m_away, 0}, {m_away, 0}, mg_ignore, mg_ignore, {m_away, 0}}
};
static int modinit(void);
struct Message cap_msgtab = {
- "CAP", 0, 0, 0, MFLG_SLOW,
+ "CAP", 0, 0, 0, 0,
{{m_cap, 2}, {m_cap, 2}, mg_ignore, mg_ignore, mg_ignore, {m_cap, 2}}
};
static int me_gcap(struct MsgBuf *, struct Client *, struct Client *, int, const char **);
struct Message capab_msgtab = {
- "CAPAB", 0, 0, 0, MFLG_SLOW | MFLG_UNREG,
+ "CAPAB", 0, 0, 0, 0,
{{mr_capab, 2}, mg_ignore, mg_ignore, mg_ignore, mg_ignore, mg_ignore}
};
struct Message gcap_msgtab = {
- "GCAP", 0, 0, 0, MFLG_SLOW,
+ "GCAP", 0, 0, 0, 0,
{mg_ignore, mg_ignore, mg_ignore, mg_ignore, {me_gcap, 2}, mg_ignore}
};
static int me_certfp(struct MsgBuf *, struct Client *, struct Client *, int, const char **);
struct Message certfp_msgtab = {
- "CERTFP", 0, 0, 0, MFLG_SLOW,
+ "CERTFP", 0, 0, 0, 0,
{mg_unreg, mg_ignore, mg_ignore, mg_ignore, {me_certfp, 2}, mg_ignore}
};
/* We have openssl support, so include /CHALLENGE */
struct Message challenge_msgtab = {
- "CHALLENGE", 0, 0, 0, MFLG_SLOW,
+ "CHALLENGE", 0, 0, 0, 0,
{mg_unreg, {m_challenge, 2}, mg_ignore, mg_ignore, mg_ignore, {m_challenge, 2}}
};
static int mo_chghost(struct MsgBuf *, struct Client *, struct Client *, int, const char **);
struct Message realhost_msgtab = {
- "REALHOST", 0, 0, 0, MFLG_SLOW,
+ "REALHOST", 0, 0, 0, 0,
{mg_ignore, mg_ignore, mg_ignore, mg_ignore, {me_realhost, 2}, mg_ignore}
};
struct Message chghost_msgtab = {
- "CHGHOST", 0, 0, 0, MFLG_SLOW,
+ "CHGHOST", 0, 0, 0, 0,
{mg_ignore, mg_not_oper, {ms_chghost, 3}, {ms_chghost, 3}, {me_chghost, 3}, {mo_chghost, 3}}
};
static int mo_close(struct MsgBuf *, struct Client *, struct Client *, int, const char **);
struct Message close_msgtab = {
- "CLOSE", 0, 0, 0, MFLG_SLOW,
+ "CLOSE", 0, 0, 0, 0,
{mg_unreg, mg_not_oper, mg_ignore, mg_ignore, mg_ignore, {mo_close, 0}}
};
}
struct Message cprivmsg_msgtab = {
- "CPRIVMSG", 0, 0, 0, MFLG_SLOW,
+ "CPRIVMSG", 0, 0, 0, 0,
{mg_ignore, {m_cprivmsg, 4}, mg_ignore, mg_ignore, mg_ignore, {m_cprivmsg, 4}}
};
struct Message cnotice_msgtab = {
- "CNOTICE", 0, 0, 0, MFLG_SLOW,
+ "CNOTICE", 0, 0, 0, 0,
{mg_ignore, {m_cnotice, 4}, mg_ignore, mg_ignore, mg_ignore, {m_cnotice, 4}}
};
static int ms_connect(struct MsgBuf *, struct Client *, struct Client *, int, const char **);
struct Message connect_msgtab = {
- "CONNECT", 0, 0, 0, MFLG_SLOW,
+ "CONNECT", 0, 0, 0, 0,
{mg_unreg, mg_not_oper, {ms_connect, 4}, {ms_connect, 4}, mg_ignore, {mo_connect, 2}}
};
static int me_undline(struct MsgBuf *, struct Client *, struct Client *, int, const char **);
struct Message dline_msgtab = {
- "DLINE", 0, 0, 0, MFLG_SLOW,
+ "DLINE", 0, 0, 0, 0,
{mg_unreg, mg_not_oper, mg_ignore, mg_ignore, {me_dline, 4}, {mo_dline, 2}}
};
struct Message undline_msgtab = {
- "UNDLINE", 0, 0, 0, MFLG_SLOW,
+ "UNDLINE", 0, 0, 0, 0,
{mg_unreg, mg_not_oper, mg_ignore, mg_ignore, {me_undline, 2}, {mo_undline, 2}}
};
int parc, const char *parv[]);
struct Message encap_msgtab = {
- "ENCAP", 0, 0, 0, MFLG_SLOW,
+ "ENCAP", 0, 0, 0, 0,
{mg_ignore, mg_ignore, {ms_encap, 3}, {ms_encap, 3}, mg_ignore, mg_ignore}
};
static int mo_masktrace(struct MsgBuf *, struct Client *, struct Client *, int, const char **);
struct Message etrace_msgtab = {
- "ETRACE", 0, 0, 0, MFLG_SLOW,
+ "ETRACE", 0, 0, 0, 0,
{mg_ignore, mg_not_oper, mg_ignore, mg_ignore, {me_etrace, 0}, {mo_etrace, 0}}
};
struct Message chantrace_msgtab = {
- "CHANTRACE", 0, 0, 0, MFLG_SLOW,
+ "CHANTRACE", 0, 0, 0, 0,
{mg_ignore, {m_chantrace, 2}, mg_ignore, mg_ignore, mg_ignore, {m_chantrace, 2}}
};
struct Message masktrace_msgtab = {
- "MASKTRACE", 0, 0, 0, MFLG_SLOW,
+ "MASKTRACE", 0, 0, 0, 0,
{mg_ignore, mg_not_oper, mg_ignore, mg_ignore, mg_ignore, {mo_masktrace, 2}}
};
static int do_grant(struct Client *source_p, struct Client *target_p, const char *new_privset);
struct Message grant_msgtab = {
- "GRANT", 0, 0, 0, MFLG_SLOW,
+ "GRANT", 0, 0, 0, 0,
{ mg_ignore, mg_not_oper, mg_ignore, mg_ignore, {me_grant, 3}, {mo_grant, 3}}
};
static void dohelp(struct Client *, int, const char *);
struct Message help_msgtab = {
- "HELP", 0, 0, 0, MFLG_SLOW,
+ "HELP", 0, 0, 0, 0,
{mg_unreg, {m_help, 0}, mg_ignore, mg_ignore, mg_ignore, {mo_help, 0}}
};
struct Message uhelp_msgtab = {
- "UHELP", 0, 0, 0, MFLG_SLOW,
+ "UHELP", 0, 0, 0, 0,
{mg_unreg, {m_help, 0}, mg_ignore, mg_ignore, mg_ignore, {mo_uhelp, 0}}
};
static int mo_info(struct MsgBuf *, struct Client *, struct Client *, int, const char **);
struct Message info_msgtab = {
- "INFO", 0, 0, 0, MFLG_SLOW,
+ "INFO", 0, 0, 0, 0,
{mg_unreg, {m_info, 0}, {mo_info, 0}, mg_ignore, mg_ignore, {mo_info, 0}}
};
static int m_invite(struct MsgBuf *, struct Client *, struct Client *, int, const char **);
struct Message invite_msgtab = {
- "INVITE", 0, 0, 0, MFLG_SLOW,
+ "INVITE", 0, 0, 0, 0,
{mg_unreg, {m_invite, 3}, {m_invite, 3}, mg_ignore, mg_ignore, {m_invite, 3}}
};
mapi_clist_av1 invite_clist[] = { &invite_msgtab, NULL };
static int m_ison(struct MsgBuf *, struct Client *, struct Client *, int, const char **);
struct Message ison_msgtab = {
- "ISON", 0, 0, 0, MFLG_SLOW,
+ "ISON", 0, 0, 0, 0,
{mg_unreg, {m_ison, 2}, mg_ignore, mg_ignore, mg_ignore, {m_ison, 2}}
};
static int me_unkline(struct MsgBuf *, struct Client *, struct Client *, int, const char **);
struct Message kline_msgtab = {
- "KLINE", 0, 0, 0, MFLG_SLOW,
+ "KLINE", 0, 0, 0, 0,
{mg_unreg, mg_not_oper, {ms_kline, 5}, {ms_kline, 5}, {me_kline, 5}, {mo_kline, 3}}
};
struct Message unkline_msgtab = {
- "UNKLINE", 0, 0, 0, MFLG_SLOW,
+ "UNKLINE", 0, 0, 0, 0,
{mg_unreg, mg_not_oper, {ms_unkline, 4}, {ms_unkline, 4}, {me_unkline, 3}, {mo_unkline, 2}}
};
static int m_knock(struct MsgBuf *, struct Client *, struct Client *, int, const char **);
struct Message knock_msgtab = {
- "KNOCK", 0, 0, 0, MFLG_SLOW,
+ "KNOCK", 0, 0, 0, 0,
{mg_unreg, {m_knock, 2}, {m_knock, 2}, mg_ignore, mg_ignore, {m_knock, 2}}
};
static char * clean_string(char *dest, const unsigned char *src, size_t len);
struct Message links_msgtab = {
- "LINKS", 0, 0, 0, MFLG_SLOW,
+ "LINKS", 0, 0, 0, 0,
{mg_unreg, {m_links, 0}, {mo_links, 0}, mg_ignore, mg_ignore, {mo_links, 0}}
};
static void safelist_channel_named(struct Client *source_p, const char *name, int operspy);
struct Message list_msgtab = {
- "LIST", 0, 0, 0, MFLG_SLOW,
+ "LIST", 0, 0, 0, 0,
{mg_unreg, {m_list, 0}, mg_ignore, mg_ignore, mg_ignore, {mo_list, 0}}
};
static int me_locops(struct MsgBuf *, struct Client *, struct Client *, int, const char **);
struct Message locops_msgtab = {
- "LOCOPS", 0, 0, 0, MFLG_SLOW,
+ "LOCOPS", 0, 0, 0, 0,
{mg_unreg, mg_not_oper, {ms_locops, 3}, mg_ignore, {me_locops, 2}, {m_locops, 2}}
};
static int ms_lusers(struct MsgBuf *, struct Client *, struct Client *, int, const char **);
struct Message lusers_msgtab = {
- "LUSERS", 0, 0, 0, MFLG_SLOW,
+ "LUSERS", 0, 0, 0, 0,
{mg_unreg, {m_lusers, 0}, {ms_lusers, 0}, mg_ignore, mg_ignore, {ms_lusers, 0}}
};
static int mo_map(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *source_p, int parc, const char *parv[]);
struct Message map_msgtab = {
- "MAP", 0, 0, 0, MFLG_SLOW,
+ "MAP", 0, 0, 0, 0,
{mg_unreg, {m_map, 0}, mg_ignore, mg_ignore, mg_ignore, {mo_map, 0}}
};
static int m_monitor(struct MsgBuf *, struct Client *, struct Client *, int, const char **);
struct Message monitor_msgtab = {
- "MONITOR", 0, 0, 0, MFLG_SLOW,
+ "MONITOR", 0, 0, 0, 0,
{mg_unreg, {m_monitor, 2}, mg_ignore, mg_ignore, mg_ignore, {m_monitor, 2}}
};
static int mo_motd(struct MsgBuf *, struct Client *, struct Client *, int, const char **);
struct Message motd_msgtab = {
- "MOTD", 0, 0, 0, MFLG_SLOW,
+ "MOTD", 0, 0, 0, 0,
{mg_unreg, {m_motd, 0}, {mo_motd, 0}, mg_ignore, mg_ignore, {mo_motd, 0}}
};
static int m_names(struct MsgBuf *, struct Client *, struct Client *, int, const char **);
struct Message names_msgtab = {
- "NAMES", 0, 0, 0, MFLG_SLOW,
+ "NAMES", 0, 0, 0, 0,
{mg_unreg, {m_names, 0}, mg_ignore, mg_ignore, mg_ignore, {m_names, 0}}
};
static int m_oper(struct MsgBuf *, struct Client *, struct Client *, int, const char **);
struct Message oper_msgtab = {
- "OPER", 0, 0, 0, MFLG_SLOW,
+ "OPER", 0, 0, 0, 0,
{mg_unreg, {m_oper, 3}, mg_ignore, mg_ignore, mg_ignore, {m_oper, 3}}
};
int parc, const char *parv[]);
struct Message operspy_msgtab = {
- "OPERSPY", 0, 0, 0, MFLG_SLOW,
+ "OPERSPY", 0, 0, 0, 0,
{mg_ignore, mg_ignore, mg_ignore, mg_ignore, {ms_operspy, 2}, mg_ignore}
};
static int mr_pass(struct MsgBuf *, struct Client *, struct Client *, int, const char **);
struct Message pass_msgtab = {
- "PASS", 0, 0, 0, MFLG_SLOW | MFLG_UNREG,
+ "PASS", 0, 0, 0, 0,
{{mr_pass, 2}, mg_reg, mg_ignore, mg_ignore, mg_ignore, mg_reg}
};
static int ms_ping(struct MsgBuf *, struct Client *, struct Client *, int, const char **);
struct Message ping_msgtab = {
- "PING", 0, 0, 0, MFLG_SLOW,
+ "PING", 0, 0, 0, 0,
{mg_unreg, {m_ping, 2}, {ms_ping, 2}, {ms_ping, 2}, mg_ignore, {m_ping, 2}}
};
static int ms_pong(struct MsgBuf *, struct Client *, struct Client *, int, const char **);
struct Message pong_msgtab = {
- "PONG", 0, 0, 0, MFLG_SLOW | MFLG_UNREG,
+ "PONG", 0, 0, 0, 0,
{{mr_pong, 0}, mg_ignore, mg_ignore, {ms_pong, 2}, mg_ignore, mg_ignore}
};
static int mr_dumb_proxy(struct MsgBuf *, struct Client *, struct Client *, int, const char **);
struct Message post_msgtab = {
- "POST", 0, 0, 0, MFLG_SLOW | MFLG_UNREG,
+ "POST", 0, 0, 0, 0,
{{mr_dumb_proxy, 0}, mg_ignore, mg_ignore, mg_ignore, mg_ignore, mg_ignore}
};
struct Message get_msgtab = {
- "GET", 0, 0, 0, MFLG_SLOW | MFLG_UNREG,
+ "GET", 0, 0, 0, 0,
{{mr_dumb_proxy, 0}, mg_ignore, mg_ignore, mg_ignore, mg_ignore, mg_ignore}
};
struct Message put_msgtab = {
- "PUT", 0, 0, 0, MFLG_SLOW | MFLG_UNREG,
+ "PUT", 0, 0, 0, 0,
{{mr_dumb_proxy, 0}, mg_ignore, mg_ignore, mg_ignore, mg_ignore, mg_ignore}
};
static int mo_privs(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *source_p, int parc, const char *parv[]);
struct Message privs_msgtab = {
- "PRIVS", 0, 0, 0, MFLG_SLOW,
+ "PRIVS", 0, 0, 0, 0,
{mg_unreg, {m_privs, 0}, mg_ignore, mg_ignore, {me_privs, 0}, {mo_privs, 0}}
};
static int me_rehash(struct MsgBuf *, struct Client *, struct Client *, int, const char **);
struct Message rehash_msgtab = {
- "REHASH", 0, 0, 0, MFLG_SLOW,
+ "REHASH", 0, 0, 0, 0,
{mg_unreg, mg_not_oper, mg_ignore, mg_ignore, {me_rehash, 0}, {mo_rehash, 0}}
};
static int do_restart(struct Client *source_p, const char *servername);
struct Message restart_msgtab = {
- "RESTART", 0, 0, 0, MFLG_SLOW,
+ "RESTART", 0, 0, 0, 0,
{mg_unreg, mg_not_oper, mg_ignore, mg_ignore, {me_restart, 1}, {mo_restart, 0}}
};
static int me_unresv(struct MsgBuf *, struct Client *, struct Client *, int, const char **);
struct Message resv_msgtab = {
- "RESV", 0, 0, 0, MFLG_SLOW | MFLG_UNREG,
+ "RESV", 0, 0, 0, 0,
{mg_ignore, mg_not_oper, {ms_resv, 4}, {ms_resv, 4}, {me_resv, 5}, {mo_resv, 3}}
};
struct Message unresv_msgtab = {
- "UNRESV", 0, 0, 0, MFLG_SLOW | MFLG_UNREG,
+ "UNRESV", 0, 0, 0, 0,
{mg_ignore, mg_not_oper, {ms_unresv, 3}, {ms_unresv, 3}, {me_unresv, 2}, {mo_unresv, 2}}
};
static void advertise_sasl_exit(hook_data_client_exit *);
struct Message authenticate_msgtab = {
- "AUTHENTICATE", 0, 0, 0, MFLG_SLOW,
+ "AUTHENTICATE", 0, 0, 0, 0,
{{m_authenticate, 2}, {m_authenticate, 2}, mg_ignore, mg_ignore, mg_ignore, {m_authenticate, 2}}
};
struct Message sasl_msgtab = {
- "SASL", 0, 0, 0, MFLG_SLOW,
+ "SASL", 0, 0, 0, 0,
{mg_ignore, mg_ignore, mg_ignore, mg_ignore, {me_sasl, 5}, mg_ignore}
};
/*static int scan_cmodes(struct MsgBuf *, struct Client *, struct Client *, int, const char **);*/
struct Message scan_msgtab = {
- "SCAN", 0, 0, 0, MFLG_SLOW,
+ "SCAN", 0, 0, 0, 0,
{mg_ignore, mg_not_oper, mg_ignore, mg_ignore, mg_ignore, {mo_scan, 2}}
};
static void h_svc_conf_read_end(void *);
struct Message su_msgtab = {
- "SU", 0, 0, 0, MFLG_SLOW,
+ "SU", 0, 0, 0, 0,
{mg_ignore, mg_ignore, mg_ignore, mg_ignore, {me_su, 2}, mg_ignore}
};
struct Message login_msgtab = {
- "LOGIN", 0, 0, 0, MFLG_SLOW,
+ "LOGIN", 0, 0, 0, 0,
{mg_ignore, mg_ignore, mg_ignore, mg_ignore, {me_login, 2}, mg_ignore}
};
struct Message rsfnc_msgtab = {
- "RSFNC", 0, 0, 0, MFLG_SLOW,
+ "RSFNC", 0, 0, 0, 0,
{mg_ignore, mg_ignore, mg_ignore, mg_ignore, {me_rsfnc, 4}, mg_ignore}
};
struct Message nickdelay_msgtab = {
- "NICKDELAY", 0, 0, 0, MFLG_SLOW,
+ "NICKDELAY", 0, 0, 0, 0,
{mg_unreg, mg_ignore, mg_ignore, mg_ignore, {me_nickdelay, 3}, mg_ignore}
};
static int mo_set(struct MsgBuf *, struct Client *, struct Client *, int, const char **);
struct Message set_msgtab = {
- "SET", 0, 0, 0, MFLG_SLOW,
+ "SET", 0, 0, 0, 0,
{mg_unreg, mg_not_oper, mg_ignore, mg_ignore, mg_ignore, {mo_set, 0}}
};
static void send_signon(struct Client *, struct Client *, const char *, const char *, const char *, unsigned int, const char *);
struct Message svslogin_msgtab = {
- "SVSLOGIN", 0, 0, 0, MFLG_SLOW,
+ "SVSLOGIN", 0, 0, 0, 0,
{mg_ignore, mg_ignore, mg_ignore, mg_ignore, {me_svslogin, 6}, mg_ignore}
};
struct Message signon_msgtab = {
- "SIGNON", 0, 0, 0, MFLG_SLOW,
+ "SIGNON", 0, 0, 0, 0,
{mg_ignore, mg_ignore, {ms_signon, 6}, mg_ignore, mg_ignore, mg_ignore}
};
static int me_snote(struct MsgBuf *, struct Client *, struct Client *, int, const char **);
struct Message snote_msgtab = {
- "SNOTE", 0, 0, 0, MFLG_SLOW,
+ "SNOTE", 0, 0, 0, 0,
{mg_ignore, mg_not_oper, mg_ignore, mg_ignore, {me_snote, 3}, mg_ignore}
};
static int mr_starttls(struct MsgBuf *, struct Client *, struct Client *, int, const char **);
struct Message starttls_msgtab = {
- "STARTTLS", 0, 0, 0, MFLG_SLOW,
+ "STARTTLS", 0, 0, 0, 0,
{{mr_starttls, 0}, mg_ignore, mg_ignore, mg_ignore, mg_ignore, mg_ignore}
};
static int m_stats (struct MsgBuf *, struct Client *, struct Client *, int, const char **);
struct Message stats_msgtab = {
- "STATS", 0, 0, 0, MFLG_SLOW,
+ "STATS", 0, 0, 0, 0,
{mg_unreg, {m_stats, 2}, {m_stats, 3}, mg_ignore, mg_ignore, {m_stats, 2}}
};
static int ms_svinfo(struct MsgBuf *, struct Client *, struct Client *, int, const char **);
struct Message svinfo_msgtab = {
- "SVINFO", 0, 0, 0, MFLG_SLOW,
+ "SVINFO", 0, 0, 0, 0,
{mg_unreg, mg_ignore, mg_ignore, {ms_svinfo, 5}, mg_ignore, mg_ignore}
};
static int ms_etb(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *source_p, int parc, const char *parv[]);
struct Message tb_msgtab = {
- "TB", 0, 0, 0, MFLG_SLOW,
+ "TB", 0, 0, 0, 0,
{mg_unreg, mg_ignore, mg_ignore, {ms_tb, 4}, mg_ignore, mg_ignore}
};
struct Message etb_msgtab = {
- "ETB", 0, 0, 0, MFLG_SLOW,
+ "ETB", 0, 0, 0, 0,
{mg_unreg, mg_ignore, {ms_etb, 5}, {ms_etb, 5}, mg_ignore, mg_ignore}
};
static int mo_testgecos(struct MsgBuf *, struct Client *, struct Client *, int, const char **);
struct Message testline_msgtab = {
- "TESTLINE", 0, 0, 0, MFLG_SLOW,
+ "TESTLINE", 0, 0, 0, 0,
{mg_unreg, mg_not_oper, mg_ignore, mg_ignore, mg_ignore, {mo_testline, 2}}
};
struct Message testgecos_msgtab = {
- "TESTGECOS", 0, 0, 0, MFLG_SLOW,
+ "TESTGECOS", 0, 0, 0, 0,
{mg_unreg, mg_not_oper, mg_ignore, mg_ignore, mg_ignore, {mo_testgecos, 2}}
};
int parc, const char *parv[]);
struct Message testmask_msgtab = {
- "TESTMASK", 0, 0, 0, MFLG_SLOW,
+ "TESTMASK", 0, 0, 0, 0,
{mg_unreg, mg_not_oper, mg_ignore, mg_ignore, mg_ignore, {mo_testmask, 2}}
};
static int me_tginfo(struct MsgBuf *, struct Client *, struct Client *, int, const char **);
struct Message tginfo_msgtab = {
- "TGINFO", 0, 0, 0, MFLG_SLOW,
+ "TGINFO", 0, 0, 0, 0,
{mg_unreg, mg_ignore, mg_ignore, mg_ignore, {me_tginfo, 2}, mg_ignore}
};
static char *date(void);
struct Message time_msgtab = {
- "TIME", 0, 0, 0, MFLG_SLOW,
+ "TIME", 0, 0, 0, 0,
{mg_unreg, {m_time, 0}, {m_time, 2}, mg_ignore, mg_ignore, {m_time, 0}}
};
static int ms_topic(struct MsgBuf *, struct Client *, struct Client *, int, const char **);
struct Message topic_msgtab = {
- "TOPIC", 0, 0, 0, MFLG_SLOW,
+ "TOPIC", 0, 0, 0, 0,
{mg_unreg, {m_topic, 2}, {m_topic, 2}, {ms_topic, 5}, mg_ignore, {m_topic, 2}}
};
static void trace_spy(struct Client *, struct Client *);
struct Message trace_msgtab = {
- "TRACE", 0, 0, 0, MFLG_SLOW,
+ "TRACE", 0, 0, 0, 0,
{mg_unreg, {m_trace, 0}, {m_trace, 0}, mg_ignore, mg_ignore, {m_trace, 0}}
};
static int mo_unreject(struct MsgBuf *, struct Client *, struct Client *, int, const char **);
struct Message unreject_msgtab = {
- "UNREJECT", 0, 0, 0, MFLG_SLOW,
+ "UNREJECT", 0, 0, 0, 0,
{mg_unreg, mg_not_oper, mg_ignore, mg_ignore, mg_ignore, {mo_unreject, 2}}
};
static int mr_user(struct MsgBuf *, struct Client *, struct Client *, int, const char **);
struct Message user_msgtab = {
- "USER", 0, 0, 0, MFLG_SLOW,
+ "USER", 0, 0, 0, 0,
{{mr_user, 5}, mg_reg, mg_ignore, mg_ignore, mg_ignore, mg_reg}
};
static int m_userhost(struct MsgBuf *, struct Client *, struct Client *, int, const char **);
struct Message userhost_msgtab = {
- "USERHOST", 0, 0, 0, MFLG_SLOW,
+ "USERHOST", 0, 0, 0, 0,
{mg_unreg, {m_userhost, 2}, mg_ignore, mg_ignore, mg_ignore, {m_userhost, 2}}
};
static int m_users(struct MsgBuf *, struct Client *, struct Client *, int, const char **);
struct Message users_msgtab = {
- "USERS", 0, 0, 0, MFLG_SLOW,
+ "USERS", 0, 0, 0, 0,
{mg_unreg, {m_users, 0}, {m_users, 0}, mg_ignore, mg_ignore, {m_users, 0}}
};
static int mo_version(struct MsgBuf *, struct Client *, struct Client *, int, const char **);
struct Message version_msgtab = {
- "VERSION", 0, 0, 0, MFLG_SLOW,
+ "VERSION", 0, 0, 0, 0,
{mg_unreg, {m_version, 0}, {mo_version, 0}, {mo_version, 0}, mg_ignore, {mo_version, 0}}
};
static int ms_wallops(struct MsgBuf *, struct Client *, struct Client *, int, const char **);
struct Message wallops_msgtab = {
- "WALLOPS", 0, 0, 0, MFLG_SLOW,
+ "WALLOPS", 0, 0, 0, 0,
{mg_unreg, mg_not_oper, {ms_wallops, 2}, {ms_wallops, 2}, mg_ignore, {ms_wallops, 2}}
};
struct Message operwall_msgtab = {
- "OPERWALL", 0, 0, 0, MFLG_SLOW,
+ "OPERWALL", 0, 0, 0, 0,
{mg_unreg, mg_not_oper, {ms_operwall, 2}, mg_ignore, mg_ignore, {mo_operwall, 2}}
};
static int m_who(struct MsgBuf *, struct Client *, struct Client *, int, const char **);
struct Message who_msgtab = {
- "WHO", 0, 0, 0, MFLG_SLOW,
+ "WHO", 0, 0, 0, 0,
{mg_unreg, {m_who, 2}, mg_ignore, mg_ignore, mg_ignore, {m_who, 2}}
};
static int ms_whois(struct MsgBuf *, struct Client *, struct Client *, int, const char **);
struct Message whois_msgtab = {
- "WHOIS", 0, 0, 0, MFLG_SLOW,
+ "WHOIS", 0, 0, 0, 0,
{mg_unreg, {m_whois, 2}, {ms_whois, 2}, mg_ignore, mg_ignore, {m_whois, 2}}
};
static int m_whowas(struct MsgBuf *, struct Client *, struct Client *, int, const char **);
struct Message whowas_msgtab = {
- "WHOWAS", 0, 0, 0, MFLG_SLOW,
+ "WHOWAS", 0, 0, 0, 0,
{mg_unreg, {m_whowas, 2}, {m_whowas, 4}, mg_ignore, mg_ignore, {m_whowas, 2}}
};
const char *parv[]);
struct Message xline_msgtab = {
- "XLINE", 0, 0, 0, MFLG_SLOW,
+ "XLINE", 0, 0, 0, 0,
{mg_unreg, mg_not_oper, {ms_xline, 5}, {ms_xline, 5}, {me_xline, 5}, {mo_xline, 3}}
};
struct Message unxline_msgtab = {
- "UNXLINE", 0, 0, 0, MFLG_SLOW,
+ "UNXLINE", 0, 0, 0, 0,
{mg_unreg, mg_not_oper, {ms_unxline, 3}, {ms_unxline, 3}, {me_unxline, 2}, {mo_unxline, 2}}
};