2004-05-09 Michael Poole <mdpoole@troilus.org>
authorMichael Poole <mdpoole@troilus.org>
Mon, 10 May 2004 03:08:16 +0000 (03:08 +0000)
committerMichael Poole <mdpoole@troilus.org>
Mon, 10 May 2004 03:08:16 +0000 (03:08 +0000)
commitb44d5859e9dbca964d833742b08dbd3ecde318e1
tree238d378be2e8252a542f166c95669f25fbd82dc7
parent592e569802dbc1d90a0095d6f8fed409d6bf8c39
2004-05-09  Michael Poole <mdpoole@troilus.org>

Forward port of Paul "Zoot" Chang's pseudo-command.patch and
pseudo-support.patch.

* doc/example.conf: Illustrate how to use the feature.

* include/handlers.h (m_pseudo): Declare new handler function.

* include/ircd_features.h (HIS_STATS_R): Add a feature to control
user visibility of the pseudo-commands.

* include/msg.h: Add flag and field for the extra information used
to select a pseudo-command's target.

* include/numeric.h (RPL_STATSRLINE, ERR_SERVICESDOWN): Add
definitions.

* include/parse.h (register_mapping, unregister_mapping): Declare.

* include/s_conf.h (struct nick_host, struct s_map,
GlobalServiceMapList): Define.

* ircd/Makefile.in: Add m_pseudo.c to IRCD_SRC.  Add generated
files to "make depend" dependency list.  Update dependencies.

* ircd/ircd_features.c (HIS_STATS_R): Define feature type and
default value.

* ircd/ircd_lexer.l (pseudo, prepend): Recognize new tokens.

* ircd/ircd_parser.y: Support "Pseudo" configuration blocks.

* ircd/parse.c (msgtab): Add initializer for field "extra" to all
commands.
(msg_tree_insert, msg_tree_remove, register_mapping,
unregister_mapping): New functions.
(parse_client): Implement MFLG_EXTRA extra argument passing.

* ircd/s_conf.c (GlobalServiceMapList): New variable.

* ircd/s_err.c (RPL_STATRLINE, ERR_SERVICESDOWN): Add format
strings for new numeric responses.

* ircd/s_stats.c (stats_mapping): New function.
(statsinfo): Add entry for /stats R and make old /stats r entry
case-sensitive.

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@1037 c9e4aea6-c8fd-4c43-8297-357d70d61c8c
16 files changed:
ChangeLog
doc/example.conf
include/handlers.h
include/ircd_features.h
include/msg.h
include/numeric.h
include/parse.h
include/s_conf.h
ircd/Makefile.in
ircd/ircd_features.c
ircd/ircd_lexer.l
ircd/ircd_parser.y
ircd/parse.c
ircd/s_conf.c
ircd/s_err.c
ircd/s_stats.c