Commit [39112f] Maximize Restore History

Author: Kev <klmitch@mit.edu>
Log message:

1) Implement the concept of a "delayed" /die or /restart.

If you type "/restart", your server restarts normally. However, you can
also give it a time, i.e. "/restart 300", causing it to wait 300 seconds
before restarting, sending warning messages to all your users a la UNIX
"shutdown" command. You can cancel a pending restart with "/restart
cancel". You can even give a reason: "/restart 300 :Upgrading to new
server version" (note the ':'). Both the time and the reason are optional,
and the only restrictions are that the reason cannot start off with numbers
or be the word "cancel" if you omit the time :)

2) Implement restrictions on new connections.

If you have a delayed /die or /restart pending, new connections will be
rejected with a notice that the server is restarting. You can make certain
ports exempt from this restriction by adding "exempt = yes;" to the port
block--you may want to do this on any ports specifically for your opers, so
that you can get in and stop a pending /die or /restart if necessary.

3) Implement network-triggered /rehash, /die, and /restart.

NOTE: These features default to disabled. They are mostly intended for
centrally managed IRC networks...

It is now possible to issue a /rehash, /die, or /restart remotely (but only
from a pseudo-server connection, such as euworld). These commands may be
issued either to specific servers or to every network server. In all
cases, the first argument must be either "*" or the numeric of the target
server. For /rehash, the optional argument is interpreted as for oper-
issued /rehash. For /restart and /die, the delay time and reason must be
specified...even if the delay time is set to "cancel". Note that using a
delay time of 0 may not do what you want in the case of the entire network;
the message may not get propagated to every server due to how buffering in
ircu works.

This feature is under control of the NETWORK_REHASH, NETWORK_DIE, and
NETWORK_RESTART features, and defaults to FALSE. Make sure you know what
you're doing before enabling these features.

4) Regenerated ./configure and all the Makefile.in's.

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@1865 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

Kevin L. Mitchell Kevin L. Mitchell 2008-03-16

1 2 > >> (Page 1 of 2)
changed ChangeLog
changed Makefile.in
changed aclocal.m4
changed configure
changed doc
changed doc/example.conf
changed doc/readme.features
changed include
changed include/handlers.h
changed include/ircd.h
changed include/ircd_features.h
changed include/listener.h
changed include/msg.h
changed include/send.h
changed ircd
changed ircd/Makefile.in
changed ircd/engine_devpoll.c
changed ircd/engine_epoll.c
changed ircd/engine_kqueue.c
changed ircd/engine_poll.c
changed ircd/engine_select.c
changed ircd/ircd.c
changed ircd/ircd_features.c
changed ircd/ircd_lexer.l
changed ircd/ircd_parser.y
ChangeLog Diff Switch to side-by-side view
Loading...
Makefile.in Diff Switch to side-by-side view
Loading...
aclocal.m4 Diff Switch to side-by-side view
Loading...
configure Diff Switch to side-by-side view
Loading...
doc
Directory.
doc/example.conf Diff Switch to side-by-side view
Loading...
doc/readme.features Diff Switch to side-by-side view
Loading...
include
Directory.
include/handlers.h Diff Switch to side-by-side view
Loading...
include/ircd.h Diff Switch to side-by-side view
Loading...
include/ircd_features.h Diff Switch to side-by-side view
Loading...
include/listener.h Diff Switch to side-by-side view
Loading...
include/msg.h Diff Switch to side-by-side view
Loading...
include/send.h Diff Switch to side-by-side view
Loading...
ircd
Directory.
ircd/Makefile.in Diff Switch to side-by-side view
Loading...
ircd/engine_devpoll.c Diff Switch to side-by-side view
Loading...
ircd/engine_epoll.c Diff Switch to side-by-side view
Loading...
ircd/engine_kqueue.c Diff Switch to side-by-side view
Loading...
ircd/engine_poll.c Diff Switch to side-by-side view
Loading...
ircd/engine_select.c Diff Switch to side-by-side view
Loading...
ircd/ircd.c Diff Switch to side-by-side view
Loading...
ircd/ircd_features.c Diff Switch to side-by-side view
Loading...
ircd/ircd_lexer.l Diff Switch to side-by-side view
Loading...
ircd/ircd_parser.y Diff Switch to side-by-side view
Loading...
1 2 > >> (Page 1 of 2)